summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-oe/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-graphics')
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc85
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch61
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch62
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch60
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch116
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb30
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb73
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch1854
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb60
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch69
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb114
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch21
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch53
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb51
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch860
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch32
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb22
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi9533
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi19018
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules1955
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb54
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch42
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch101
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch40
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb49
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch48
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch687
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb41
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch36
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch35
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf4
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb80
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch54
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb56
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb40
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch50
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch62
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb132
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh8
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb82
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf16
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb47
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb37
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt97
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb32
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb39
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch86
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb19
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb9
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb15
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb16
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb12
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi11
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules5
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch196
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch34
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb35
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb8
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb23
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch68
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb21
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb20
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb17
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch55
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb14
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb10
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch362
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch28
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch110
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch24
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch85
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch38
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch29
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch25
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch30
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch26
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb45
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh13
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch18
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch621
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch27
-rw-r--r--meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb33
199 files changed, 40914 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
new file mode 100644
index 000000000..9d8c90fdb
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/babl/babl_0.1.28.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Babl is a dynamic, any to any, pixel format conversion library"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6a6a8e020838b23406c81b19c1d46df6"
+
+inherit gnomebase
+
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.1/${BP}.tar.bz2"
+SRC_URI[md5sum] = "cc53d8474a43aafb7cdaccea56cfde44"
+SRC_URI[sha256sum] = "63f3ed23e72a857a0e6df53d9d968a325024177b01edbe314a0c98b499eb8603"
+
+FILES_${PN} += "${libdir}/babl-*/*.so"
+FILES_${PN}-dev += "${libdir}/babl-*/*.la"
+FILES_${PN}-dbg += "${libdir}/babl-*/.debug/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
new file mode 100644
index 000000000..d49a509a0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/cairo/cairomm_1.12.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "C++ bindings for Cairo graphics library"
+
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c46bda00ffbb0ba1dac22f8d087f54d9"
+
+inherit gnomebase
+
+DEPENDS = "cairo libsigc++-2.0"
+
+SRC_URI[archive.md5sum] = "c62b476b61bd0abf7e9851f417d73291"
+SRC_URI[archive.sha256sum] = "a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6"
+
+FILES_${PN}-doc += "${datadir}/devhelp"
+FILES_${PN}-dev += "${libdir}/cairomm-*/"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
new file mode 100644
index 000000000..87e8637ee
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash/0001-configure.ac-Do-not-demand-linker-hash-style.patch
@@ -0,0 +1,28 @@
+From 65e8e3c9c69f41778b6308c2f8f3262c82c6f3e1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 13:57:53 -0700
+Subject: [PATCH] configure.ac: Do not demand linker hash-style
+
+This helps fixing on architectures e.g. mips where gnu hash
+is not supported
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index e1dba23..7bcc039 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -65,7 +65,6 @@ CC_CHECK_CFLAGS_APPEND([ \
+ -ffunction-sections \
+ -fdata-sections \
+ -Wl,-O1 \
+- -Wl,--hash-style=gnu \
+ -Wl,--as-needed \
+ -Wl,--gc-sections])
+
+--
+2.13.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
new file mode 100644
index 000000000..32f081592
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dietsplash/dietsplash_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Simple bootsplash for systemd systems"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+# Really, no depends besides a C library
+
+PV = "0.3"
+PR = "r1"
+
+SRCREV = "ef2e1a390e768e21e6a6268977580ee129a96633"
+SRC_URI = "git://github.com/lucasdemarchi/dietsplash.git \
+ file://0001-configure.ac-Do-not-demand-linker-hash-style.patch \
+ "
+
+inherit autotools
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF = " --with-systemdsystemunitdir=${systemd_unitdir}/system \
+ --disable-staticimages"
+
+FILES_${PN} += "${systemd_unitdir}/system/"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch
new file mode 100644
index 000000000..0717ea6f8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples/configure.in-Fix-string-argument-syntax.patch
@@ -0,0 +1,28 @@
+From 88077ed156a714f32bb408f422278d61611ffd41 Mon Sep 17 00:00:00 2001
+From: Otavio Salvador <otavio@ossystems.com.br>
+Date: Sat, 26 Jul 2014 16:57:46 -0300
+Subject: [PATCH] configure.in: Fix string argument syntax
+
+Upstream-Status: Submitted
+
+Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index bfe1b82..e939bbd 100644
+--- a/configure.in
++++ b/configure.in
+@@ -65,7 +65,7 @@ fi)
+
+ DIRECTFB_REQUIRED_VERSION=1.4.14
+
+-PKG_CHECK_MODULES(DIRECTFB, directfb >= $DIRECTFB_REQUIRED_VERSION,[ WATER=`$PKG_CONFIG --variable=water directfb` ],
++PKG_CHECK_MODULES([DIRECTFB], directfb >= $DIRECTFB_REQUIRED_VERSION,[ WATER=`$PKG_CONFIG --variable=water directfb` ],
+ AC_MSG_ERROR([$DIRECTFB_PKG_ERRORS
+ *** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest version
+ *** of DirectFB is available from http://www.directfb.org/.]))
+--
+1.7.10.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
new file mode 100644
index 000000000..7907c5c0d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb-examples_1.7.0.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Example DirectFB applications"
+DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \
+ applications that can be used to test and demonstrate various DirectFB \
+ features"
+DEPENDS = "directfb"
+SECTION = "libs"
+LICENSE = "MIT"
+
+SRC_URI = " \
+ http://downloads.yoctoproject.org/mirror/sources/DirectFB-examples-${PV}.tar.gz \
+ file://configure.in-Fix-string-argument-syntax.patch \
+ "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f"
+
+S = "${WORKDIR}/DirectFB-examples-${PV}"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "8b60c867af295481c32a8c7fc5802307"
+SRC_URI[sha256sum] = "9a2104cc4da8123c8371813551b66b943198979f745cbebc034bb5e10844122a"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
new file mode 100644
index 000000000..bd66a2820
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb.inc
@@ -0,0 +1,85 @@
+SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
+DESCRIPTION = "DirectFB is a thin library that provides developers \
+with hardware graphics acceleration, input device handling and \
+abstraction, an integrated windowing system with support for \
+translucent windows and multiple display layers on top of the \
+Linux framebuffer device."
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
+
+HOMEPAGE = "http://directfb.org"
+DEPENDS = "jpeg libpng freetype zlib sysfsutils"
+
+SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/DirectFB-${PV}.tar.gz \
+ file://configurefix.patch \
+ file://fusion.patch \
+ file://bashism.patch \
+ file://0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch \
+ file://compar_fn_t.patch \
+ file://union-sigval.patch \
+ file://use-PTHREAD_MUTEX_RECURSIVE.patch \
+ file://fix-client-gfx_state-initialisation.patch \
+ "
+
+S = "${WORKDIR}/DirectFB-${PV}"
+
+LDFLAGS_append = " -lm"
+
+# Workaround for linking issues seen with armv7a + gold
+LDFLAGS_append_arm = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}"
+
+BINCONFIG = "${bindir}/directfb-config"
+
+inherit autotools binconfig-disabled pkgconfig
+
+PACKAGECONFIG ??= "linuxinput"
+PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
+PACKAGECONFIG[drmkms] = "--enable-drmkms,--disable-drmkms,libdrm"
+PACKAGECONFIG[tiff] = "--enable-tiff,--disable-tiff,tiff"
+PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
+PACKAGECONFIG[tslib] = "--with-inputdrivers=tslib,,tslib"
+PACKAGECONFIG[linuxinput] = "--with-inputdrivers=linuxinput,,"
+PACKAGECONFIG[noinput] = "--with-inputdrivers=none,,"
+PACKAGECONFIG[mesa] = "--enable-mesa,--disable-mesa,virtual/mesa,"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,xserver-xorg,"
+
+EXTRA_OECONF = "\
+ --with-gfxdrivers=none \
+ --enable-freetype=yes \
+ --enable-zlib \
+ --disable-imlib2 \
+ --disable-sdl \
+ --disable-vnc \
+ --disable-x11vdpau \
+ --disable-xine-vdpau \
+"
+
+#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
+#this will cause directfb build failure on x86 arch, so filter out it.
+TARGET_CFLAGS_remove_x86 = "-fno-omit-frame-pointer"
+
+#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
+#
+#python populate_packages_prepend () {
+# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
+# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
+#}
+
+# NOTE: monolithic packaging for now, should improve that eventually
+
+FILES_${PN}-dev += "\
+ ${bindir}/directfb-config \
+ ${libdir}/directfb-${RV}/systems/*.la \
+ ${libdir}/directfb-${RV}/inputdrivers/*.la \
+ ${libdir}/directfb-${RV}/interfaces/*/*.la \
+ ${libdir}/directfb-${RV}/wm/*.la \
+"
+
+FILES_${PN} += "\
+ ${libdir}/directfb-${RV}/systems/*.so \
+ ${libdir}/directfb-${RV}/inputdrivers/*.so \
+ ${libdir}/directfb-${RV}/interfaces/*/*.so \
+ ${libdir}/directfb-${RV}/wm/*.so \
+ ${datadir}/directfb-${PV} \
+"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch
new file mode 100644
index 000000000..76e0f7530
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/0001-gfx-direct-Aboid-usng-VLAs-and-printf-formats.patch
@@ -0,0 +1,61 @@
+From f43ef44806ffb8e3b35d99070dde9b6cc1714d3d Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 8 Sep 2015 21:32:20 +0000
+Subject: [PATCH] gfx,direct: Aboid usng VLAs and printf formats
+
+VLAs are flagged by clang when using non-POD types, therefore replace
+the usage with alloca which is exact same allocation on stack
+
+ __attribute__((__format__ (__printf__))) is not portable as used here
+ therefore disable the check for clang here, we lose no functionality
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ lib/direct/util.h | 2 +-
+ src/gfx/util.cpp | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lib/direct/util.h b/lib/direct/util.h
+index 72941e9..8e7fa4a 100644
+--- a/lib/direct/util.h
++++ b/lib/direct/util.h
+@@ -98,7 +98,7 @@
+ #define D_CONST_FUNC
+ #endif
+
+-#if __GNUC__ >= 3
++#if __GNUC__ >= 3 && !defined __clang__
+ #define D_FORMAT_PRINTF(n) __attribute__((__format__ (__printf__, n, n+1)))
+ #define D_FORMAT_VPRINTF(n) __attribute__((__format__ (__printf__, n, 0)))
+ #else
+diff --git a/src/gfx/util.cpp b/src/gfx/util.cpp
+index 40032bc..d1015d4 100644
+--- a/src/gfx/util.cpp
++++ b/src/gfx/util.cpp
+@@ -294,8 +294,8 @@ dfb_gfx_copy_regions_stereo( CoreSurface *source,
+ {
+ unsigned int i, n = 0;
+ DFBRectangle rect = { 0, 0, source->config.size.w, source->config.size.h };
+- DFBRectangle rects[num];
+- DFBPoint points[num];
++ DFBRectangle *rects = (DFBRectangle*)alloca( sizeof(struct DFBRectangle) * num);
++ DFBPoint *points = (DFBPoint*)alloca( sizeof(struct DFBPoint) * num);
+
+ for (i=0; i<num; i++) {
+ DFB_REGION_ASSERT( &regions[i] );
+@@ -351,8 +351,8 @@ dfb_gfx_copy_regions_client( CoreSurface *source,
+ {
+ unsigned int i, n = 0;
+ DFBRectangle rect = { 0, 0, source->config.size.w, source->config.size.h };
+- DFBRectangle rects[num];
+- DFBPoint points[num];
++ DFBRectangle *rects = (DFBRectangle*)alloca( sizeof(struct DFBRectangle) * num);
++ DFBPoint *points = (DFBPoint*)alloca( sizeof(struct DFBPoint) * num);
+ CoreGraphicsStateClient *client = _client ? _client : &StateClient::Get()->client;
+ CardState *state = client->state;
+ CardState backup;
+--
+2.5.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch
new file mode 100644
index 000000000..2ef4e9385
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/bashism.patch
@@ -0,0 +1,18 @@
+${x//y/} is a bash syntax. Replace with something dash compatible
+
+RP 2015/5/3
+Upstream-Status: Pending
+
+Index: DirectFB-1.7.7/configure.in
+===================================================================
+--- DirectFB-1.7.7.orig/configure.in
++++ DirectFB-1.7.7/configure.in
+@@ -2696,7 +2696,7 @@ AM_CONDITIONAL(BUILD_TOOLS, test "$with_
+ AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes")
+
+ CFLAGS="$CFLAGS $DFB_INTERNAL_CFLAGS"
+-CXXFLAGS="$CXXFLAGS ${CFLAGS//-Werror-implicit-function-declaration/}"
++CXXFLAGS="$CXXFLAGS $(printf '%s\n' "$CFLAGS" | sed 's/-Werror-implicit-function-declaration//g')"
+ DFB_LDFLAGS="$LDFLAGS $ZLIB_LIBS"
+
+ CFLAGS="$CFLAGS $CFLAGS_STD"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch
new file mode 100644
index 000000000..ee4d900ba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/compar_fn_t.patch
@@ -0,0 +1,62 @@
+test for __compar_fn_t and if not defined by libc then define it
+help make directfb compile with musl
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: DirectFB-1.7.7/configure.in
+===================================================================
+--- DirectFB-1.7.7.orig/configure.in
++++ DirectFB-1.7.7/configure.in
+@@ -112,6 +112,17 @@ AC_CHECK_SIZEOF(long)
+ AC_CHECK_SIZEOF(long long)
+ AC_CHECK_FUNCS(fork)
+
++AC_CACHE_CHECK([for compar_fn_t in stdlib.h],ccache_cv_COMPAR_FN_T, [
++ AC_TRY_COMPILE(
++ [#include <stdlib.h>],
++ [void test_fn(void) { qsort(NULL, 0, 0, (__compar_fn_t)NULL); }],
++ ccache_cv_COMPAR_FN_T=yes,
++ ccache_cv_COMPAR_FN_T=no)])
++if test x"$ccache_cv_COMPAR_FN_T" = x"yes"; then
++ AC_DEFINE(HAVE_COMPAR_FN_T, 1,
++ Define to 1 if you have the `__compar_fn_t' typedef.)
++fi
++
+ AC_PATH_PROGS(PERL, perl5 perl)
+
+ AC_PATH_PROG(MAN2HTML, man2html, no)
+Index: DirectFB-1.7.7/inputdrivers/lirc/lirc.c
+===================================================================
+--- DirectFB-1.7.7.orig/inputdrivers/lirc/lirc.c
++++ DirectFB-1.7.7/inputdrivers/lirc/lirc.c
+@@ -59,6 +59,11 @@
+
+ #include <core/input_driver.h>
+
++#if HAVE_COMPAR_FN_T
++#define COMPAR_FN_T __compar_fn_t
++#else
++typedef int (*COMPAR_FN_T)(const void *, const void *);
++#endif
+
+ DFB_INPUT_DRIVER( lirc )
+
+@@ -97,7 +102,7 @@ static DFBInputDeviceKeySymbol lirc_pars
+ qsort ( keynames,
+ D_ARRAY_SIZE( keynames ),
+ sizeof(keynames[0]),
+- (__compar_fn_t) keynames_sort_compare );
++ (COMPAR_FN_T) keynames_sort_compare );
+ keynames_sorted = true;
+ }
+
+@@ -124,7 +129,7 @@ static DFBInputDeviceKeySymbol lirc_pars
+ symbol_name = bsearch( name, keynames,
+ D_ARRAY_SIZE( keynames ),
+ sizeof(keynames[0]),
+- (__compar_fn_t) keynames_compare );
++ (COMPAR_FN_T) keynames_compare );
+ if (symbol_name)
+ return symbol_name->symbol;
+ break;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch
new file mode 100644
index 000000000..681154752
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/configurefix.patch
@@ -0,0 +1,60 @@
+Libtool needs these set correctly else we end up with pointless rpaths
+such as the QA warnings:
+
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/pack ages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib
+WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib
+
+Upstream-Status: Pending
+
+RP 2012/03/16
+
+Index: DirectFB-1.4.15/configure.in
+===================================================================
+--- DirectFB-1.4.15.orig/configure.in 2012-03-16 13:32:23.692402879 +0000
++++ DirectFB-1.4.15/configure.in 2012-03-16 13:33:22.312400960 +0000
+@@ -97,13 +97,6 @@
+ AC_CHECK_SIZEOF(long long)
+ AC_CHECK_FUNCS(fork)
+
+-
+-## Work around libstuhl during cross build...
+-if test "$host" != "$build"; then
+- sys_lib_dlsearch_path_spec=""
+- sys_lib_search_path_spec=""
+-fi
+-
+ AC_PATH_PROGS(PERL, perl5 perl)
+
+ AC_PATH_PROG(MAN2HTML, man2html, no)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch
new file mode 100644
index 000000000..57a9b0dc7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fix-client-gfx_state-initialisation.patch
@@ -0,0 +1,38 @@
+From 8e53c0b9cedb62b82e2b7680d793d433b647ae20 Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccurdy@gmail.com>
+Date: Mon, 13 Jun 2016 13:32:44 -0700
+Subject: [PATCH] fix client->gfx_state initialisation
+
+Shortly before the DirectFB 1.7.7 release, an optimisation was added
+to CoreGraphicsStateClient_Init() to avoid creating an extended
+Graphics State object if it will not later be required:
+
+ 4d422fb Client: Create extended Graphics State object when needed for later usage
+
+Unfortunately the client->gfx_state variable used to track the
+extended Graphics State object is not initialised, which can lead to
+crashes etc due to creation of the Graphics State object erroneously
+being skipped.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
+---
+ src/core/CoreGraphicsStateClient.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/core/CoreGraphicsStateClient.cpp b/src/core/CoreGraphicsStateClient.cpp
+index 5d46f0e..5007755 100644
+--- a/src/core/CoreGraphicsStateClient.cpp
++++ b/src/core/CoreGraphicsStateClient.cpp
+@@ -364,6 +364,7 @@ CoreGraphicsStateClient_Init( CoreGraphicsStateClient *client,
+ client->renderer = NULL;
+ client->requestor = NULL;
+ client->throttle = NULL;
++ client->gfx_state = NULL;
+
+ if (dfb_config->task_manager) {
+ if (dfb_config->call_nodirect) {
+--
+1.9.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch
new file mode 100644
index 000000000..1f81a6796
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/fusion.patch
@@ -0,0 +1,36 @@
+directfb: Fix for hangs in direct_test, fusion_skirmish on exit
+
+Upstream-Status: Pending
+Signed-off-by: Lauren Post <lauren.post@freescale.com>
+
+--- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800
++++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800
+@@ -2853,9 +2853,14 @@
+ direct_mutex_lock( &world->event_dispatcher_mutex );
+
+ while (1) {
+- if (!world->event_dispatcher_buffers)
++ if (!world->event_dispatcher_buffers){
+ direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
+-
++ if (world->dispatch_stop) {
++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
++ direct_mutex_unlock( &world->event_dispatcher_mutex );
++ return NULL;
++ }
++ }
+ buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
+ D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer );
+
+@@ -2872,6 +2877,11 @@
+ //D_INFO("waiting...\n");
+ D_ASSERT( buf->read_pos == buf->write_pos );
+ direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
++ if (world->dispatch_stop) {
++ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
++ direct_mutex_unlock( &world->event_dispatcher_mutex );
++ return NULL;
++ }
+ }
+
+ buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch
new file mode 100644
index 000000000..29f45c797
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/union-sigval.patch
@@ -0,0 +1,19 @@
+This patch is taken from gentoo musl overlay
+sigval_t is glibc only construct, we use a union of sigval
+which pretty much is same effect as sigval_t
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff -Naur DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c
+--- DirectFB-1.7.6.orig/lib/direct/os/linux/glibc/system.c 2014-07-15 02:54:58.000000000 -0400
++++ DirectFB-1.7.6/lib/direct/os/linux/glibc/system.c 2015-07-18 16:55:35.077989166 -0400
+@@ -111,7 +111,7 @@
+ void
+ direct_trap( const char *domain, int sig )
+ {
+- sigval_t val;
++ union sigval val;
+
+ if (direct_config->delay_trap_ms) {
+ D_LOG( Direct_Trap, VERBOSE, "NOT RAISING signal %d from %s, waiting for %dms... attach gdb --pid=%d\n", sig, domain, direct_config->delay_trap_ms, getpid() );
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch
new file mode 100644
index 000000000..ac48f68db
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb/use-PTHREAD_MUTEX_RECURSIVE.patch
@@ -0,0 +1,116 @@
+Remove use of DIRECT_RECURSIVE_MUTEX_INITIALIZER its not portable
+use portable way to initialize recursive mutex using pthread_once() and direct_recursive_mutex_init()
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h
+===================================================================
+--- DirectFB-1.7.7.orig/lib/direct/os/linux/glibc/mutex.h
++++ DirectFB-1.7.7/lib/direct/os/linux/glibc/mutex.h
+@@ -46,7 +46,6 @@ struct __D_DirectMutex {
+ /**********************************************************************************************************************/
+
+ #define DIRECT_MUTEX_INITIALIZER(name) { PTHREAD_MUTEX_INITIALIZER }
+-#define DIRECT_RECURSIVE_MUTEX_INITIALIZER(name) { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP }
+
+ #endif
+
+Index: DirectFB-1.7.7/lib/direct/trace.c
+===================================================================
+--- DirectFB-1.7.7.orig/lib/direct/trace.c
++++ DirectFB-1.7.7/lib/direct/trace.c
+@@ -89,8 +89,15 @@ struct __D_DirectTraceBuffer {
+ /**************************************************************************************************/
+
+ static DirectLink *buffers;
+-static DirectMutex buffers_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(buffers_lock);
+
++static pthread_once_t buffers_lock_init_once = PTHREAD_ONCE_INIT;
++static DirectMutex buffers_lock;
++
++static void
++buffers_lock_init( void )
++{
++ direct_recursive_mutex_init(&buffers_lock);
++}
+ /**************************************************************************************************/
+
+ __dfb_no_instrument_function__
+@@ -113,6 +120,7 @@ get_trace_buffer( void )
+
+ D_MAGIC_SET( buffer, DirectTraceBuffer );
+
++ pthread_once(&buffers_lock_init_once, buffers_lock_init);
+ direct_mutex_lock( &buffers_lock );
+ direct_list_append( &buffers, &buffer->link );
+ direct_mutex_unlock( &buffers_lock );
+@@ -138,8 +146,14 @@ typedef struct {
+ } SymbolTable;
+
+ static DirectLink *tables = NULL;
+-static DirectMutex tables_lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(tables_lock);
++static pthread_once_t tables_lock_init_once = PTHREAD_ONCE_INIT;
++static DirectMutex tables_lock;
+
++static void
++tables_lock_init( void )
++{
++ direct_recursive_mutex_init(&tabless_lock);
++}
+
+ __dfb_no_instrument_function__
+ static void
+@@ -370,6 +384,7 @@ direct_trace_lookup_symbol( const char *
+ Symbol *symbol;
+ SymbolTable *table;
+
++ pthread_once(&tables_lock_init_once, tables_lock_init);
+ direct_mutex_lock( &tables_lock );
+
+ table = find_table( filename );
+@@ -514,6 +529,7 @@ direct_trace_print_stacks()
+ DirectTraceBuffer *b;
+ DirectTraceBuffer *buffer = get_trace_buffer();
+
++ pthread_once(&buffers_lock_init_once, buffers_lock_init);
+ direct_mutex_lock( &buffers_lock );
+
+ if (buffer && buffer->level)
+@@ -611,6 +627,7 @@ direct_trace_free_buffer( DirectTraceBuf
+ D_MAGIC_ASSERT( buffer, DirectTraceBuffer );
+
+ if (buffer->thread) {
++ pthread_once(&buffers_lock_init_once, buffers_lock_init);
+ direct_mutex_lock( &buffers_lock );
+ direct_list_remove( &buffers, &buffer->link );
+ direct_mutex_unlock( &buffers_lock );
+Index: DirectFB-1.7.7/src/directfb.c
+===================================================================
+--- DirectFB-1.7.7.orig/src/directfb.c
++++ DirectFB-1.7.7/src/directfb.c
+@@ -99,6 +99,15 @@ const unsigned int directfb_micro_versio
+ const unsigned int directfb_binary_age = DIRECTFB_BINARY_AGE;
+ const unsigned int directfb_interface_age = DIRECTFB_INTERFACE_AGE;
+
++static pthread_once_t lock_init_once = PTHREAD_ONCE_INIT;
++static DirectMutex lock;
++
++static void
++lock_init( void )
++{
++ direct_recursive_mutex_init(&lock);
++}
++
+ const char *
+ DirectFBCheckVersion( unsigned int required_major,
+ unsigned int required_minor,
+@@ -215,8 +224,7 @@ DirectFBCreate( IDirectFB **interface_pt
+ if (dfb_config->remote.host)
+ return CreateRemote( dfb_config->remote.host, dfb_config->remote.port, interface_ptr );
+
+- static DirectMutex lock = DIRECT_RECURSIVE_MUTEX_INITIALIZER(lock);
+-
++ pthread_once(&lock_init_once, lock_init);
+ direct_mutex_lock( &lock );
+
+ if (!dfb_config->no_singleton && idirectfb_singleton) {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb
new file mode 100644
index 000000000..c6c070eda
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/directfb/directfb_1.7.7.bb
@@ -0,0 +1,8 @@
+require directfb.inc
+
+RV = "1.7-7"
+
+LEAD_SONAME = "libdirectfb-1.7.so.0"
+
+SRC_URI[md5sum] = "152cf1863b1a3a28aa1370e9053440bf"
+SRC_URI[sha256sum] = "b785c638dc31b8fe3a7c81be1475c89b2255ab3d67b777c747d3fbc52f8027a3"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
new file mode 100644
index 000000000..46d4dbde4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch
@@ -0,0 +1,26 @@
+From 80179c297abb9de2829bd02356257241dd414d70 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Mon, 18 Dec 2017 16:25:54 +0900
+Subject: [PATCH] Do not set PYTHON_INSTALL_DIR by running python.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c66b39..1489ef6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,7 +19,7 @@ else(NOT SPHINX_EXECUTABLE-NOTFOUND)
+ message(STATUS "Could NOT find sphinx-build.")
+ endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+
+-execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
++#execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(), end='')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR)
+ string(REGEX REPLACE "\n$" "" ${PYTHON_INSTALL_DIR} "${PYTHON_INSTALL_DIR}")
+ execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write('%s.%s' % (sys.version_info.major, sys.version_info.minor))" OUTPUT_VARIABLE PYTHON_MAJOR_DOT_MINOR_VERSION)
+ message(STATUS "Python install dir is ${PYTHON_INSTALL_DIR}")
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
new file mode 100644
index 000000000..75b6b8fd9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-Run-python-scripts-using-env.patch
@@ -0,0 +1,25 @@
+From 15d0afcfa4868b7b072b3434bac0064617d61f99 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Tue, 19 Dec 2017 14:53:14 +0900
+Subject: [PATCH] Run python scripts using env
+
+Otherwise the build tools hardcode the python path into them.
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ bin/dnfdragora | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bin/dnfdragora b/bin/dnfdragora
+index b8e0550..cd80f7f 100755
+--- a/bin/dnfdragora
++++ b/bin/dnfdragora
+@@ -1,4 +1,4 @@
+-#!/usr/bin/python3
++#!/usr/bin/env python3
+ # vim: set et ts=4 sw=4:
+ # Copyright 2016-2017 Angelo Naselli <anaselli@linux.it>
+ #
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
new file mode 100644
index 000000000..90ce1d0ac
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-To-fix-error-when-do_package.patch
@@ -0,0 +1,31 @@
+From 56d9b838b3475729d7ed9c6c156d72c28943c2b6 Mon Sep 17 00:00:00 2001
+From: Lei Maohui <leimaohui@cn.fujitsu.com>
+Date: Tue, 19 Dec 2017 11:15:29 +0900
+Subject: [PATCH] To fix error when do_package
+
+QA Issue: nativesdk-dnfdragora: Files/directories were installed but not shipped in any package:
+ /etc
+ /etc/dnfdragora
+ /etc/dnfdragora/dnfdragora.yaml
+
+Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c66b39..a5659f7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,7 +52,7 @@ endif(ENABLE_COMPS)
+ set(CMAKE_INSTALL_BINDIR "${CMAKE_INSTALL_PREFIX}/bin")
+ set(CMAKE_INSTALL_DATAROOTDIR "${CMAKE_INSTALL_PREFIX}/share")
+ set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_DATAROOTDIR}/locale")
+-set(CMAKE_INSTALL_FULL_SYSCONFDIR "/etc")
++set(CMAKE_INSTALL_FULL_SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/../etc")
+
+ # Configure files
+ configure_file(${CMAKE_SOURCE_DIR}/etc/dnfdragora.yaml.in ${CMAKE_BINARY_DIR}/etc/dnfdragora.yaml @ONLY)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
new file mode 100644
index 000000000..88bb63416
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora/0001-disable-build-manpages.patch
@@ -0,0 +1,25 @@
+From 2e6a0db24be373a5b7741dc5a0d322a28389fbf0 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Thu, 23 Nov 2017 16:35:44 +0900
+Subject: [PATCH] disable build manpages.
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c66b39..fc32750 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,7 +65,6 @@ endif(GETTEXT_FOUND)
+
+ # Build and install the man-pages
+ if(NOT SPHINX_EXECUTABLE-NOTFOUND)
+- add_subdirectory(man)
+ endif(NOT SPHINX_EXECUTABLE-NOTFOUND)
+
+ # Installing application code
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
new file mode 100644
index 000000000..9cd1efb8e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/dnfdragora/dnfdragora_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "dnfdragora is a DNF frontend, based on rpmdragora from Mageia (originally rpmdrake) Perl code."
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504 \
+ "
+
+SRC_URI = "git://github.com/manatools/dnfdragora.git \
+ file://0001-disable-build-manpages.patch \
+ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
+ file://0001-To-fix-error-when-do_package.patch \
+ file://0001-Run-python-scripts-using-env.patch \
+ "
+
+PV = "1.0.1+git${SRCPV}"
+SRCREV = "4fef4ce889b8e4fa03191d414f63bfd50796152a"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig python3-dir python3native distutils3-base
+
+DEPENDS += "dnf python3 "
+#DEPENDS_class-nativesdk += "nativesdk-python3"
+
+RDEPENDS_${PN}_class-target = " python3-core libyui libyui-ncurses "
+
+# manpages generation requires http://www.sphinx-doc.org/
+EXTRA_OECMAKE = " -DWITH_MAN=OFF -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3"
+
+BBCLASSEXTEND = "nativesdk"
+
+FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/ ${datadir}/ ${bindir}/ ${sysconfdir}/dnfdragora "
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb b/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
new file mode 100644
index 000000000..e12bc094d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbgrab/fbgrab_1.3.bb
@@ -0,0 +1,16 @@
+SUMMARY = "FBGrab is a framebuffer screenshot program"
+HOMEPAGE = "http://fbgrab.monells.se/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea5bed2f60d357618ca161ad539f7c0a"
+SECTION = "console/utils"
+DEPENDS = "libpng zlib"
+SRC_URI = "http://fbgrab.monells.se/${BP}.tar.gz"
+
+inherit autotools-brokensep
+
+SRC_URI[md5sum] = "7d8c24081c681dfbba21f2934c1ac656"
+SRC_URI[sha256sum] = "5fab478cbf8731fbacefaa76236a8f8b38ccff920c53b3a8253bc35509fba8ed"
+
+do_configure_prepend() {
+ sed -i 's|$(DESTDIR)/usr/man/|$(DESTDIR)${mandir}/|g' ${S}/Makefile
+}
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
new file mode 100644
index 000000000..0bf48ace6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/fbida_2.10.bb
@@ -0,0 +1,73 @@
+SUMMARY = "Framebuffer image and doc viewer tools"
+DESCRIPTION = "The fbida project contains a few applications for viewing and editing images, \
+ with the main focus being photos."
+HOMEPAGE = "http://linux.bytesex.org/fbida/"
+AUTHOR = "Gerd Hoffmann"
+SECTION = "utils"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
+
+DEPENDS = "virtual/libiconv jpeg fontconfig freetype libexif"
+
+SRC_URI = "https://www.kraxel.org/releases/fbida/fbida-${PV}.tar.gz \
+ file://0001-Avoid-using-host-path.patch \
+ file://fix-preprocessor.patch \
+ file://support-jpeg-turbo.patch \
+ file://use-jpeg-turbo.patch \
+ "
+SRC_URI[md5sum] = "09460b964b58c2e39b665498eca29018"
+SRC_URI[sha256sum] = "7a5a3aac61b40a6a2bbf716d270a46e2f8e8d5c97e314e927d41398a4d0b6cb6"
+
+B = "${WORKDIR}/build"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE = "STRIP= 'srcdir=${S}' -f ${S}/GNUmakefile"
+
+PACKAGECONFIG ??= "gif png curl"
+PACKAGECONFIG[curl] = ",,curl"
+PACKAGECONFIG[gif] = ",,giflib"
+PACKAGECONFIG[png] = ",,libpng"
+PACKAGECONFIG[tiff] = ",,tiff"
+PACKAGECONFIG[motif] = ",,libx11 libxext libxpm libxt openmotif"
+PACKAGECONFIG[webp] = ",,libwebp"
+PACKAGECONFIG[lirc] = ",,lirc"
+
+do_compile() {
+ sed -i -e 's# fbgs# \$(srcdir)/fbgs#; s#-Ijpeg#-I\$(srcdir)/jpeg#; s# jpeg/# \$(srcdir)/jpeg/#' ${S}/GNUmakefile
+ sed -i -e 's:/sbin/ldconfig:echo x:' ${S}/mk/Autoconf.mk
+ sed -i -e 's: cpp: ${CPP}:' ${S}/GNUmakefile
+
+ # Be sure to respect preferences (force to "no")
+ # Also avoid issues when ${BUILD_ARCH} == ${HOST_ARCH}
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'curl', d)}" ]; then
+ sed -i -e '/^HAVE_LIBCURL/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'gif', d)}" ]; then
+ sed -i -e '/^HAVE_LIBGIF/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'png', d)}" ]; then
+ sed -i -e '/^HAVE_LIBPNG/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'tiff', d)}" ]; then
+ sed -i -e '/^HAVE_LIBTIFF/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'motif', d)}" ]; then
+ sed -i -e '/^HAVE_MOTIF/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'webp', d)}" ]; then
+ sed -i -e '/^HAVE_LIBWEBP/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+ if [ -z "${@bb.utils.filter('PACKAGECONFIG', 'lirc', d)}" ]; then
+ sed -i -e '/^HAVE_LIBLIRC/s/:=.*$/:= no/' ${S}/GNUmakefile
+ fi
+
+ oe_runmake
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+RDEPENDS_${PN} = "ttf-dejavu-sans-mono bash"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
new file mode 100644
index 000000000..cdf2c25d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-Avoid-using-host-path.patch
@@ -0,0 +1,34 @@
+From 8d8fa9f22d9f6a95523bac63ac3af724faf5ff92 Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marex@denx.de>
+Date: Fri, 7 Apr 2017 23:26:09 +0200
+Subject: [PATCH] Avoid using host-path
+
+Remove the explicit reference to /usr/local/* , this is completely
+bogus and causes trouble during cross-compilation.
+
+Signed-off-by: Marek Vasut <marex@denx.de>
+Upstream-Status: Inappropriate [upstream requires this]
+---
+ mk/Variables.mk | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/mk/Variables.mk b/mk/Variables.mk
+index 99f787c..3ffd87a 100644
+--- a/mk/Variables.mk
++++ b/mk/Variables.mk
+@@ -42,12 +42,6 @@ CFLAGS += -Wall -Wmissing-prototypes -Wstrict-prototypes \
+ -Wpointer-arith -Wunused
+ CXXFLAGS += -Wall -Wpointer-arith -Wunused
+
+-# add /usr/local to the search path if something is in there ...
+-ifneq ($(wildcard /usr/local/include/*.h),)
+- CFLAGS += -I/usr/local/include
+- LDFLAGS += -L/usr/local/$(LIB)
+-endif
+-
+ # fixup include path for $(srcdir) != "."
+ ifneq ($(srcdir),.)
+ CFLAGS += -I. -I$(srcdir)
+--
+2.11.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
new file mode 100644
index 000000000..909a0a6c0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/fix-preprocessor.patch
@@ -0,0 +1,14 @@
+Index: fbida-2.13/GNUmakefile
+===================================================================
+--- fbida-2.13.orig/GNUmakefile
++++ fbida-2.13/GNUmakefile
+@@ -53,8 +53,7 @@ include $(srcdir)/mk/Autoconf.mk
+
+ ac_jpeg_ver = $(shell \
+ $(call ac_init,for libjpeg version);\
+- $(call ac_s_cmd,echo JPEG_LIB_VERSION \
+- | cpp -include jpeglib.h | tail -n 1);\
++ $(call ac_s_cmd,cpp -include jpeglib.h -dM -E -x c /dev/null | grep 'define JPEG_LIB_VERSION' | cut -f 3 -d' ');\
+ $(call ac_fini))
+
+ define make-config
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
new file mode 100644
index 000000000..05cd74da9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/support-jpeg-turbo.patch
@@ -0,0 +1,1854 @@
+Add patch by Ondrej Sury to migrate to libjpeg-turbo (Closes: #763263)
+
+Index: fbida-2.10/jpeg/62/jpegcomp.h
+===================================================================
+--- /dev/null
++++ fbida-2.10/jpeg/62/jpegcomp.h
+@@ -0,0 +1,30 @@
++/*
++ * jpegcomp.h
++ *
++ * Copyright (C) 2010, D. R. Commander
++ * For conditions of distribution and use, see the accompanying README file.
++ *
++ * JPEG compatibility macros
++ * These declarations are considered internal to the JPEG library; most
++ * applications using the library shouldn't need to include this file.
++ */
++
++#if JPEG_LIB_VERSION >= 70
++#define _DCT_scaled_size DCT_h_scaled_size
++#define _DCT_h_scaled_size DCT_h_scaled_size
++#define _DCT_v_scaled_size DCT_v_scaled_size
++#define _min_DCT_scaled_size min_DCT_h_scaled_size
++#define _min_DCT_h_scaled_size min_DCT_h_scaled_size
++#define _min_DCT_v_scaled_size min_DCT_v_scaled_size
++#define _jpeg_width jpeg_width
++#define _jpeg_height jpeg_height
++#else
++#define _DCT_scaled_size DCT_scaled_size
++#define _DCT_h_scaled_size DCT_scaled_size
++#define _DCT_v_scaled_size DCT_scaled_size
++#define _min_DCT_scaled_size min_DCT_scaled_size
++#define _min_DCT_h_scaled_size min_DCT_scaled_size
++#define _min_DCT_v_scaled_size min_DCT_scaled_size
++#define _jpeg_width image_width
++#define _jpeg_height image_height
++#endif
+Index: fbida-2.10/jpeg/62/transupp.c
+===================================================================
+--- fbida-2.10.orig/jpeg/62/transupp.c
++++ fbida-2.10/jpeg/62/transupp.c
+@@ -1,8 +1,10 @@
+ /*
+ * transupp.c
+ *
+- * Copyright (C) 1997, Thomas G. Lane.
+- * This file is part of the Independent JPEG Group's software.
++ * This file was part of the Independent JPEG Group's software:
++ * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding.
++ * libjpeg-turbo Modifications:
++ * Copyright (C) 2010, D. R. Commander.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+ * This file contains image transformation routines and other utility code
+@@ -20,6 +22,17 @@
+ #include "jinclude.h"
+ #include "jpeglib.h"
+ #include "transupp.h" /* My own external interface */
++#include "jpegcomp.h"
++#include <ctype.h> /* to declare isdigit() */
++
++
++#if JPEG_LIB_VERSION >= 70
++#define dstinfo_min_DCT_h_scaled_size dstinfo->min_DCT_h_scaled_size
++#define dstinfo_min_DCT_v_scaled_size dstinfo->min_DCT_v_scaled_size
++#else
++#define dstinfo_min_DCT_h_scaled_size DCTSIZE
++#define dstinfo_min_DCT_v_scaled_size DCTSIZE
++#endif
+
+
+ #if TRANSFORMS_SUPPORTED
+@@ -28,7 +41,8 @@
+ * Lossless image transformation routines. These routines work on DCT
+ * coefficient arrays and thus do not require any lossy decompression
+ * or recompression of the image.
+- * Thanks to Guido Vollbeding for the initial design and code of this feature.
++ * Thanks to Guido Vollbeding for the initial design and code of this feature,
++ * and to Ben Jackson for introducing the cropping feature.
+ *
+ * Horizontal flipping is done in-place, using a single top-to-bottom
+ * pass through the virtual source array. It will thus be much the
+@@ -42,6 +56,13 @@
+ * arrays for most of the transforms. That could result in much thrashing
+ * if the image is larger than main memory.
+ *
++ * If cropping or trimming is involved, the destination arrays may be smaller
++ * than the source arrays. Note it is not possible to do horizontal flip
++ * in-place when a nonzero Y crop offset is specified, since we'd have to move
++ * data from one block row to another but the virtual array manager doesn't
++ * guarantee we can touch more than one row at a time. So in that case,
++ * we have to use a separate destination array.
++ *
+ * Some notes about the operating environment of the individual transform
+ * routines:
+ * 1. Both the source and destination virtual arrays are allocated from the
+@@ -54,20 +75,65 @@
+ * and we may as well take that as the effective iMCU size.
+ * 4. When "trim" is in effect, the destination's dimensions will be the
+ * trimmed values but the source's will be untrimmed.
+- * 5. All the routines assume that the source and destination buffers are
++ * 5. When "crop" is in effect, the destination's dimensions will be the
++ * cropped values but the source's will be uncropped. Each transform
++ * routine is responsible for picking up source data starting at the
++ * correct X and Y offset for the crop region. (The X and Y offsets
++ * passed to the transform routines are measured in iMCU blocks of the
++ * destination.)
++ * 6. All the routines assume that the source and destination buffers are
+ * padded out to a full iMCU boundary. This is true, although for the
+ * source buffer it is an undocumented property of jdcoefct.c.
+- * Notes 2,3,4 boil down to this: generally we should use the destination's
+- * dimensions and ignore the source's.
+ */
+
+
+ LOCAL(void)
+-do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
+- jvirt_barray_ptr *src_coef_arrays)
+-/* Horizontal flip; done in-place, so no separate dest array is required */
++do_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays,
++ jvirt_barray_ptr *dst_coef_arrays)
++/* Crop. This is only used when no rotate/flip is requested with the crop. */
++{
++ JDIMENSION dst_blk_y, x_crop_blocks, y_crop_blocks;
++ int ci, offset_y;
++ JBLOCKARRAY src_buffer, dst_buffer;
++ jpeg_component_info *compptr;
++
++ /* We simply have to copy the right amount of data (the destination's
++ * image size) starting at the given X and Y offsets in the source.
++ */
++ for (ci = 0; ci < dstinfo->num_components; ci++) {
++ compptr = dstinfo->comp_info + ci;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
++ dst_blk_y += compptr->v_samp_factor) {
++ dst_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
++ (JDIMENSION) compptr->v_samp_factor, TRUE);
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
++ (JDIMENSION) compptr->v_samp_factor, FALSE);
++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
++ dst_buffer[offset_y],
++ compptr->width_in_blocks);
++ }
++ }
++ }
++}
++
++
++LOCAL(void)
++do_flip_h_no_crop (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays)
++/* Horizontal flip; done in-place, so no separate dest array is required.
++ * NB: this only works when y_crop_offset is zero.
++ */
+ {
+- JDIMENSION MCU_cols, comp_width, blk_x, blk_y;
++ JDIMENSION MCU_cols, comp_width, blk_x, blk_y, x_crop_blocks;
+ int ci, k, offset_y;
+ JBLOCKARRAY buffer;
+ JCOEFPTR ptr1, ptr2;
+@@ -79,17 +145,20 @@ do_flip_h (j_decompress_ptr srcinfo, j_c
+ * mirroring by changing the signs of odd-numbered columns.
+ * Partial iMCUs at the right edge are left untouched.
+ */
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_width /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
+ for (blk_y = 0; blk_y < compptr->height_in_blocks;
+ blk_y += compptr->v_samp_factor) {
+ buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci], blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ /* Do the mirroring */
+ for (blk_x = 0; blk_x * 2 < comp_width; blk_x++) {
+ ptr1 = buffer[offset_y][blk_x];
+ ptr2 = buffer[offset_y][comp_width - blk_x - 1];
+@@ -105,6 +174,80 @@ do_flip_h (j_decompress_ptr srcinfo, j_c
+ *ptr2++ = -temp1;
+ }
+ }
++ if (x_crop_blocks > 0) {
++ /* Now left-justify the portion of the data to be kept.
++ * We can't use a single jcopy_block_row() call because that routine
++ * depends on memcpy(), whose behavior is unspecified for overlapping
++ * source and destination areas. Sigh.
++ */
++ for (blk_x = 0; blk_x < compptr->width_in_blocks; blk_x++) {
++ jcopy_block_row(buffer[offset_y] + blk_x + x_crop_blocks,
++ buffer[offset_y] + blk_x,
++ (JDIMENSION) 1);
++ }
++ }
++ }
++ }
++ }
++}
++
++
++LOCAL(void)
++do_flip_h (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
++ jvirt_barray_ptr *src_coef_arrays,
++ jvirt_barray_ptr *dst_coef_arrays)
++/* Horizontal flip in general cropping case */
++{
++ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
++ int ci, k, offset_y;
++ JBLOCKARRAY src_buffer, dst_buffer;
++ JBLOCKROW src_row_ptr, dst_row_ptr;
++ JCOEFPTR src_ptr, dst_ptr;
++ jpeg_component_info *compptr;
++
++ /* Here we must output into a separate array because we can't touch
++ * different rows of a single virtual array simultaneously. Otherwise,
++ * this is essentially the same as the routine above.
++ */
++ MCU_cols = srcinfo->output_width /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
++
++ for (ci = 0; ci < dstinfo->num_components; ci++) {
++ compptr = dstinfo->comp_info + ci;
++ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
++ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
++ dst_blk_y += compptr->v_samp_factor) {
++ dst_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
++ (JDIMENSION) compptr->v_samp_factor, TRUE);
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
++ (JDIMENSION) compptr->v_samp_factor, FALSE);
++ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
++ dst_row_ptr = dst_buffer[offset_y];
++ src_row_ptr = src_buffer[offset_y];
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Do the mirrorable blocks */
++ dst_ptr = dst_row_ptr[dst_blk_x];
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ /* this unrolled loop doesn't need to know which row it's on... */
++ for (k = 0; k < DCTSIZE2; k += 2) {
++ *dst_ptr++ = *src_ptr++; /* copy even column */
++ *dst_ptr++ = - *src_ptr++; /* copy odd column with sign change */
++ }
++ } else {
++ /* Copy last partial block(s) verbatim */
++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
++ dst_row_ptr + dst_blk_x,
++ (JDIMENSION) 1);
++ }
++ }
+ }
+ }
+ }
+@@ -113,11 +256,13 @@ do_flip_h (j_decompress_ptr srcinfo, j_c
+
+ LOCAL(void)
+ do_flip_v (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Vertical flip */
+ {
+ JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JBLOCKROW src_row_ptr, dst_row_ptr;
+@@ -131,33 +276,39 @@ do_flip_v (j_decompress_ptr srcinfo, j_c
+ * of odd-numbered rows.
+ * Partial iMCUs at the bottom edge are copied verbatim.
+ */
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->output_height /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
+- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor,
++ comp_height - y_crop_blocks - dst_blk_y -
++ (JDIMENSION) compptr->v_samp_factor,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ } else {
+ /* Bottom-edge blocks will be copied verbatim. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ }
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+ dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
++ src_row_ptr += x_crop_blocks;
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x++) {
+ dst_ptr = dst_row_ptr[dst_blk_x];
+@@ -173,7 +324,8 @@ do_flip_v (j_decompress_ptr srcinfo, j_c
+ }
+ } else {
+ /* Just copy row verbatim. */
+- jcopy_block_row(src_buffer[offset_y], dst_buffer[offset_y],
++ jcopy_block_row(src_buffer[offset_y] + x_crop_blocks,
++ dst_buffer[offset_y],
+ compptr->width_in_blocks);
+ }
+ }
+@@ -184,11 +336,12 @@ do_flip_v (j_decompress_ptr srcinfo, j_c
+
+ LOCAL(void)
+ do_transpose (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Transpose source into destination */
+ {
+- JDIMENSION dst_blk_x, dst_blk_y;
++ JDIMENSION dst_blk_x, dst_blk_y, x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -201,6 +354,8 @@ do_transpose (j_decompress_ptr srcinfo,
+ */
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -210,11 +365,12 @@ do_transpose (j_decompress_ptr srcinfo,
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
+ (JDIMENSION) compptr->h_samp_factor, FALSE);
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x][dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -228,6 +384,7 @@ do_transpose (j_decompress_ptr srcinfo,
+
+ LOCAL(void)
+ do_rot_90 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 90 degree rotation is equivalent to
+@@ -237,6 +394,7 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ */
+ {
+ JDIMENSION MCU_cols, comp_width, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -246,11 +404,14 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ * at the (output) right edge properly. They just get transposed and
+ * not mirrored.
+ */
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_height /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -259,15 +420,26 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+- src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
+- (JDIMENSION) compptr->h_samp_factor, FALSE);
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Block is within the mirrorable area. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ comp_width - x_crop_blocks - dst_blk_x -
++ (JDIMENSION) compptr->h_samp_factor,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ } else {
++ /* Edge blocks are transposed but not mirrored. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ }
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+- if (dst_blk_x < comp_width) {
++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Block is within the mirrorable area. */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -277,7 +449,8 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+ }
+ } else {
+ /* Edge blocks are transposed but not mirrored. */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -292,6 +465,7 @@ do_rot_90 (j_decompress_ptr srcinfo, j_c
+
+ LOCAL(void)
+ do_rot_270 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 270 degree rotation is equivalent to
+@@ -301,6 +475,7 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ */
+ {
+ JDIMENSION MCU_rows, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+@@ -310,11 +485,14 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ * at the (output) bottom edge properly. They just get transposed and
+ * not mirrored.
+ */
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_rows = srcinfo->output_width /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -324,14 +502,15 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
+ (JDIMENSION) compptr->h_samp_factor, FALSE);
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Block is within the mirrorable area. */
+ src_ptr = src_buffer[offset_x]
+- [comp_height - dst_blk_y - offset_y - 1];
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -341,7 +520,8 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+ }
+ } else {
+ /* Edge blocks are transposed but not mirrored. */
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -356,6 +536,7 @@ do_rot_270 (j_decompress_ptr srcinfo, j_
+
+ LOCAL(void)
+ do_rot_180 (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* 180 degree rotation is equivalent to
+@@ -365,89 +546,95 @@ do_rot_180 (j_decompress_ptr srcinfo, j_
+ */
+ {
+ JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JBLOCKROW src_row_ptr, dst_row_ptr;
+ JCOEFPTR src_ptr, dst_ptr;
+ jpeg_component_info *compptr;
+
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_width /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
++ MCU_rows = srcinfo->output_height /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, dst_coef_arrays[ci], dst_blk_y,
+ (JDIMENSION) compptr->v_samp_factor, TRUE);
+- if (dst_blk_y < comp_height) {
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the vertically mirrorable area. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
+- comp_height - dst_blk_y - (JDIMENSION) compptr->v_samp_factor,
++ comp_height - y_crop_blocks - dst_blk_y -
++ (JDIMENSION) compptr->v_samp_factor,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ } else {
+ /* Bottom-edge rows are only mirrored horizontally. */
+ src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_y,
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_y + y_crop_blocks,
+ (JDIMENSION) compptr->v_samp_factor, FALSE);
+ }
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+- if (dst_blk_y < comp_height) {
++ dst_row_ptr = dst_buffer[offset_y];
++ if (y_crop_blocks + dst_blk_y < comp_height) {
+ /* Row is within the mirrorable area. */
+- dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[compptr->v_samp_factor - offset_y - 1];
+- /* Process the blocks that can be mirrored both ways. */
+- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) {
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+ dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1];
+- for (i = 0; i < DCTSIZE; i += 2) {
+- /* For even row, negate every odd column. */
+- for (j = 0; j < DCTSIZE; j += 2) {
+- *dst_ptr++ = *src_ptr++;
+- *dst_ptr++ = - *src_ptr++;
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Process the blocks that can be mirrored both ways. */
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ for (i = 0; i < DCTSIZE; i += 2) {
++ /* For even row, negate every odd column. */
++ for (j = 0; j < DCTSIZE; j += 2) {
++ *dst_ptr++ = *src_ptr++;
++ *dst_ptr++ = - *src_ptr++;
++ }
++ /* For odd row, negate every even column. */
++ for (j = 0; j < DCTSIZE; j += 2) {
++ *dst_ptr++ = - *src_ptr++;
++ *dst_ptr++ = *src_ptr++;
++ }
+ }
+- /* For odd row, negate every even column. */
+- for (j = 0; j < DCTSIZE; j += 2) {
+- *dst_ptr++ = - *src_ptr++;
+- *dst_ptr++ = *src_ptr++;
++ } else {
++ /* Any remaining right-edge blocks are only mirrored vertically. */
++ src_ptr = src_row_ptr[x_crop_blocks + dst_blk_x];
++ for (i = 0; i < DCTSIZE; i += 2) {
++ for (j = 0; j < DCTSIZE; j++)
++ *dst_ptr++ = *src_ptr++;
++ for (j = 0; j < DCTSIZE; j++)
++ *dst_ptr++ = - *src_ptr++;
+ }
+ }
+ }
+- /* Any remaining right-edge blocks are only mirrored vertically. */
+- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[dst_blk_x];
+- for (i = 0; i < DCTSIZE; i += 2) {
+- for (j = 0; j < DCTSIZE; j++)
+- *dst_ptr++ = *src_ptr++;
+- for (j = 0; j < DCTSIZE; j++)
+- *dst_ptr++ = - *src_ptr++;
+- }
+- }
+ } else {
+ /* Remaining rows are just mirrored horizontally. */
+- dst_row_ptr = dst_buffer[offset_y];
+ src_row_ptr = src_buffer[offset_y];
+- /* Process the blocks that can be mirrored. */
+- for (dst_blk_x = 0; dst_blk_x < comp_width; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[comp_width - dst_blk_x - 1];
+- for (i = 0; i < DCTSIZE2; i += 2) {
+- *dst_ptr++ = *src_ptr++;
+- *dst_ptr++ = - *src_ptr++;
++ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Process the blocks that can be mirrored. */
++ dst_ptr = dst_row_ptr[dst_blk_x];
++ src_ptr = src_row_ptr[comp_width - x_crop_blocks - dst_blk_x - 1];
++ for (i = 0; i < DCTSIZE2; i += 2) {
++ *dst_ptr++ = *src_ptr++;
++ *dst_ptr++ = - *src_ptr++;
++ }
++ } else {
++ /* Any remaining right-edge blocks are only copied. */
++ jcopy_block_row(src_row_ptr + dst_blk_x + x_crop_blocks,
++ dst_row_ptr + dst_blk_x,
++ (JDIMENSION) 1);
+ }
+ }
+- /* Any remaining right-edge blocks are only copied. */
+- for (; dst_blk_x < compptr->width_in_blocks; dst_blk_x++) {
+- dst_ptr = dst_row_ptr[dst_blk_x];
+- src_ptr = src_row_ptr[dst_blk_x];
+- for (i = 0; i < DCTSIZE2; i++)
+- *dst_ptr++ = *src_ptr++;
+- }
+ }
+ }
+ }
+@@ -457,6 +644,7 @@ do_rot_180 (j_decompress_ptr srcinfo, j_
+
+ LOCAL(void)
+ do_transverse (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
++ JDIMENSION x_crop_offset, JDIMENSION y_crop_offset,
+ jvirt_barray_ptr *src_coef_arrays,
+ jvirt_barray_ptr *dst_coef_arrays)
+ /* Transverse transpose is equivalent to
+@@ -470,18 +658,23 @@ do_transverse (j_decompress_ptr srcinfo,
+ */
+ {
+ JDIMENSION MCU_cols, MCU_rows, comp_width, comp_height, dst_blk_x, dst_blk_y;
++ JDIMENSION x_crop_blocks, y_crop_blocks;
+ int ci, i, j, offset_x, offset_y;
+ JBLOCKARRAY src_buffer, dst_buffer;
+ JCOEFPTR src_ptr, dst_ptr;
+ jpeg_component_info *compptr;
+
+- MCU_cols = dstinfo->image_width / (dstinfo->max_h_samp_factor * DCTSIZE);
+- MCU_rows = dstinfo->image_height / (dstinfo->max_v_samp_factor * DCTSIZE);
++ MCU_cols = srcinfo->output_height /
++ (dstinfo->max_h_samp_factor * dstinfo_min_DCT_h_scaled_size);
++ MCU_rows = srcinfo->output_width /
++ (dstinfo->max_v_samp_factor * dstinfo_min_DCT_v_scaled_size);
+
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+ compptr = dstinfo->comp_info + ci;
+ comp_width = MCU_cols * compptr->h_samp_factor;
+ comp_height = MCU_rows * compptr->v_samp_factor;
++ x_crop_blocks = x_crop_offset * compptr->h_samp_factor;
++ y_crop_blocks = y_crop_offset * compptr->v_samp_factor;
+ for (dst_blk_y = 0; dst_blk_y < compptr->height_in_blocks;
+ dst_blk_y += compptr->v_samp_factor) {
+ dst_buffer = (*srcinfo->mem->access_virt_barray)
+@@ -490,17 +683,26 @@ do_transverse (j_decompress_ptr srcinfo,
+ for (offset_y = 0; offset_y < compptr->v_samp_factor; offset_y++) {
+ for (dst_blk_x = 0; dst_blk_x < compptr->width_in_blocks;
+ dst_blk_x += compptr->h_samp_factor) {
+- src_buffer = (*srcinfo->mem->access_virt_barray)
+- ((j_common_ptr) srcinfo, src_coef_arrays[ci], dst_blk_x,
+- (JDIMENSION) compptr->h_samp_factor, FALSE);
++ if (x_crop_blocks + dst_blk_x < comp_width) {
++ /* Block is within the mirrorable area. */
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ comp_width - x_crop_blocks - dst_blk_x -
++ (JDIMENSION) compptr->h_samp_factor,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ } else {
++ src_buffer = (*srcinfo->mem->access_virt_barray)
++ ((j_common_ptr) srcinfo, src_coef_arrays[ci],
++ dst_blk_x + x_crop_blocks,
++ (JDIMENSION) compptr->h_samp_factor, FALSE);
++ }
+ for (offset_x = 0; offset_x < compptr->h_samp_factor; offset_x++) {
+- if (dst_blk_y < comp_height) {
+- src_ptr = src_buffer[offset_x]
+- [comp_height - dst_blk_y - offset_y - 1];
+- if (dst_blk_x < comp_width) {
++ dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ if (y_crop_blocks + dst_blk_y < comp_height) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Block is within the mirrorable area. */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -516,7 +718,8 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+ } else {
+ /* Right-edge blocks are mirrored in y only */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [comp_height - y_crop_blocks - dst_blk_y - offset_y - 1];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++) {
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -526,11 +729,10 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+ }
+ } else {
+- src_ptr = src_buffer[offset_x][dst_blk_y + offset_y];
+- if (dst_blk_x < comp_width) {
++ if (x_crop_blocks + dst_blk_x < comp_width) {
+ /* Bottom-edge blocks are mirrored in x only */
+- dst_ptr = dst_buffer[offset_y]
+- [comp_width - dst_blk_x - offset_x - 1];
++ src_ptr = src_buffer[compptr->h_samp_factor - offset_x - 1]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++) {
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -540,7 +742,8 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+ } else {
+ /* At lower right corner, just transpose, no mirroring */
+- dst_ptr = dst_buffer[offset_y][dst_blk_x + offset_x];
++ src_ptr = src_buffer[offset_x]
++ [dst_blk_y + offset_y + y_crop_blocks];
+ for (i = 0; i < DCTSIZE; i++)
+ for (j = 0; j < DCTSIZE; j++)
+ dst_ptr[j*DCTSIZE+i] = src_ptr[i*DCTSIZE+j];
+@@ -554,83 +757,372 @@ do_transverse (j_decompress_ptr srcinfo,
+ }
+
+
++/* Parse an unsigned integer: subroutine for jtransform_parse_crop_spec.
++ * Returns TRUE if valid integer found, FALSE if not.
++ * *strptr is advanced over the digit string, and *result is set to its value.
++ */
++
++LOCAL(boolean)
++jt_read_integer (const char ** strptr, JDIMENSION * result)
++{
++ const char * ptr = *strptr;
++ JDIMENSION val = 0;
++
++ for (; isdigit(*ptr); ptr++) {
++ val = val * 10 + (JDIMENSION) (*ptr - '0');
++ }
++ *result = val;
++ if (ptr == *strptr)
++ return FALSE; /* oops, no digits */
++ *strptr = ptr;
++ return TRUE;
++}
++
++
++/* Parse a crop specification (written in X11 geometry style).
++ * The routine returns TRUE if the spec string is valid, FALSE if not.
++ *
++ * The crop spec string should have the format
++ * <width>[f]x<height>[f]{+-}<xoffset>{+-}<yoffset>
++ * where width, height, xoffset, and yoffset are unsigned integers.
++ * Each of the elements can be omitted to indicate a default value.
++ * (A weakness of this style is that it is not possible to omit xoffset
++ * while specifying yoffset, since they look alike.)
++ *
++ * This code is loosely based on XParseGeometry from the X11 distribution.
++ */
++
++GLOBAL(boolean)
++jtransform_parse_crop_spec (jpeg_transform_info *info, const char *spec)
++{
++ info->crop = FALSE;
++ info->crop_width_set = JCROP_UNSET;
++ info->crop_height_set = JCROP_UNSET;
++ info->crop_xoffset_set = JCROP_UNSET;
++ info->crop_yoffset_set = JCROP_UNSET;
++
++ if (isdigit(*spec)) {
++ /* fetch width */
++ if (! jt_read_integer(&spec, &info->crop_width))
++ return FALSE;
++ if (*spec == 'f' || *spec == 'F') {
++ spec++;
++ info->crop_width_set = JCROP_FORCE;
++ } else
++ info->crop_width_set = JCROP_POS;
++ }
++ if (*spec == 'x' || *spec == 'X') {
++ /* fetch height */
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_height))
++ return FALSE;
++ if (*spec == 'f' || *spec == 'F') {
++ spec++;
++ info->crop_height_set = JCROP_FORCE;
++ } else
++ info->crop_height_set = JCROP_POS;
++ }
++ if (*spec == '+' || *spec == '-') {
++ /* fetch xoffset */
++ info->crop_xoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_xoffset))
++ return FALSE;
++ }
++ if (*spec == '+' || *spec == '-') {
++ /* fetch yoffset */
++ info->crop_yoffset_set = (*spec == '-') ? JCROP_NEG : JCROP_POS;
++ spec++;
++ if (! jt_read_integer(&spec, &info->crop_yoffset))
++ return FALSE;
++ }
++ /* We had better have gotten to the end of the string. */
++ if (*spec != '\0')
++ return FALSE;
++ info->crop = TRUE;
++ return TRUE;
++}
++
++
++/* Trim off any partial iMCUs on the indicated destination edge */
++
++LOCAL(void)
++trim_right_edge (jpeg_transform_info *info, JDIMENSION full_width)
++{
++ JDIMENSION MCU_cols;
++
++ MCU_cols = info->output_width / info->iMCU_sample_width;
++ if (MCU_cols > 0 && info->x_crop_offset + MCU_cols ==
++ full_width / info->iMCU_sample_width)
++ info->output_width = MCU_cols * info->iMCU_sample_width;
++}
++
++LOCAL(void)
++trim_bottom_edge (jpeg_transform_info *info, JDIMENSION full_height)
++{
++ JDIMENSION MCU_rows;
++
++ MCU_rows = info->output_height / info->iMCU_sample_height;
++ if (MCU_rows > 0 && info->y_crop_offset + MCU_rows ==
++ full_height / info->iMCU_sample_height)
++ info->output_height = MCU_rows * info->iMCU_sample_height;
++}
++
++
+ /* Request any required workspace.
+ *
++ * This routine figures out the size that the output image will be
++ * (which implies that all the transform parameters must be set before
++ * it is called).
++ *
+ * We allocate the workspace virtual arrays from the source decompression
+ * object, so that all the arrays (both the original data and the workspace)
+ * will be taken into account while making memory management decisions.
+ * Hence, this routine must be called after jpeg_read_header (which reads
+ * the image dimensions) and before jpeg_read_coefficients (which realizes
+ * the source's virtual arrays).
++ *
++ * This function returns FALSE right away if -perfect is given
++ * and transformation is not perfect. Otherwise returns TRUE.
+ */
+
+-GLOBAL(void)
++GLOBAL(boolean)
+ jtransform_request_workspace (j_decompress_ptr srcinfo,
+ jpeg_transform_info *info)
+ {
+- jvirt_barray_ptr *coef_arrays = NULL;
++ jvirt_barray_ptr *coef_arrays;
++ boolean need_workspace, transpose_it;
+ jpeg_component_info *compptr;
+- int ci;
++ JDIMENSION xoffset, yoffset;
++ JDIMENSION width_in_iMCUs, height_in_iMCUs;
++ JDIMENSION width_in_blocks, height_in_blocks;
++ int ci, h_samp_factor, v_samp_factor;
+
++ /* Determine number of components in output image */
+ if (info->force_grayscale &&
+ srcinfo->jpeg_color_space == JCS_YCbCr &&
+- srcinfo->num_components == 3) {
++ srcinfo->num_components == 3)
+ /* We'll only process the first component */
+ info->num_components = 1;
+- } else {
++ else
+ /* Process all the components */
+ info->num_components = srcinfo->num_components;
++
++ /* Compute output image dimensions and related values. */
++#if JPEG_LIB_VERSION >= 80
++ jpeg_core_output_dimensions(srcinfo);
++#else
++ srcinfo->output_width = srcinfo->image_width;
++ srcinfo->output_height = srcinfo->image_height;
++#endif
++
++ /* Return right away if -perfect is given and transformation is not perfect.
++ */
++ if (info->perfect) {
++ if (info->num_components == 1) {
++ if (!jtransform_perfect_transform(srcinfo->output_width,
++ srcinfo->output_height,
++ srcinfo->_min_DCT_h_scaled_size,
++ srcinfo->_min_DCT_v_scaled_size,
++ info->transform))
++ return FALSE;
++ } else {
++ if (!jtransform_perfect_transform(srcinfo->output_width,
++ srcinfo->output_height,
++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size,
++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size,
++ info->transform))
++ return FALSE;
++ }
++ }
++
++ /* If there is only one output component, force the iMCU size to be 1;
++ * else use the source iMCU size. (This allows us to do the right thing
++ * when reducing color to grayscale, and also provides a handy way of
++ * cleaning up "funny" grayscale images whose sampling factors are not 1x1.)
++ */
++ switch (info->transform) {
++ case JXFORM_TRANSPOSE:
++ case JXFORM_TRANSVERSE:
++ case JXFORM_ROT_90:
++ case JXFORM_ROT_270:
++ info->output_width = srcinfo->output_height;
++ info->output_height = srcinfo->output_width;
++ if (info->num_components == 1) {
++ info->iMCU_sample_width = srcinfo->_min_DCT_v_scaled_size;
++ info->iMCU_sample_height = srcinfo->_min_DCT_h_scaled_size;
++ } else {
++ info->iMCU_sample_width =
++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size;
++ info->iMCU_sample_height =
++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size;
++ }
++ break;
++ default:
++ info->output_width = srcinfo->output_width;
++ info->output_height = srcinfo->output_height;
++ if (info->num_components == 1) {
++ info->iMCU_sample_width = srcinfo->_min_DCT_h_scaled_size;
++ info->iMCU_sample_height = srcinfo->_min_DCT_v_scaled_size;
++ } else {
++ info->iMCU_sample_width =
++ srcinfo->max_h_samp_factor * srcinfo->_min_DCT_h_scaled_size;
++ info->iMCU_sample_height =
++ srcinfo->max_v_samp_factor * srcinfo->_min_DCT_v_scaled_size;
++ }
++ break;
+ }
+
++ /* If cropping has been requested, compute the crop area's position and
++ * dimensions, ensuring that its upper left corner falls at an iMCU boundary.
++ */
++ if (info->crop) {
++ /* Insert default values for unset crop parameters */
++ if (info->crop_xoffset_set == JCROP_UNSET)
++ info->crop_xoffset = 0; /* default to +0 */
++ if (info->crop_yoffset_set == JCROP_UNSET)
++ info->crop_yoffset = 0; /* default to +0 */
++ if (info->crop_xoffset >= info->output_width ||
++ info->crop_yoffset >= info->output_height)
++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
++ if (info->crop_width_set == JCROP_UNSET)
++ info->crop_width = info->output_width - info->crop_xoffset;
++ if (info->crop_height_set == JCROP_UNSET)
++ info->crop_height = info->output_height - info->crop_yoffset;
++ /* Ensure parameters are valid */
++ if (info->crop_width <= 0 || info->crop_width > info->output_width ||
++ info->crop_height <= 0 || info->crop_height > info->output_height ||
++ info->crop_xoffset > info->output_width - info->crop_width ||
++ info->crop_yoffset > info->output_height - info->crop_height)
++ ERREXIT(srcinfo, JERR_BAD_CROP_SPEC);
++ /* Convert negative crop offsets into regular offsets */
++ if (info->crop_xoffset_set == JCROP_NEG)
++ xoffset = info->output_width - info->crop_width - info->crop_xoffset;
++ else
++ xoffset = info->crop_xoffset;
++ if (info->crop_yoffset_set == JCROP_NEG)
++ yoffset = info->output_height - info->crop_height - info->crop_yoffset;
++ else
++ yoffset = info->crop_yoffset;
++ /* Now adjust so that upper left corner falls at an iMCU boundary */
++ if (info->crop_width_set == JCROP_FORCE)
++ info->output_width = info->crop_width;
++ else
++ info->output_width =
++ info->crop_width + (xoffset % info->iMCU_sample_width);
++ if (info->crop_height_set == JCROP_FORCE)
++ info->output_height = info->crop_height;
++ else
++ info->output_height =
++ info->crop_height + (yoffset % info->iMCU_sample_height);
++ /* Save x/y offsets measured in iMCUs */
++ info->x_crop_offset = xoffset / info->iMCU_sample_width;
++ info->y_crop_offset = yoffset / info->iMCU_sample_height;
++ } else {
++ info->x_crop_offset = 0;
++ info->y_crop_offset = 0;
++ }
++
++ /* Figure out whether we need workspace arrays,
++ * and if so whether they are transposed relative to the source.
++ */
++ need_workspace = FALSE;
++ transpose_it = FALSE;
+ switch (info->transform) {
+ case JXFORM_NONE:
++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
++ need_workspace = TRUE;
++ /* No workspace needed if neither cropping nor transforming */
++ break;
+ case JXFORM_FLIP_H:
+- /* Don't need a workspace array */
++ if (info->trim)
++ trim_right_edge(info, srcinfo->output_width);
++ if (info->y_crop_offset != 0 || info->slow_hflip)
++ need_workspace = TRUE;
++ /* do_flip_h_no_crop doesn't need a workspace array */
+ break;
+ case JXFORM_FLIP_V:
+- case JXFORM_ROT_180:
+- /* Need workspace arrays having same dimensions as source image.
+- * Note that we allocate arrays padded out to the next iMCU boundary,
+- * so that transform routines need not worry about missing edge blocks.
+- */
+- coef_arrays = (jvirt_barray_ptr *)
+- (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
+- SIZEOF(jvirt_barray_ptr) * info->num_components);
+- for (ci = 0; ci < info->num_components; ci++) {
+- compptr = srcinfo->comp_info + ci;
+- coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
+- ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
+- (JDIMENSION) jround_up((long) compptr->width_in_blocks,
+- (long) compptr->h_samp_factor),
+- (JDIMENSION) jround_up((long) compptr->height_in_blocks,
+- (long) compptr->v_samp_factor),
+- (JDIMENSION) compptr->v_samp_factor);
+- }
++ if (info->trim)
++ trim_bottom_edge(info, srcinfo->output_height);
++ /* Need workspace arrays having same dimensions as source image. */
++ need_workspace = TRUE;
+ break;
+ case JXFORM_TRANSPOSE:
++ /* transpose does NOT have to trim anything */
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
+ case JXFORM_TRANSVERSE:
++ if (info->trim) {
++ trim_right_edge(info, srcinfo->output_height);
++ trim_bottom_edge(info, srcinfo->output_width);
++ }
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
+ case JXFORM_ROT_90:
++ if (info->trim)
++ trim_right_edge(info, srcinfo->output_height);
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
++ case JXFORM_ROT_180:
++ if (info->trim) {
++ trim_right_edge(info, srcinfo->output_width);
++ trim_bottom_edge(info, srcinfo->output_height);
++ }
++ /* Need workspace arrays having same dimensions as source image. */
++ need_workspace = TRUE;
++ break;
+ case JXFORM_ROT_270:
+- /* Need workspace arrays having transposed dimensions.
+- * Note that we allocate arrays padded out to the next iMCU boundary,
+- * so that transform routines need not worry about missing edge blocks.
+- */
++ if (info->trim)
++ trim_bottom_edge(info, srcinfo->output_width);
++ /* Need workspace arrays having transposed dimensions. */
++ need_workspace = TRUE;
++ transpose_it = TRUE;
++ break;
++ }
++
++ /* Allocate workspace if needed.
++ * Note that we allocate arrays padded out to the next iMCU boundary,
++ * so that transform routines need not worry about missing edge blocks.
++ */
++ if (need_workspace) {
+ coef_arrays = (jvirt_barray_ptr *)
+ (*srcinfo->mem->alloc_small) ((j_common_ptr) srcinfo, JPOOL_IMAGE,
+- SIZEOF(jvirt_barray_ptr) * info->num_components);
++ SIZEOF(jvirt_barray_ptr) * info->num_components);
++ width_in_iMCUs = (JDIMENSION)
++ jdiv_round_up((long) info->output_width,
++ (long) info->iMCU_sample_width);
++ height_in_iMCUs = (JDIMENSION)
++ jdiv_round_up((long) info->output_height,
++ (long) info->iMCU_sample_height);
+ for (ci = 0; ci < info->num_components; ci++) {
+ compptr = srcinfo->comp_info + ci;
++ if (info->num_components == 1) {
++ /* we're going to force samp factors to 1x1 in this case */
++ h_samp_factor = v_samp_factor = 1;
++ } else if (transpose_it) {
++ h_samp_factor = compptr->v_samp_factor;
++ v_samp_factor = compptr->h_samp_factor;
++ } else {
++ h_samp_factor = compptr->h_samp_factor;
++ v_samp_factor = compptr->v_samp_factor;
++ }
++ width_in_blocks = width_in_iMCUs * h_samp_factor;
++ height_in_blocks = height_in_iMCUs * v_samp_factor;
+ coef_arrays[ci] = (*srcinfo->mem->request_virt_barray)
+ ((j_common_ptr) srcinfo, JPOOL_IMAGE, FALSE,
+- (JDIMENSION) jround_up((long) compptr->height_in_blocks,
+- (long) compptr->v_samp_factor),
+- (JDIMENSION) jround_up((long) compptr->width_in_blocks,
+- (long) compptr->h_samp_factor),
+- (JDIMENSION) compptr->h_samp_factor);
++ width_in_blocks, height_in_blocks, (JDIMENSION) v_samp_factor);
+ }
+- break;
+- }
+- info->workspace_coef_arrays = coef_arrays;
++ info->workspace_coef_arrays = coef_arrays;
++ } else
++ info->workspace_coef_arrays = NULL;
++
++ return TRUE;
+ }
+
+
+@@ -642,13 +1134,18 @@ transpose_critical_parameters (j_compres
+ int tblno, i, j, ci, itemp;
+ jpeg_component_info *compptr;
+ JQUANT_TBL *qtblptr;
+- JDIMENSION dtemp;
++ JDIMENSION jtemp;
+ UINT16 qtemp;
+
+- /* Transpose basic image dimensions */
+- dtemp = dstinfo->image_width;
++ /* Transpose image dimensions */
++ jtemp = dstinfo->image_width;
+ dstinfo->image_width = dstinfo->image_height;
+- dstinfo->image_height = dtemp;
++ dstinfo->image_height = jtemp;
++#if JPEG_LIB_VERSION >= 70
++ itemp = dstinfo->min_DCT_h_scaled_size;
++ dstinfo->min_DCT_h_scaled_size = dstinfo->min_DCT_v_scaled_size;
++ dstinfo->min_DCT_v_scaled_size = itemp;
++#endif
+
+ /* Transpose sampling factors */
+ for (ci = 0; ci < dstinfo->num_components; ci++) {
+@@ -674,47 +1171,162 @@ transpose_critical_parameters (j_compres
+ }
+
+
+-/* Trim off any partial iMCUs on the indicated destination edge */
++/* Adjust Exif image parameters.
++ *
++ * We try to adjust the Tags ExifImageWidth and ExifImageHeight if possible.
++ */
+
++#if JPEG_LIB_VERSION >= 70
+ LOCAL(void)
+-trim_right_edge (j_compress_ptr dstinfo)
++adjust_exif_parameters (JOCTET FAR * data, unsigned int length,
++ JDIMENSION new_width, JDIMENSION new_height)
+ {
+- int ci, max_h_samp_factor;
+- JDIMENSION MCU_cols;
++ boolean is_motorola; /* Flag for byte order */
++ unsigned int number_of_tags, tagnum;
++ unsigned int firstoffset, offset;
++ JDIMENSION new_value;
++
++ if (length < 12) return; /* Length of an IFD entry */
++
++ /* Discover byte order */
++ if (GETJOCTET(data[0]) == 0x49 && GETJOCTET(data[1]) == 0x49)
++ is_motorola = FALSE;
++ else if (GETJOCTET(data[0]) == 0x4D && GETJOCTET(data[1]) == 0x4D)
++ is_motorola = TRUE;
++ else
++ return;
++
++ /* Check Tag Mark */
++ if (is_motorola) {
++ if (GETJOCTET(data[2]) != 0) return;
++ if (GETJOCTET(data[3]) != 0x2A) return;
++ } else {
++ if (GETJOCTET(data[3]) != 0) return;
++ if (GETJOCTET(data[2]) != 0x2A) return;
++ }
+
+- /* We have to compute max_h_samp_factor ourselves,
+- * because it hasn't been set yet in the destination
+- * (and we don't want to use the source's value).
+- */
+- max_h_samp_factor = 1;
+- for (ci = 0; ci < dstinfo->num_components; ci++) {
+- int h_samp_factor = dstinfo->comp_info[ci].h_samp_factor;
+- max_h_samp_factor = MAX(max_h_samp_factor, h_samp_factor);
++ /* Get first IFD offset (offset to IFD0) */
++ if (is_motorola) {
++ if (GETJOCTET(data[4]) != 0) return;
++ if (GETJOCTET(data[5]) != 0) return;
++ firstoffset = GETJOCTET(data[6]);
++ firstoffset <<= 8;
++ firstoffset += GETJOCTET(data[7]);
++ } else {
++ if (GETJOCTET(data[7]) != 0) return;
++ if (GETJOCTET(data[6]) != 0) return;
++ firstoffset = GETJOCTET(data[5]);
++ firstoffset <<= 8;
++ firstoffset += GETJOCTET(data[4]);
+ }
+- MCU_cols = dstinfo->image_width / (max_h_samp_factor * DCTSIZE);
+- if (MCU_cols > 0) /* can't trim to 0 pixels */
+- dstinfo->image_width = MCU_cols * (max_h_samp_factor * DCTSIZE);
+-}
++ if (firstoffset > length - 2) return; /* check end of data segment */
+
+-LOCAL(void)
+-trim_bottom_edge (j_compress_ptr dstinfo)
+-{
+- int ci, max_v_samp_factor;
+- JDIMENSION MCU_rows;
++ /* Get the number of directory entries contained in this IFD */
++ if (is_motorola) {
++ number_of_tags = GETJOCTET(data[firstoffset]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[firstoffset+1]);
++ } else {
++ number_of_tags = GETJOCTET(data[firstoffset+1]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[firstoffset]);
++ }
++ if (number_of_tags == 0) return;
++ firstoffset += 2;
+
+- /* We have to compute max_v_samp_factor ourselves,
+- * because it hasn't been set yet in the destination
+- * (and we don't want to use the source's value).
+- */
+- max_v_samp_factor = 1;
+- for (ci = 0; ci < dstinfo->num_components; ci++) {
+- int v_samp_factor = dstinfo->comp_info[ci].v_samp_factor;
+- max_v_samp_factor = MAX(max_v_samp_factor, v_samp_factor);
++ /* Search for ExifSubIFD offset Tag in IFD0 */
++ for (;;) {
++ if (firstoffset > length - 12) return; /* check end of data segment */
++ /* Get Tag number */
++ if (is_motorola) {
++ tagnum = GETJOCTET(data[firstoffset]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[firstoffset+1]);
++ } else {
++ tagnum = GETJOCTET(data[firstoffset+1]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[firstoffset]);
++ }
++ if (tagnum == 0x8769) break; /* found ExifSubIFD offset Tag */
++ if (--number_of_tags == 0) return;
++ firstoffset += 12;
++ }
++
++ /* Get the ExifSubIFD offset */
++ if (is_motorola) {
++ if (GETJOCTET(data[firstoffset+8]) != 0) return;
++ if (GETJOCTET(data[firstoffset+9]) != 0) return;
++ offset = GETJOCTET(data[firstoffset+10]);
++ offset <<= 8;
++ offset += GETJOCTET(data[firstoffset+11]);
++ } else {
++ if (GETJOCTET(data[firstoffset+11]) != 0) return;
++ if (GETJOCTET(data[firstoffset+10]) != 0) return;
++ offset = GETJOCTET(data[firstoffset+9]);
++ offset <<= 8;
++ offset += GETJOCTET(data[firstoffset+8]);
++ }
++ if (offset > length - 2) return; /* check end of data segment */
++
++ /* Get the number of directory entries contained in this SubIFD */
++ if (is_motorola) {
++ number_of_tags = GETJOCTET(data[offset]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[offset+1]);
++ } else {
++ number_of_tags = GETJOCTET(data[offset+1]);
++ number_of_tags <<= 8;
++ number_of_tags += GETJOCTET(data[offset]);
+ }
+- MCU_rows = dstinfo->image_height / (max_v_samp_factor * DCTSIZE);
+- if (MCU_rows > 0) /* can't trim to 0 pixels */
+- dstinfo->image_height = MCU_rows * (max_v_samp_factor * DCTSIZE);
++ if (number_of_tags < 2) return;
++ offset += 2;
++
++ /* Search for ExifImageWidth and ExifImageHeight Tags in this SubIFD */
++ do {
++ if (offset > length - 12) return; /* check end of data segment */
++ /* Get Tag number */
++ if (is_motorola) {
++ tagnum = GETJOCTET(data[offset]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[offset+1]);
++ } else {
++ tagnum = GETJOCTET(data[offset+1]);
++ tagnum <<= 8;
++ tagnum += GETJOCTET(data[offset]);
++ }
++ if (tagnum == 0xA002 || tagnum == 0xA003) {
++ if (tagnum == 0xA002)
++ new_value = new_width; /* ExifImageWidth Tag */
++ else
++ new_value = new_height; /* ExifImageHeight Tag */
++ if (is_motorola) {
++ data[offset+2] = 0; /* Format = unsigned long (4 octets) */
++ data[offset+3] = 4;
++ data[offset+4] = 0; /* Number Of Components = 1 */
++ data[offset+5] = 0;
++ data[offset+6] = 0;
++ data[offset+7] = 1;
++ data[offset+8] = 0;
++ data[offset+9] = 0;
++ data[offset+10] = (JOCTET)((new_value >> 8) & 0xFF);
++ data[offset+11] = (JOCTET)(new_value & 0xFF);
++ } else {
++ data[offset+2] = 4; /* Format = unsigned long (4 octets) */
++ data[offset+3] = 0;
++ data[offset+4] = 1; /* Number Of Components = 1 */
++ data[offset+5] = 0;
++ data[offset+6] = 0;
++ data[offset+7] = 0;
++ data[offset+8] = (JOCTET)(new_value & 0xFF);
++ data[offset+9] = (JOCTET)((new_value >> 8) & 0xFF);
++ data[offset+10] = 0;
++ data[offset+11] = 0;
++ }
++ }
++ offset += 12;
++ } while (--number_of_tags);
+ }
++#endif
+
+
+ /* Adjust output image parameters as needed.
+@@ -736,18 +1348,22 @@ jtransform_adjust_parameters (j_decompre
+ {
+ /* If force-to-grayscale is requested, adjust destination parameters */
+ if (info->force_grayscale) {
+- /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
+- * properly. Among other things, the target h_samp_factor & v_samp_factor
+- * will get set to 1, which typically won't match the source.
+- * In fact we do this even if the source is already grayscale; that
+- * provides an easy way of coercing a grayscale JPEG with funny sampling
+- * factors to the customary 1,1. (Some decoders fail on other factors.)
++ /* First, ensure we have YCbCr or grayscale data, and that the source's
++ * Y channel is full resolution. (No reasonable person would make Y
++ * be less than full resolution, so actually coping with that case
++ * isn't worth extra code space. But we check it to avoid crashing.)
+ */
+- if ((dstinfo->jpeg_color_space == JCS_YCbCr &&
+- dstinfo->num_components == 3) ||
+- (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
+- dstinfo->num_components == 1)) {
+- /* We have to preserve the source's quantization table number. */
++ if (((dstinfo->jpeg_color_space == JCS_YCbCr &&
++ dstinfo->num_components == 3) ||
++ (dstinfo->jpeg_color_space == JCS_GRAYSCALE &&
++ dstinfo->num_components == 1)) &&
++ srcinfo->comp_info[0].h_samp_factor == srcinfo->max_h_samp_factor &&
++ srcinfo->comp_info[0].v_samp_factor == srcinfo->max_v_samp_factor) {
++ /* We use jpeg_set_colorspace to make sure subsidiary settings get fixed
++ * properly. Among other things, it sets the target h_samp_factor &
++ * v_samp_factor to 1, which typically won't match the source.
++ * We have to preserve the source's quantization table number, however.
++ */
+ int sv_quant_tbl_no = dstinfo->comp_info[0].quant_tbl_no;
+ jpeg_set_colorspace(dstinfo, JCS_GRAYSCALE);
+ dstinfo->comp_info[0].quant_tbl_no = sv_quant_tbl_no;
+@@ -755,50 +1371,66 @@ jtransform_adjust_parameters (j_decompre
+ /* Sorry, can't do it */
+ ERREXIT(dstinfo, JERR_CONVERSION_NOTIMPL);
+ }
++ } else if (info->num_components == 1) {
++ /* For a single-component source, we force the destination sampling factors
++ * to 1x1, with or without force_grayscale. This is useful because some
++ * decoders choke on grayscale images with other sampling factors.
++ */
++ dstinfo->comp_info[0].h_samp_factor = 1;
++ dstinfo->comp_info[0].v_samp_factor = 1;
+ }
+
+- /* Correct the destination's image dimensions etc if necessary */
++ /* Correct the destination's image dimensions as necessary
++ * for rotate/flip, resize, and crop operations.
++ */
++#if JPEG_LIB_VERSION >= 70
++ dstinfo->jpeg_width = info->output_width;
++ dstinfo->jpeg_height = info->output_height;
++#endif
++
++ /* Transpose destination image parameters */
+ switch (info->transform) {
+- case JXFORM_NONE:
+- /* Nothing to do */
+- break;
+- case JXFORM_FLIP_H:
+- if (info->trim)
+- trim_right_edge(dstinfo);
+- break;
+- case JXFORM_FLIP_V:
+- if (info->trim)
+- trim_bottom_edge(dstinfo);
+- break;
+ case JXFORM_TRANSPOSE:
+- transpose_critical_parameters(dstinfo);
+- /* transpose does NOT have to trim anything */
+- break;
+ case JXFORM_TRANSVERSE:
+- transpose_critical_parameters(dstinfo);
+- if (info->trim) {
+- trim_right_edge(dstinfo);
+- trim_bottom_edge(dstinfo);
+- }
+- break;
+ case JXFORM_ROT_90:
+- transpose_critical_parameters(dstinfo);
+- if (info->trim)
+- trim_right_edge(dstinfo);
+- break;
+- case JXFORM_ROT_180:
+- if (info->trim) {
+- trim_right_edge(dstinfo);
+- trim_bottom_edge(dstinfo);
+- }
+- break;
+ case JXFORM_ROT_270:
++#if JPEG_LIB_VERSION < 70
++ dstinfo->image_width = info->output_height;
++ dstinfo->image_height = info->output_width;
++#endif
+ transpose_critical_parameters(dstinfo);
+- if (info->trim)
+- trim_bottom_edge(dstinfo);
++ break;
++ default:
++#if JPEG_LIB_VERSION < 70
++ dstinfo->image_width = info->output_width;
++ dstinfo->image_height = info->output_height;
++#endif
+ break;
+ }
+
++ /* Adjust Exif properties */
++ if (srcinfo->marker_list != NULL &&
++ srcinfo->marker_list->marker == JPEG_APP0+1 &&
++ srcinfo->marker_list->data_length >= 6 &&
++ GETJOCTET(srcinfo->marker_list->data[0]) == 0x45 &&
++ GETJOCTET(srcinfo->marker_list->data[1]) == 0x78 &&
++ GETJOCTET(srcinfo->marker_list->data[2]) == 0x69 &&
++ GETJOCTET(srcinfo->marker_list->data[3]) == 0x66 &&
++ GETJOCTET(srcinfo->marker_list->data[4]) == 0 &&
++ GETJOCTET(srcinfo->marker_list->data[5]) == 0) {
++ /* Suppress output of JFIF marker */
++ dstinfo->write_JFIF_header = FALSE;
++#if JPEG_LIB_VERSION >= 70
++ /* Adjust Exif image parameters */
++ if (dstinfo->jpeg_width != srcinfo->image_width ||
++ dstinfo->jpeg_height != srcinfo->image_height)
++ /* Align data segment to start of TIFF structure for parsing */
++ adjust_exif_parameters(srcinfo->marker_list->data + 6,
++ srcinfo->marker_list->data_length - 6,
++ dstinfo->jpeg_width, dstinfo->jpeg_height);
++#endif
++ }
++
+ /* Return the appropriate output data set */
+ if (info->workspace_coef_arrays != NULL)
+ return info->workspace_coef_arrays;
+@@ -816,40 +1448,110 @@ jtransform_adjust_parameters (j_decompre
+ */
+
+ GLOBAL(void)
+-jtransform_execute_transformation (j_decompress_ptr srcinfo,
+- j_compress_ptr dstinfo,
+- jvirt_barray_ptr *src_coef_arrays,
+- jpeg_transform_info *info)
++jtransform_execute_transform (j_decompress_ptr srcinfo,
++ j_compress_ptr dstinfo,
++ jvirt_barray_ptr *src_coef_arrays,
++ jpeg_transform_info *info)
+ {
+ jvirt_barray_ptr *dst_coef_arrays = info->workspace_coef_arrays;
+
++ /* Note: conditions tested here should match those in switch statement
++ * in jtransform_request_workspace()
++ */
+ switch (info->transform) {
+ case JXFORM_NONE:
++ if (info->x_crop_offset != 0 || info->y_crop_offset != 0)
++ do_crop(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_FLIP_H:
+- do_flip_h(srcinfo, dstinfo, src_coef_arrays);
++ if (info->y_crop_offset != 0 || info->slow_hflip)
++ do_flip_h(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
++ else
++ do_flip_h_no_crop(srcinfo, dstinfo, info->x_crop_offset,
++ src_coef_arrays);
+ break;
+ case JXFORM_FLIP_V:
+- do_flip_v(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_flip_v(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_TRANSPOSE:
+- do_transpose(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_transpose(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_TRANSVERSE:
+- do_transverse(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_transverse(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_90:
+- do_rot_90(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_90(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_180:
+- do_rot_180(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_180(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ case JXFORM_ROT_270:
+- do_rot_270(srcinfo, dstinfo, src_coef_arrays, dst_coef_arrays);
++ do_rot_270(srcinfo, dstinfo, info->x_crop_offset, info->y_crop_offset,
++ src_coef_arrays, dst_coef_arrays);
+ break;
+ }
+ }
+
++/* jtransform_perfect_transform
++ *
++ * Determine whether lossless transformation is perfectly
++ * possible for a specified image and transformation.
++ *
++ * Inputs:
++ * image_width, image_height: source image dimensions.
++ * MCU_width, MCU_height: pixel dimensions of MCU.
++ * transform: transformation identifier.
++ * Parameter sources from initialized jpeg_struct
++ * (after reading source header):
++ * image_width = cinfo.image_width
++ * image_height = cinfo.image_height
++ * MCU_width = cinfo.max_h_samp_factor * cinfo.block_size
++ * MCU_height = cinfo.max_v_samp_factor * cinfo.block_size
++ * Result:
++ * TRUE = perfect transformation possible
++ * FALSE = perfect transformation not possible
++ * (may use custom action then)
++ */
++
++GLOBAL(boolean)
++jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height,
++ int MCU_width, int MCU_height,
++ JXFORM_CODE transform)
++{
++ boolean result = TRUE; /* initialize TRUE */
++
++ switch (transform) {
++ case JXFORM_FLIP_H:
++ case JXFORM_ROT_270:
++ if (image_width % (JDIMENSION) MCU_width)
++ result = FALSE;
++ break;
++ case JXFORM_FLIP_V:
++ case JXFORM_ROT_90:
++ if (image_height % (JDIMENSION) MCU_height)
++ result = FALSE;
++ break;
++ case JXFORM_TRANSVERSE:
++ case JXFORM_ROT_180:
++ if (image_width % (JDIMENSION) MCU_width)
++ result = FALSE;
++ if (image_height % (JDIMENSION) MCU_height)
++ result = FALSE;
++ break;
++ default:
++ break;
++ }
++
++ return result;
++}
++
+ #endif /* TRANSFORMS_SUPPORTED */
+
+
+Index: fbida-2.10/jpeg/62/transupp.h
+===================================================================
+--- fbida-2.10.orig/jpeg/62/transupp.h
++++ fbida-2.10/jpeg/62/transupp.h
+@@ -1,7 +1,7 @@
+ /*
+ * transupp.h
+ *
+- * Copyright (C) 1997, Thomas G. Lane.
++ * Copyright (C) 1997-2011, Thomas G. Lane, Guido Vollbeding.
+ * This file is part of the Independent JPEG Group's software.
+ * For conditions of distribution and use, see the accompanying README file.
+ *
+@@ -22,32 +22,6 @@
+ #define TRANSFORMS_SUPPORTED 1 /* 0 disables transform code */
+ #endif
+
+-/* Short forms of external names for systems with brain-damaged linkers. */
+-
+-#ifdef NEED_SHORT_EXTERNAL_NAMES
+-#define jtransform_request_workspace jTrRequest
+-#define jtransform_adjust_parameters jTrAdjust
+-#define jtransform_execute_transformation jTrExec
+-#define jcopy_markers_setup jCMrkSetup
+-#define jcopy_markers_execute jCMrkExec
+-#endif /* NEED_SHORT_EXTERNAL_NAMES */
+-
+-
+-/*
+- * Codes for supported types of image transformations.
+- */
+-
+-typedef enum {
+- JXFORM_NONE, /* no transformation */
+- JXFORM_FLIP_H, /* horizontal flip */
+- JXFORM_FLIP_V, /* vertical flip */
+- JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
+- JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
+- JXFORM_ROT_90, /* 90-degree clockwise rotation */
+- JXFORM_ROT_180, /* 180-degree rotation */
+- JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
+-} JXFORM_CODE;
+-
+ /*
+ * Although rotating and flipping data expressed as DCT coefficients is not
+ * hard, there is an asymmetry in the JPEG format specification for images
+@@ -75,6 +49,25 @@ typedef enum {
+ * (For example, -rot 270 -trim trims only the bottom edge, but -rot 90 -trim
+ * followed by -rot 180 -trim trims both edges.)
+ *
++ * We also offer a lossless-crop option, which discards data outside a given
++ * image region but losslessly preserves what is inside. Like the rotate and
++ * flip transforms, lossless crop is restricted by the JPEG format: the upper
++ * left corner of the selected region must fall on an iMCU boundary. If this
++ * does not hold for the given crop parameters, we silently move the upper left
++ * corner up and/or left to make it so, simultaneously increasing the region
++ * dimensions to keep the lower right crop corner unchanged. (Thus, the
++ * output image covers at least the requested region, but may cover more.)
++ * The adjustment of the region dimensions may be optionally disabled.
++ *
++ * We also provide a lossless-resize option, which is kind of a lossless-crop
++ * operation in the DCT coefficient block domain - it discards higher-order
++ * coefficients and losslessly preserves lower-order coefficients of a
++ * sub-block.
++ *
++ * Rotate/flip transform, resize, and crop can be requested together in a
++ * single invocation. The crop is applied last --- that is, the crop region
++ * is specified in terms of the destination image after transform/resize.
++ *
+ * We also offer a "force to grayscale" option, which simply discards the
+ * chrominance channels of a YCbCr image. This is lossless in the sense that
+ * the luminance channel is preserved exactly. It's not the same kind of
+@@ -83,22 +76,100 @@ typedef enum {
+ * be aware of the option to know how many components to work on.
+ */
+
++
++/* Short forms of external names for systems with brain-damaged linkers. */
++
++#ifdef NEED_SHORT_EXTERNAL_NAMES
++#define jtransform_parse_crop_spec jTrParCrop
++#define jtransform_request_workspace jTrRequest
++#define jtransform_adjust_parameters jTrAdjust
++#define jtransform_execute_transform jTrExec
++#define jtransform_perfect_transform jTrPerfect
++#define jcopy_markers_setup jCMrkSetup
++#define jcopy_markers_execute jCMrkExec
++#endif /* NEED_SHORT_EXTERNAL_NAMES */
++
++
++/*
++ * Codes for supported types of image transformations.
++ */
++
++typedef enum {
++ JXFORM_NONE, /* no transformation */
++ JXFORM_FLIP_H, /* horizontal flip */
++ JXFORM_FLIP_V, /* vertical flip */
++ JXFORM_TRANSPOSE, /* transpose across UL-to-LR axis */
++ JXFORM_TRANSVERSE, /* transpose across UR-to-LL axis */
++ JXFORM_ROT_90, /* 90-degree clockwise rotation */
++ JXFORM_ROT_180, /* 180-degree rotation */
++ JXFORM_ROT_270 /* 270-degree clockwise (or 90 ccw) */
++} JXFORM_CODE;
++
++/*
++ * Codes for crop parameters, which can individually be unspecified,
++ * positive or negative for xoffset or yoffset,
++ * positive or forced for width or height.
++ */
++
++typedef enum {
++ JCROP_UNSET,
++ JCROP_POS,
++ JCROP_NEG,
++ JCROP_FORCE
++} JCROP_CODE;
++
++/*
++ * Transform parameters struct.
++ * NB: application must not change any elements of this struct after
++ * calling jtransform_request_workspace.
++ */
++
+ typedef struct {
+ /* Options: set by caller */
+ JXFORM_CODE transform; /* image transform operator */
++ boolean perfect; /* if TRUE, fail if partial MCUs are requested */
+ boolean trim; /* if TRUE, trim partial MCUs as needed */
+ boolean force_grayscale; /* if TRUE, convert color image to grayscale */
++ boolean crop; /* if TRUE, crop source image */
++ boolean slow_hflip; /* For best performance, the JXFORM_FLIP_H transform
++ normally modifies the source coefficients in place.
++ Setting this to TRUE will instead use a slower,
++ double-buffered algorithm, which leaves the source
++ coefficients in tact (necessary if other transformed
++ images must be generated from the same set of
++ coefficients. */
++
++ /* Crop parameters: application need not set these unless crop is TRUE.
++ * These can be filled in by jtransform_parse_crop_spec().
++ */
++ JDIMENSION crop_width; /* Width of selected region */
++ JCROP_CODE crop_width_set; /* (forced disables adjustment) */
++ JDIMENSION crop_height; /* Height of selected region */
++ JCROP_CODE crop_height_set; /* (forced disables adjustment) */
++ JDIMENSION crop_xoffset; /* X offset of selected region */
++ JCROP_CODE crop_xoffset_set; /* (negative measures from right edge) */
++ JDIMENSION crop_yoffset; /* Y offset of selected region */
++ JCROP_CODE crop_yoffset_set; /* (negative measures from bottom edge) */
+
+ /* Internal workspace: caller should not touch these */
+ int num_components; /* # of components in workspace */
+ jvirt_barray_ptr * workspace_coef_arrays; /* workspace for transformations */
++ JDIMENSION output_width; /* cropped destination dimensions */
++ JDIMENSION output_height;
++ JDIMENSION x_crop_offset; /* destination crop offsets measured in iMCUs */
++ JDIMENSION y_crop_offset;
++ int iMCU_sample_width; /* destination iMCU size */
++ int iMCU_sample_height;
+ } jpeg_transform_info;
+
+
+ #if TRANSFORMS_SUPPORTED
+
++/* Parse a crop specification (written in X11 geometry style) */
++EXTERN(boolean) jtransform_parse_crop_spec
++ JPP((jpeg_transform_info *info, const char *spec));
+ /* Request any required workspace */
+-EXTERN(void) jtransform_request_workspace
++EXTERN(boolean) jtransform_request_workspace
+ JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info));
+ /* Adjust output image parameters */
+ EXTERN(jvirt_barray_ptr *) jtransform_adjust_parameters
+@@ -106,10 +177,24 @@ EXTERN(jvirt_barray_ptr *) jtransform_ad
+ jvirt_barray_ptr *src_coef_arrays,
+ jpeg_transform_info *info));
+ /* Execute the actual transformation, if any */
+-EXTERN(void) jtransform_execute_transformation
++EXTERN(void) jtransform_execute_transform
+ JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
+ jvirt_barray_ptr *src_coef_arrays,
+ jpeg_transform_info *info));
++/* Determine whether lossless transformation is perfectly
++ * possible for a specified image and transformation.
++ */
++EXTERN(boolean) jtransform_perfect_transform
++ JPP((JDIMENSION image_width, JDIMENSION image_height,
++ int MCU_width, int MCU_height,
++ JXFORM_CODE transform));
++
++/* jtransform_execute_transform used to be called
++ * jtransform_execute_transformation, but some compilers complain about
++ * routine names that long. This macro is here to avoid breaking any
++ * old source code that uses the original name...
++ */
++#define jtransform_execute_transformation jtransform_execute_transform
+
+ #endif /* TRANSFORMS_SUPPORTED */
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
new file mode 100644
index 000000000..99639554c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/use-jpeg-turbo.patch
@@ -0,0 +1,13 @@
+Index: fbida-2.10/GNUmakefile
+===================================================================
+--- fbida-2.10.orig/GNUmakefile
++++ fbida-2.10/GNUmakefile
+@@ -51,7 +51,7 @@ HAVE_LIBSANE := $(call ac_lib,sane_init,
+ HAVE_LIBCURL := $(call ac_lib,curl_easy_init,curl)
+ HAVE_LIBLIRC := $(call ac_lib,lirc_init,lirc_client)
+ HAVE_MOTIF := $(call ac_lib,XmStringGenerate,Xm,-L/usr/X11R6/$(LIB) -lXpm -lXt -lXext -lX11)
+-JPEG_VER := $(call ac_jpeg_ver)
++JPEG_VER := 62
+ endef
+
+ # transposing
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
new file mode 100644
index 000000000..481fedf98
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20170731.bb
@@ -0,0 +1,60 @@
+SUMMARY = "A font editor"
+HOMEPAGE = "http://fontforge.github.io/en-US/"
+LICENSE = "BSD-3-Clause & GPLv3"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.gplv3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LICENSE;md5=3f922b42ed0033fa0fd4cd3268f6429c \
+"
+
+DEPENDS = "glib-2.0 pango giflib tiff libxml2 jpeg python libtool uthash gnulib gettext-native"
+DEPENDS_append_class-target = " libxi"
+
+inherit autotools pkgconfig pythonnative distro_features_check gettext
+
+REQUIRED_DISTRO_FEATURES_append_class-target = " x11"
+
+SRC_URI = "git://github.com/${BPN}/${BPN}.git"
+# tag 20170731
+SRCREV = "b9149c13e8f9464fc21473f1f676b36a2130775d"
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF_append_class-native = " with_x=no"
+
+do_configure_prepend() {
+ # uthash sources are expected in uthash/src
+ currdir=`pwd`
+ cd ${S}
+
+ mkdir -p uthash/src
+ cp ${STAGING_INCDIR}/ut*.h uthash/src
+
+ # avoid bootstrap cloning gnulib on every configure
+ cat >.gitmodules <<EOF
+[submodule "gnulib"]
+ path = gnulib
+ url = git://git.sv.gnu.org/gnulib
+EOF
+ cp -rf ${STAGING_DATADIR}/gnulib ${S}
+
+ # --force to avoid errors on reconfigure e.g if recipes changed we depend on
+ # | bootstrap: running: libtoolize --quiet
+ # | libtoolize: error: 'libltdl/COPYING.LIB' exists: use '--force' to overwrite
+ # | ...
+ ./bootstrap --force
+
+ cd $currdir
+}
+
+PACKAGES =+ "${PN}-python-dbg ${PN}-python"
+
+FILES_${PN} += " \
+ ${datadir}/mime \
+ ${datadir}/icons \
+"
+
+FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR} ${datadir}/${PN}/python"
+FILES_${PN}-python-dbg = "${PYTHON_SITEPACKAGES_DIR}/.debug"
+RDEPENDS_${PN}-python = "python"
+
+# for e.g kde's oxygen-fonts
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
new file mode 100644
index 000000000..d54fafc8d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/freeglut/freeglut_3.0.0.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "FreeGLUT is a free-software/open-source alternative to the OpenGL \
+ Utility Toolkit (GLUT) library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=89c0b58a3e01ce3d8254c9f59e78adfb"
+
+SRC_URI = "https://sourceforge.net/projects/${BPN}/files/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "90c3ca4dd9d51cf32276bc5344ec9754"
+SRC_URI[sha256sum] = "2a43be8515b01ea82bcfa17d29ae0d40bd128342f0930cd1f375f1ff999f76a2"
+
+inherit cmake distro_features_check
+
+# depends on virtual/libx11, virtual/libgl
+REQUIRED_DISTRO_FEATURES = "x11 opengl"
+
+PROVIDES += "mesa-glut"
+
+DEPENDS = "virtual/libx11 libxmu libxi virtual/libgl libglu libxrandr"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
new file mode 100644
index 000000000..5a7647455
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0001-Fix-compilation-for-disabled-gnome.patch
@@ -0,0 +1,69 @@
+From 60c17eb49121bf2aa485acd30750b2fc6c8eb61f Mon Sep 17 00:00:00 2001
+From: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
+Date: Mon, 19 Jun 2017 16:41:36 +0300
+Subject: [PATCH] Fix compilation for Helix.
+
+Gnome support, including GNOME_INIT_HOOK, has been removed, but it was
+still being called.
+
+COMPAT_OLD_KEYSYMDEF is a check for a legacy system, which our system
+most definitely is not. It is accomplished by trying to execute
+a program, which does not work when cross compiling.
+
+The fvwm(1) man page is created from Docbook XML which is set for
+a Windows code page that is not available when compiling. Easiest is
+to just not create the man page as those are not needed on the monitor.
+
+Upstream-Status: inappropriate [OE specific]
+Signed-off-by: Jarmo Jaakkola <jarmo.jaakkola@vincit.fi>
+Signed-off-by: Riku Hämäläinen <riku.hamalainen@ge.com>
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
+---
+ configure.ac | 20 ++++----------------
+ doc/fvwm/Makefile.am | 2 +-
+ 3 files changed, 7 insertions(+), 17 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 48ce264..fab7b44 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1413,23 +1413,7 @@ else
+ problem_gdkimlib=": Failed on gdk-imlib, see config.log"
+ fi
+
+-GNOME_INIT_HOOK
+-
+-# Unfortunately we have 2 gnome supports: WM hints and gnome libs.
+-# The $with_gnomehints below refers to the first, not GNOME_INIT_HOOK.
+-if test ! x"$enable_gnome_hints" = xno; then
+- with_gnomehints=yes
+- problem_gnomehints=""
+-else
+- with_gnomehints=no
+- problem_gnomehints=": Explicitly disabled"
+-fi
+-
+ # Define some compatibility macros needed for config.h.
+-mg_DEFINE_IF_NOT([#include <X11/keysym.h>],
+- [defined XK_Page_Up && defined XK_Page_Down],
+- [COMPAT_OLD_KEYSYMDEF], [$X_CFLAGS],
+- [Old AIX systems (3.2.5) don't define some common keysyms.])
+ AH_VERBATIM([_COMPAT_OLD_KEYSYMDEF],
+ [#ifdef COMPAT_OLD_KEYSYMDEF
+ # define XK_Page_Up XK_Prior
+diff --git a/doc/fvwm/Makefile.am b/doc/fvwm/Makefile.am
+index cddb102..ff00149 100755
+--- a/doc/fvwm/Makefile.am
++++ b/doc/fvwm/Makefile.am
+@@ -10,7 +10,7 @@ XSL_PROFILE = $(srcdir)/../docbook-xsl/profiling/profile.xsl
+ HTML_FILES = fvwm.man.html
+ XML_FILES = @DOC_SECTIONS_XML_PATH@
+ EXTRA_DIST = @DOC_SECTIONS_XML@ $(man_MANS) sections
+-man_MANS = fvwm.1
++man_MANS =
+
+ if FVWM_BUILD_HTMLDOC
+ doc_DATA = $(HTML_FILES)
+--
+1.9.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
new file mode 100644
index 000000000..756cc86e8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm/0002-Avoid-absolute-symlinks.patch
@@ -0,0 +1,27 @@
+From: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
+Date: Tue, 29 Auf 2017 16:08:42 +0200
+Subject: [PATCH] Avoid absolute symlinks
+
+Avoid usage of absolute symlinks, which breaks yocto builds
+since pyro.
+
+Upstream-Status: Pending
+Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
+
+diff --git a/default-config/Makefile.am b/default-config/Makefile.am
+index 5e16d095a137..5404145a742c 100644
+--- a/default-config/Makefile.am
++++ b/default-config/Makefile.am
+@@ -17,9 +17,9 @@ EXTRA_DIST = images \
+
+ install-data-hook:
+ cp -r $(srcdir)/images $(inst_location)
+- ln -sf $(inst_location)/FvwmScript-DateTime $(inst_location)/..
+- ln -sf $(inst_location)/FvwmScript-ConfirmQuit $(inst_location)/..
+- ln -sf $(inst_location)/FvwmScript-ConfirmCopyConfig $(inst_location)/..
++ ln -sf default-config/FvwmScript-DateTime $(inst_location)/..
++ ln -sf default-config/FvwmScript-ConfirmQuit $(inst_location)/..
++ ln -sf default-config/FvwmScript-ConfirmCopyConfig $(inst_location)/..
+
+ uninstall-hook:
+ rm -fr $(DESTDIR)/$(configdir)
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
new file mode 100644
index 000000000..cb851bfd9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fvwm/fvwm_2.6.7.bb
@@ -0,0 +1,114 @@
+SUMMARY = "F Virtual Window Manager "
+HOMEPAGE = "http://www.fvwm.org/"
+SECTION = "x11/wm"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=363fbcfb59124689af72c914560eaf6e"
+
+DEPENDS = " \
+ bison-native \
+ flex-native \
+ freetype-native \
+ gettext-native \
+ libxslt-native \
+ fontconfig \
+ libice \
+ libpng \
+ librsvg \
+ libsm \
+ libxau \
+ libxcb \
+ libxcursor \
+ libxdmcp \
+ libxext \
+ libxfixes \
+ libxft \
+ libxinerama \
+ libxml2 \
+ libxrender \
+ libxt \
+ virtual/libx11 \
+ xrandr \
+ zlib \
+"
+
+PV = "2.6.7+git${SRCPV}"
+
+SRC_URI = " \
+ git://github.com/fvwmorg/fvwm.git;protocol=https \
+ file://0001-Fix-compilation-for-disabled-gnome.patch \
+ file://0002-Avoid-absolute-symlinks.patch \
+"
+
+SRCREV = "597a4e296da4f21e71a17facab297e016a3a80a8"
+
+S = "${WORKDIR}/git"
+
+inherit autotools gettext update-alternatives pkgconfig pythonnative perlnative distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+ALTERNATIVE_${PN} = "x-window-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/fvwm"
+ALTERNATIVE_PRIORITY[x-window-manager] = "20"
+
+EXTRA_OECONF = " \
+ --disable-bidi \
+ --disable-fontconfigtest \
+ --disable-freetypetest \
+ --disable-htmldoc \
+ --disable-imlibtest \
+ --disable-mandoc \
+ --disable-nls \
+ --disable-perllib \
+ --disable-rsvg \
+ --disable-shape \
+ --disable-sm \
+ --disable-xfttest \
+ --with-imlib-exec-prefix=/nonexistent \
+ --with-imlib-prefix=/nonexistent \
+ --without-ncurses-library \
+ --without-readline-library \
+ --without-rplay-library \
+ --without-stroke-library \
+ --without-termcap-library \
+ --without-xpm-library \
+ ac_cv_func_mkstemp=no \
+ has_safety_mkstemp=yes \
+"
+
+# show the exact commands in the log file
+EXTRA_OEMAKE = " \
+ V=1 \
+"
+
+do_install_append() {
+ install -d -m 0755 ${D}/${sysconfdir}/xdg/fvwm
+ # You can install the config file here
+
+ install -d -m 0755 ${D}/${datadir}/fvwm
+ touch ${D}/${datadir}/fvwm/ConfigFvwmDefaults
+}
+
+# the only needed packages (note: locale packages are automatically generated
+# as well)
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dbg \
+"
+
+# minimal set of binaries
+FILES_${PN} = " \
+ ${bindir}/fvwm \
+ ${bindir}/fvwm-root \
+ ${datadir}/fvwm/ConfigFvwmDefaults \
+"
+
+RDEPENDS_${PN} = " \
+ xuser-account \
+"
+
+# by default a lot of stuff is installed and it's not easy to control what to
+# install, so install everything, but skip the check
+INSANE_SKIP_${PN} = " \
+ installed-vs-shipped \
+"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
new file mode 100644
index 000000000..d145b625f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl/pkgconfig.patch
@@ -0,0 +1,21 @@
+Index: gegl-0.2.0/configure.ac
+===================================================================
+--- gegl-0.2.0.orig/configure.ac 2012-04-02 21:56:49.000000000 +0000
++++ gegl-0.2.0/configure.ac 2014-07-17 21:34:15.312546602 +0000
+@@ -765,15 +765,7 @@
+
+ have_sdl="no"
+ if test "x$with_sdl" != "xno"; then
+- AC_PATH_PROG(SDL_CONFIG, sdl-config, no)
+- if test "$SDL_CONFIG" = "no"; then
+- have_sdl="no (SDL library not found)"
+- AC_MSG_RESULT([*** Check for SDL library failed.])
+- else
+- have_sdl="yes"
+- SDL_CFLAGS=`$SDL_CONFIG --cflags`
+- SDL_LIBS=`$SDL_CONFIG --libs`
+- fi
++ PKG_CHECK_MODULES([SDL], [sdl], [have_sdl="yes"], [have_sdl="no (SDL library not found)"])
+ fi
+
+ AM_CONDITIONAL(HAVE_SDL, test "$have_sdl" = "yes")
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
new file mode 100644
index 000000000..0053c0c68
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gegl/gegl_0.3.18.bb
@@ -0,0 +1,34 @@
+SUMMARY = "GEGL (Generic Graphics Library) is a graph based image processing framework"
+LICENSE = "LGPL-3.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+DEPENDS = "babl librsvg glib-2.0 gtk+ pango cairo expat zlib libpng jpeg virtual/libsdl json-glib intltool-native"
+
+EXTRA_OECONF = "--disable-docs"
+
+inherit distro_features_check gnomebase vala gobject-introspection
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[jasper] = "--with-jasper,--without-jasper,jasper"
+PACKAGECONFIG[avformat] = "--with-libavformat,--without-libavformat,libav"
+PACKAGECONFIG[lcms] = "--with-lcms,--without-lcms,lcms"
+PACKAGECONFIG[tiff] = "--with-libtiff,--without-libtiff,tiff"
+PACKAGECONFIG[webp] = "--with-webp,--without-webp,webp"
+
+SRC_URI = "http://ftp.gimp.org/pub/${BPN}/0.3/${BP}.tar.bz2 \
+ file://pkgconfig.patch "
+SRC_URI[md5sum] = "6e5c6f229261478dc436a38c84405b2a"
+SRC_URI[sha256sum] = "d7858ef26ede136d14e3de188a9e9c0de7707061a9fb96d7d615fab4958491fb"
+
+LDFLAGS += "-lm"
+
+# There are a couple of non-symlink .so files installed into libdir, which need to go into main package
+FILES_${PN}_append = " ${libdir}/gegl-0.3/*.so ${libdir}/gegl-0.3/*.json ${libdir}/libgegl-npd-0.3.so ${libdir}/libgegl-sc-0.3.so"
+FILES_${PN}-dev_append = " ${libdir}/gegl-0.3/*.la ${libdir}/libgegl-0.3.so"
+FILES_${PN}-dev_remove = "${libdir}/lib*.so"
+
+# Fails to build with thumb-1 (qemuarm)
+# gegl-0.2.0/operations/common/matting-global.c: In function 'matting_process':
+# gegl-0.2.0/operations/common/matting-global.c:463:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275
+ARM_INSTRUCTION_SET = "arm"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
new file mode 100644
index 000000000..fecd0121c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0001-configure-ac-do-not-check-for-freetype-config.patch
@@ -0,0 +1,38 @@
+From 72ad76841d87e857428693d812a961935284ac62 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Thu, 12 Feb 2015 15:57:47 +0100
+Subject: [PATCH] configure-ac: do not check for freetype-config
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+freetype-config is not allowed in our environment - see also binconfig-disabled
+
+Upstream-Status: inappropriate [OE specific]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 7 -------
+ 1 file changed, 7 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 26812b6..abec714 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -647,13 +647,6 @@ if test "x$fontconfig_ok" = xno; then
+ fi
+
+
+-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+-if test "x$FREETYPE_CONFIG" != "xno" ; then
+- AC_MSG_CHECKING([for freetype libraries])
+- FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
+- AC_MSG_RESULT($FREETYPE_LIBS)
+-fi
+-AC_SUBST(FREETYPE_LIBS)
+
+
+ ##########################################
+--
+1.9.3
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
new file mode 100644
index 000000000..7da78e205
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/0003-Fix-use-of-gegl-API.patch
@@ -0,0 +1,34 @@
+From e1c8f4b8323e3965271a93529eab5774c1a7083c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 29 Jun 2017 10:32:14 -0700
+Subject: [PATCH 3/3] Fix use of gegl API
+
+newer version of gegl does not define GEGL_IS_PARAM_SPEC_MULTILINE
+
+| core/libappcore.a(gimpparamspecs-duplicate.o): In function `gimp_param_spec_duplicate':
+| /usr/src/debug/gimp/2.8.22-r0/gimp-2.8.22/app/core/../../../../../../../../../workspace/sources/gimp/app/core/gimpparamspecs-duplicate.c:70: undefined reference to `GEGL_IS_PARAM_SPEC_MULTILINE'
+| collect2: error: ld returned 1 exit status
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ app/core/gimpparamspecs-duplicate.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/app/core/gimpparamspecs-duplicate.c b/app/core/gimpparamspecs-duplicate.c
+index c0b7426..2efaf23 100644
+--- a/app/core/gimpparamspecs-duplicate.c
++++ b/app/core/gimpparamspecs-duplicate.c
+@@ -67,7 +67,7 @@ gimp_param_spec_duplicate (GParamSpec *pspec)
+ spec->default_value,
+ pspec->flags);
+
+- if (GEGL_IS_PARAM_SPEC_MULTILINE (pspec))
++ if (gegl_param_spec_get_property_key(pspec, "multiline"))
+ {
+ g_param_spec_set_qdata (new, multiline_quark,
+ GINT_TO_POINTER (TRUE));
+--
+2.13.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch
new file mode 100644
index 000000000..b71bf329e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp/bump_Babl-GEGL_versions.patch
@@ -0,0 +1,53 @@
+Bump acceptable versions of babl and gegl.
+
+Patch is taken from debian:
+https://packages.debian.org/stretch/gimp
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+diff --git a/app/sanity.c b/app/sanity.c
+index febddfb..85fea55 100644
+--- a/app/sanity.c
++++ b/app/sanity.c
+@@ -351,7 +351,7 @@ sanity_check_babl (void)
+
+ #define BABL_REQUIRED_MAJOR 0
+ #define BABL_REQUIRED_MINOR 1
+-#define BABL_REQUIRED_MICRO 10
++#define BABL_REQUIRED_MICRO 12
+
+ babl_get_version (&babl_major_version,
+ &babl_minor_version,
+@@ -388,7 +388,7 @@ sanity_check_gegl (void)
+ gint gegl_micro_version;
+
+ #define GEGL_REQUIRED_MAJOR 0
+-#define GEGL_REQUIRED_MINOR 2
++#define GEGL_REQUIRED_MINOR 3
+ #define GEGL_REQUIRED_MICRO 0
+
+ gegl_get_version (&gegl_major_version,
+diff --git a/configure.ac b/configure.ac
+index 26812b6..4252fe9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -40,8 +40,8 @@ m4_define([gimp_stable],
+ m4_define([gimp_full_name], [GNU Image Manipulation Program])
+
+ # required versions of other packages
+-m4_define([babl_required_version], [0.1.10])
+-m4_define([gegl_required_version], [0.2.0])
++m4_define([babl_required_version], [0.1.12])
++m4_define([gegl_required_version], [0.3.0])
+ m4_define([glib_required_version], [2.30.2])
+ m4_define([atk_required_version], [2.2.0])
+ m4_define([gtk_required_version], [2.24.10])
+@@ -519,7 +519,7 @@ AC_SUBST(ISO_CODES_LOCALEDIR)
+ ###############################
+
+ PKG_CHECK_MODULES(BABL, babl >= babl_required_version)
+-PKG_CHECK_MODULES(GEGL, gegl-0.2 >= gegl_required_version)
++PKG_CHECK_MODULES(GEGL, gegl-0.3 >= gegl_required_version)
+ PKG_CHECK_MODULES(ATK, atk >= atk_required_version)
+
+ AM_PATH_GLIB_2_0(glib_required_version, :,
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
new file mode 100644
index 000000000..943986e77
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gimp/gimp_2.8.22.bb
@@ -0,0 +1,51 @@
+SUMMARY = "The GIMP is the GNU Image Manipulation Program"
+HOMEPAGE = "http://www.gimp.org"
+SECTION = "x11/graphics"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = " \
+ gdk-pixbuf-native \
+ intltool-native \
+ libxslt-native \
+ gtk+ \
+ babl \
+ gegl \
+ jpeg \
+ libpng \
+ libexif \
+ tiff \
+ lcms \
+ poppler \
+ jasper \
+ bzip2 \
+ libgudev \
+ libmng \
+"
+DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxmu libxpm', '', d)}"
+
+inherit distro_features_check gnome gtk-doc
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://ftp.gimp.org/pub/gimp/v2.8/gimp-${PV}.tar.bz2 \
+ file://0001-configure-ac-do-not-check-for-freetype-config.patch \
+ file://bump_Babl-GEGL_versions.patch \
+ file://0003-Fix-use-of-gegl-API.patch \
+ "
+SRC_URI[md5sum] = "7e4fd7a53b1d3c32dff642ab1a94b44d"
+SRC_URI[sha256sum] = "9187a35cc52b110d78124d7b27b68a68ade14a794c2721314bac6134d2a5638a"
+
+EXTRA_OECONF = "--disable-python \
+ --without-webkit \
+ --without-wmf"
+
+do_configure_append() {
+ find ${B} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+ find ${B} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
+}
+
+CFLAGS += "-fPIC"
+
+FILES_${PN}-dbg += "${libdir}/gimp/2.0/*/.debug"
+FILES_${PN} += "${datadir}/appdata"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
new file mode 100644
index 000000000..d69c5af3a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch
@@ -0,0 +1,860 @@
+From 99a9676a0193f6291d7202d7af72e24580abe565 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 16 Mar 2018 13:55:29 +0100
+Subject: [PATCH 1/2] Make GLM_ENABLE_EXPERIMENTAL a configurable option
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems that erroring out if GLM_ENABLE_EXPERIMENTAL is not set turns into
+packagers nightmare: There are packages around expecting glx headers. E.g
+libgltf [1] fails during configure checking for usable headers AND during
+compile. Paticularly fixing configure for those packages is time-consuming:
+The only way (correct me if I am wrong) is creating a patch adding
+
+AC_DEFINE([GLM_ENABLE_EXPERIMENTAL], [1], [glm needs this for gtx headers])
+
+By adding a configure option 'GLM_ENABLE_EXPERIMENTAL', the decision to use
+glm/glx is done at one (and the right) place.
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+[1] https://gerrit.libreoffice.org/gitweb?p=libgltf.git
+
+Uptream-Status: Submitted [2]
+
+[2] https://github.com/g-truc/glm/pull/741
+---
+ CMakeLists.txt | 6 ++++++
+ glm/CMakeLists.txt | 2 ++
+ glm/experimental.hpp.in | 1 +
+ glm/ext.hpp | 1 +
+ glm/gtx/associated_min_max.hpp | 1 +
+ glm/gtx/bit.hpp | 1 +
+ glm/gtx/closest_point.hpp | 1 +
+ glm/gtx/color_space.hpp | 1 +
+ glm/gtx/color_space_YCoCg.hpp | 1 +
+ glm/gtx/common.hpp | 1 +
+ glm/gtx/compatibility.hpp | 1 +
+ glm/gtx/component_wise.hpp | 1 +
+ glm/gtx/dual_quaternion.hpp | 1 +
+ glm/gtx/euler_angles.hpp | 1 +
+ glm/gtx/extend.hpp | 1 +
+ glm/gtx/extended_min_max.hpp | 1 +
+ glm/gtx/fast_exponential.hpp | 1 +
+ glm/gtx/fast_square_root.hpp | 1 +
+ glm/gtx/fast_trigonometry.hpp | 1 +
+ glm/gtx/gradient_paint.hpp | 1 +
+ glm/gtx/handed_coordinate_space.hpp | 1 +
+ glm/gtx/hash.hpp | 1 +
+ glm/gtx/integer.hpp | 1 +
+ glm/gtx/intersect.hpp | 1 +
+ glm/gtx/io.hpp | 1 +
+ glm/gtx/log_base.hpp | 1 +
+ glm/gtx/matrix_cross_product.hpp | 1 +
+ glm/gtx/matrix_decompose.hpp | 1 +
+ glm/gtx/matrix_factorisation.hpp | 1 +
+ glm/gtx/matrix_interpolation.hpp | 1 +
+ glm/gtx/matrix_major_storage.hpp | 1 +
+ glm/gtx/matrix_operation.hpp | 1 +
+ glm/gtx/matrix_query.hpp | 1 +
+ glm/gtx/matrix_transform_2d.hpp | 1 +
+ glm/gtx/mixed_product.hpp | 1 +
+ glm/gtx/norm.hpp | 1 +
+ glm/gtx/normal.hpp | 1 +
+ glm/gtx/normalize_dot.hpp | 1 +
+ glm/gtx/number_precision.hpp | 1 +
+ glm/gtx/optimum_pow.hpp | 1 +
+ glm/gtx/orthonormalize.hpp | 1 +
+ glm/gtx/perpendicular.hpp | 1 +
+ glm/gtx/polar_coordinates.hpp | 1 +
+ glm/gtx/projection.hpp | 1 +
+ glm/gtx/quaternion.hpp | 1 +
+ glm/gtx/range.hpp | 1 +
+ glm/gtx/raw_data.hpp | 1 +
+ glm/gtx/rotate_normalized_axis.hpp | 1 +
+ glm/gtx/rotate_vector.hpp | 1 +
+ glm/gtx/scalar_multiplication.hpp | 1 +
+ glm/gtx/scalar_relational.hpp | 1 +
+ glm/gtx/spline.hpp | 1 +
+ glm/gtx/std_based_type.hpp | 1 +
+ glm/gtx/string_cast.hpp | 1 +
+ glm/gtx/texture.hpp | 1 +
+ glm/gtx/transform.hpp | 1 +
+ glm/gtx/transform2.hpp | 1 +
+ glm/gtx/type_aligned.hpp | 1 +
+ glm/gtx/type_trait.hpp | 1 +
+ glm/gtx/vec_swizzle.hpp | 1 +
+ glm/gtx/vector_angle.hpp | 1 +
+ glm/gtx/vector_query.hpp | 1 +
+ glm/gtx/wrap.hpp | 1 +
+ 63 files changed, 69 insertions(+)
+ create mode 100644 glm/experimental.hpp.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e5159b0f..bd4dd654 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,6 +82,11 @@ option(GLM_TEST_ENABLE_SIMD_AVX "Enable AVX optimizations" OFF)
+ option(GLM_TEST_ENABLE_SIMD_AVX2 "Enable AVX2 optimizations" OFF)
+ option(GLM_TEST_FORCE_PURE "Force 'pure' instructions" OFF)
+
++option(GLM_ENABLE_EXPERIMENTAL "Enable experimental GLM_GTX" OFF)
++configure_file(glm/experimental.hpp.in experimental.hpp @ONLY)
++include_directories(${CMAKE_BINARY_DIR}/glm)
++include_directories(${CMAKE_BINARY_DIR})
++
+ if(GLM_TEST_FORCE_PURE)
+ add_definitions(-DGLM_FORCE_PURE)
+
+@@ -167,6 +172,7 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
+ set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
+ if (GLM_INSTALL_ENABLE)
+ install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
+ endif()
+
+ write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/glmConfigVersion.cmake" VERSION ${GLM_VERSION} COMPATIBILITY AnyNewerVersion)
+diff --git a/glm/CMakeLists.txt b/glm/CMakeLists.txt
+index df9c9ee5..dc5db4bc 100644
+--- a/glm/CMakeLists.txt
++++ b/glm/CMakeLists.txt
+@@ -43,6 +43,8 @@ source_group("SIMD Files" FILES ${SIMD_INLINE})
+ source_group("SIMD Files" FILES ${SIMD_HEADER})
+
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
++# make out-of tree builds find experimental.hpp
++include_directories(${CMAKE_BINARY_DIR}/glm)
+
+ if(GLM_STATIC_LIBRARY_ENABLE OR GLM_DYNAMIC_LIBRARY_ENABLE)
+ if(GLM_STATIC_LIBRARY_ENABLE)
+diff --git a/glm/experimental.hpp.in b/glm/experimental.hpp.in
+new file mode 100644
+index 00000000..bfab5138
+--- /dev/null
++++ b/glm/experimental.hpp.in
+@@ -0,0 +1 @@
++#cmakedefine GLM_ENABLE_EXPERIMENTAL
+diff --git a/glm/ext.hpp b/glm/ext.hpp
+index d085bfd5..a2948447 100644
+--- a/glm/ext.hpp
++++ b/glm/ext.hpp
+@@ -39,6 +39,7 @@
+ # include "./gtc/type_aligned.hpp"
+ #endif
+
++#include "experimental.hpp"
+ #ifdef GLM_ENABLE_EXPERIMENTAL
+ #include "./gtx/associated_min_max.hpp"
+ #include "./gtx/bit.hpp"
+diff --git a/glm/gtx/associated_min_max.hpp b/glm/gtx/associated_min_max.hpp
+index 0c9935f3..d00c2bc4 100644
+--- a/glm/gtx/associated_min_max.hpp
++++ b/glm/gtx/associated_min_max.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/bit.hpp b/glm/gtx/bit.hpp
+index 1447fa00..31957083 100644
+--- a/glm/gtx/bit.hpp
++++ b/glm/gtx/bit.hpp
+@@ -15,6 +15,7 @@
+ // Dependencies
+ #include "../gtc/bitfield.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/closest_point.hpp b/glm/gtx/closest_point.hpp
+index 6859bb96..ebd9fe5a 100644
+--- a/glm/gtx/closest_point.hpp
++++ b/glm/gtx/closest_point.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/color_space.hpp b/glm/gtx/color_space.hpp
+index d1e655c3..51416819 100644
+--- a/glm/gtx/color_space.hpp
++++ b/glm/gtx/color_space.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/color_space_YCoCg.hpp b/glm/gtx/color_space_YCoCg.hpp
+index e82cbd8b..7ae71041 100644
+--- a/glm/gtx/color_space_YCoCg.hpp
++++ b/glm/gtx/color_space_YCoCg.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/common.hpp b/glm/gtx/common.hpp
+index 8081bff7..57a68a8d 100644
+--- a/glm/gtx/common.hpp
++++ b/glm/gtx/common.hpp
+@@ -18,6 +18,7 @@
+ #include "../vec4.hpp"
+ #include "../gtc/vec1.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/compatibility.hpp b/glm/gtx/compatibility.hpp
+index e5b60399..9876669c 100644
+--- a/glm/gtx/compatibility.hpp
++++ b/glm/gtx/compatibility.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/quaternion.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/component_wise.hpp b/glm/gtx/component_wise.hpp
+index 39bab5d5..4fe0e4e2 100644
+--- a/glm/gtx/component_wise.hpp
++++ b/glm/gtx/component_wise.hpp
+@@ -18,6 +18,7 @@
+ #include "../detail/setup.hpp"
+ #include "../detail/qualifier.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/dual_quaternion.hpp b/glm/gtx/dual_quaternion.hpp
+index c4343e9d..d59fb459 100644
+--- a/glm/gtx/dual_quaternion.hpp
++++ b/glm/gtx/dual_quaternion.hpp
+@@ -20,6 +20,7 @@
+ #include "../gtc/constants.hpp"
+ #include "../gtc/quaternion.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/euler_angles.hpp b/glm/gtx/euler_angles.hpp
+index e66e9281..ad5988c1 100644
+--- a/glm/gtx/euler_angles.hpp
++++ b/glm/gtx/euler_angles.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/extend.hpp b/glm/gtx/extend.hpp
+index eda4e470..cde6db63 100644
+--- a/glm/gtx/extend.hpp
++++ b/glm/gtx/extend.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/extended_min_max.hpp b/glm/gtx/extended_min_max.hpp
+index 3e767b0c..0bcffcc6 100644
+--- a/glm/gtx/extended_min_max.hpp
++++ b/glm/gtx/extended_min_max.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/fast_exponential.hpp b/glm/gtx/fast_exponential.hpp
+index 2d4918e7..e6d11f0a 100644
+--- a/glm/gtx/fast_exponential.hpp
++++ b/glm/gtx/fast_exponential.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/fast_square_root.hpp b/glm/gtx/fast_square_root.hpp
+index 1e1ec3cf..f758aeef 100644
+--- a/glm/gtx/fast_square_root.hpp
++++ b/glm/gtx/fast_square_root.hpp
+@@ -19,6 +19,7 @@
+ #include "../exponential.hpp"
+ #include "../geometric.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/fast_trigonometry.hpp b/glm/gtx/fast_trigonometry.hpp
+index 739065fb..f1332958 100644
+--- a/glm/gtx/fast_trigonometry.hpp
++++ b/glm/gtx/fast_trigonometry.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../gtc/constants.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/gradient_paint.hpp b/glm/gtx/gradient_paint.hpp
+index 2713cec0..d4703991 100644
+--- a/glm/gtx/gradient_paint.hpp
++++ b/glm/gtx/gradient_paint.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/optimum_pow.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/handed_coordinate_space.hpp b/glm/gtx/handed_coordinate_space.hpp
+index 1d0d4104..3a52ddcf 100644
+--- a/glm/gtx/handed_coordinate_space.hpp
++++ b/glm/gtx/handed_coordinate_space.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/hash.hpp b/glm/gtx/hash.hpp
+index fe8a3efd..92bfc9b2 100644
+--- a/glm/gtx/hash.hpp
++++ b/glm/gtx/hash.hpp
+@@ -12,6 +12,7 @@
+
+ #pragma once
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/integer.hpp b/glm/gtx/integer.hpp
+index 96637a13..5d1a16c6 100644
+--- a/glm/gtx/integer.hpp
++++ b/glm/gtx/integer.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/integer.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/intersect.hpp b/glm/gtx/intersect.hpp
+index 61e2226a..4895ba93 100644
+--- a/glm/gtx/intersect.hpp
++++ b/glm/gtx/intersect.hpp
+@@ -21,6 +21,7 @@
+ #include "../gtx/closest_point.hpp"
+ #include "../gtx/vector_query.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/io.hpp b/glm/gtx/io.hpp
+index 49a1ec11..ae39cd60 100644
+--- a/glm/gtx/io.hpp
++++ b/glm/gtx/io.hpp
+@@ -23,6 +23,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/quaternion.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/log_base.hpp b/glm/gtx/log_base.hpp
+index e873e356..45b8d53c 100644
+--- a/glm/gtx/log_base.hpp
++++ b/glm/gtx/log_base.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_cross_product.hpp b/glm/gtx/matrix_cross_product.hpp
+index 967743b8..52d6c173 100644
+--- a/glm/gtx/matrix_cross_product.hpp
++++ b/glm/gtx/matrix_cross_product.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_decompose.hpp b/glm/gtx/matrix_decompose.hpp
+index b7ec0e83..6793fee2 100644
+--- a/glm/gtx/matrix_decompose.hpp
++++ b/glm/gtx/matrix_decompose.hpp
+@@ -20,6 +20,7 @@
+ #include "../gtc/quaternion.hpp"
+ #include "../gtc/matrix_transform.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_factorisation.hpp b/glm/gtx/matrix_factorisation.hpp
+index e30a7746..79c293be 100644
+--- a/glm/gtx/matrix_factorisation.hpp
++++ b/glm/gtx/matrix_factorisation.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_interpolation.hpp b/glm/gtx/matrix_interpolation.hpp
+index 89c4596c..799983bb 100644
+--- a/glm/gtx/matrix_interpolation.hpp
++++ b/glm/gtx/matrix_interpolation.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_major_storage.hpp b/glm/gtx/matrix_major_storage.hpp
+index 7f264a59..e68467cd 100644
+--- a/glm/gtx/matrix_major_storage.hpp
++++ b/glm/gtx/matrix_major_storage.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_operation.hpp b/glm/gtx/matrix_operation.hpp
+index bce938bb..1e85bb5e 100644
+--- a/glm/gtx/matrix_operation.hpp
++++ b/glm/gtx/matrix_operation.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_query.hpp b/glm/gtx/matrix_query.hpp
+index 5df5f52f..eec1eec0 100644
+--- a/glm/gtx/matrix_query.hpp
++++ b/glm/gtx/matrix_query.hpp
+@@ -18,6 +18,7 @@
+ #include "../gtx/vector_query.hpp"
+ #include <limits>
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/matrix_transform_2d.hpp b/glm/gtx/matrix_transform_2d.hpp
+index 239ab9f4..3ca8d2f2 100644
+--- a/glm/gtx/matrix_transform_2d.hpp
++++ b/glm/gtx/matrix_transform_2d.hpp
+@@ -17,6 +17,7 @@
+ #include "../mat3x3.hpp"
+ #include "../vec2.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/mixed_product.hpp b/glm/gtx/mixed_product.hpp
+index 58562aab..5c7460d5 100644
+--- a/glm/gtx/mixed_product.hpp
++++ b/glm/gtx/mixed_product.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/norm.hpp b/glm/gtx/norm.hpp
+index 46474e07..3cf2c3ea 100644
+--- a/glm/gtx/norm.hpp
++++ b/glm/gtx/norm.hpp
+@@ -17,6 +17,7 @@
+ #include "../geometric.hpp"
+ #include "../gtx/quaternion.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/normal.hpp b/glm/gtx/normal.hpp
+index 15cec9c2..7bb4c096 100644
+--- a/glm/gtx/normal.hpp
++++ b/glm/gtx/normal.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/normalize_dot.hpp b/glm/gtx/normalize_dot.hpp
+index 86048e70..c6604da4 100644
+--- a/glm/gtx/normalize_dot.hpp
++++ b/glm/gtx/normalize_dot.hpp
+@@ -16,6 +16,7 @@
+ // Dependency:
+ #include "../gtx/fast_square_root.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/number_precision.hpp b/glm/gtx/number_precision.hpp
+index 3732a56c..b48845f7 100644
+--- a/glm/gtx/number_precision.hpp
++++ b/glm/gtx/number_precision.hpp
+@@ -18,6 +18,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/type_precision.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/optimum_pow.hpp b/glm/gtx/optimum_pow.hpp
+index eb09f1c3..94a6bbb2 100644
+--- a/glm/gtx/optimum_pow.hpp
++++ b/glm/gtx/optimum_pow.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/orthonormalize.hpp b/glm/gtx/orthonormalize.hpp
+index 2a684ee4..4ff47e53 100644
+--- a/glm/gtx/orthonormalize.hpp
++++ b/glm/gtx/orthonormalize.hpp
+@@ -18,6 +18,7 @@
+ #include "../mat3x3.hpp"
+ #include "../geometric.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/perpendicular.hpp b/glm/gtx/perpendicular.hpp
+index 35601ac7..17251ebe 100644
+--- a/glm/gtx/perpendicular.hpp
++++ b/glm/gtx/perpendicular.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/projection.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/polar_coordinates.hpp b/glm/gtx/polar_coordinates.hpp
+index b8421db4..5125215d 100644
+--- a/glm/gtx/polar_coordinates.hpp
++++ b/glm/gtx/polar_coordinates.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/projection.hpp b/glm/gtx/projection.hpp
+index 9a24abf9..4d5bf76f 100644
+--- a/glm/gtx/projection.hpp
++++ b/glm/gtx/projection.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../geometric.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/quaternion.hpp b/glm/gtx/quaternion.hpp
+index c3d99a5c..808ba0fd 100644
+--- a/glm/gtx/quaternion.hpp
++++ b/glm/gtx/quaternion.hpp
+@@ -19,6 +19,7 @@
+ #include "../gtc/quaternion.hpp"
+ #include "../gtx/norm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/range.hpp b/glm/gtx/range.hpp
+index e0ef46af..03c797c3 100644
+--- a/glm/gtx/range.hpp
++++ b/glm/gtx/range.hpp
+@@ -15,6 +15,7 @@
+ // Dependencies
+ #include "../detail/setup.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/raw_data.hpp b/glm/gtx/raw_data.hpp
+index fb34c8cb..0084fec6 100644
+--- a/glm/gtx/raw_data.hpp
++++ b/glm/gtx/raw_data.hpp
+@@ -16,6 +16,7 @@
+ #include "../detail/setup.hpp"
+ #include "../detail/type_int.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/rotate_normalized_axis.hpp b/glm/gtx/rotate_normalized_axis.hpp
+index eee90d6e..82612928 100644
+--- a/glm/gtx/rotate_normalized_axis.hpp
++++ b/glm/gtx/rotate_normalized_axis.hpp
+@@ -19,6 +19,7 @@
+ #include "../gtc/epsilon.hpp"
+ #include "../gtc/quaternion.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/rotate_vector.hpp b/glm/gtx/rotate_vector.hpp
+index c8ace89e..e954b041 100644
+--- a/glm/gtx/rotate_vector.hpp
++++ b/glm/gtx/rotate_vector.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/transform.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/scalar_multiplication.hpp b/glm/gtx/scalar_multiplication.hpp
+index b73edf67..22baa52a 100644
+--- a/glm/gtx/scalar_multiplication.hpp
++++ b/glm/gtx/scalar_multiplication.hpp
+@@ -16,6 +16,7 @@
+
+ #include "../detail/setup.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/scalar_relational.hpp b/glm/gtx/scalar_relational.hpp
+index 7fc8c1cc..f21f3b2b 100644
+--- a/glm/gtx/scalar_relational.hpp
++++ b/glm/gtx/scalar_relational.hpp
+@@ -15,6 +15,7 @@
+ // Dependency:
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/spline.hpp b/glm/gtx/spline.hpp
+index f96d7e07..76359cfd 100644
+--- a/glm/gtx/spline.hpp
++++ b/glm/gtx/spline.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/optimum_pow.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/std_based_type.hpp b/glm/gtx/std_based_type.hpp
+index 55a2f074..92532b9e 100644
+--- a/glm/gtx/std_based_type.hpp
++++ b/glm/gtx/std_based_type.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include <cstdlib>
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/string_cast.hpp b/glm/gtx/string_cast.hpp
+index 4b4e280f..dfcd5085 100644
+--- a/glm/gtx/string_cast.hpp
++++ b/glm/gtx/string_cast.hpp
+@@ -24,6 +24,7 @@
+ #include <string>
+ #include <cmath>
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/texture.hpp b/glm/gtx/texture.hpp
+index 312bf398..7af185f6 100644
+--- a/glm/gtx/texture.hpp
++++ b/glm/gtx/texture.hpp
+@@ -17,6 +17,7 @@
+ #include "../gtc/integer.hpp"
+ #include "../gtx/component_wise.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/transform.hpp b/glm/gtx/transform.hpp
+index d23b99ce..5a5d9619 100644
+--- a/glm/gtx/transform.hpp
++++ b/glm/gtx/transform.hpp
+@@ -19,6 +19,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/matrix_transform.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/transform2.hpp b/glm/gtx/transform2.hpp
+index 85f5bea4..5d7c83fc 100644
+--- a/glm/gtx/transform2.hpp
++++ b/glm/gtx/transform2.hpp
+@@ -17,6 +17,7 @@
+ #include "../glm.hpp"
+ #include "../gtx/transform.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/type_aligned.hpp b/glm/gtx/type_aligned.hpp
+index 6ff9f276..6ad92fad 100644
+--- a/glm/gtx/type_aligned.hpp
++++ b/glm/gtx/type_aligned.hpp
+@@ -18,6 +18,7 @@
+ // Dependency:
+ #include "../gtc/type_precision.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/type_trait.hpp b/glm/gtx/type_trait.hpp
+index 637bbd19..65519cab 100644
+--- a/glm/gtx/type_trait.hpp
++++ b/glm/gtx/type_trait.hpp
+@@ -12,6 +12,7 @@
+
+ #pragma once
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp
+index daebac38..13d523dc 100644
+--- a/glm/gtx/vec_swizzle.hpp
++++ b/glm/gtx/vec_swizzle.hpp
+@@ -14,6 +14,7 @@
+
+ #include "../glm.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/vector_angle.hpp b/glm/gtx/vector_angle.hpp
+index 401a47eb..98c9d110 100644
+--- a/glm/gtx/vector_angle.hpp
++++ b/glm/gtx/vector_angle.hpp
+@@ -20,6 +20,7 @@
+ #include "../gtx/quaternion.hpp"
+ #include "../gtx/rotate_vector.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/vector_query.hpp b/glm/gtx/vector_query.hpp
+index 6560eaa5..5ab1ffda 100644
+--- a/glm/gtx/vector_query.hpp
++++ b/glm/gtx/vector_query.hpp
+@@ -17,6 +17,7 @@
+ #include <cfloat>
+ #include <limits>
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+diff --git a/glm/gtx/wrap.hpp b/glm/gtx/wrap.hpp
+index 2c4b55df..5bf26a33 100644
+--- a/glm/gtx/wrap.hpp
++++ b/glm/gtx/wrap.hpp
+@@ -16,6 +16,7 @@
+ #include "../glm.hpp"
+ #include "../gtc/vec1.hpp"
+
++#include "../experimental.hpp"
+ #ifndef GLM_ENABLE_EXPERIMENTAL
+ # error "GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
+ #endif
+--
+2.14.3
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
new file mode 100644
index 000000000..1be3318cc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/files/0002-glm-install-headers-only.patch
@@ -0,0 +1,46 @@
+From 7fdd36d7496238e03e43fcc32839f75588116c5d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
+Date: Fri, 16 Mar 2018 15:44:48 +0100
+Subject: [PATCH 2/2] glm: install headers only
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Plausibility check in root source path
+
+$ find glm -type f ! -name '*.hpp' ! -name '*.h' ! -name '*.inl'
+glm/detail/glm.cpp
+glm/detail/dummy.cpp
+glm/experimental.hpp.in
+glm/CMakeLists.txt
+
+Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
+
+Uptream-Status: Submitted [1]
+
+[1] https://github.com/g-truc/glm/pull/741
+---
+ CMakeLists.txt | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bd4dd654..113dd735 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -171,7 +171,12 @@ option(GLM_INSTALL_ENABLE "GLM install" ON)
+
+ set(GLM_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/glm")
+ if (GLM_INSTALL_ENABLE)
+- install(DIRECTORY glm DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++ install(DIRECTORY glm
++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++ FILES_MATCHING
++ PATTERN "*.h"
++ PATTERN "*.hpp"
++ PATTERN "*.inl")
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/experimental.hpp" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glm)
+ endif()
+
+--
+2.14.3
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
new file mode 100644
index 000000000..4e2ee2378
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
@@ -0,0 +1,28 @@
+SUMMARY = "OpenGL Mathematics Library"
+DESCRIPTION = "OpenGL Mathematics (GLM) is a header only C++ \
+mathematics library for graphics software based on the OpenGL \
+Shading Language (GLSL) specifications."
+HOMEPAGE = "https://glm.g-truc.net"
+BUGTRACKER = "https://github.com/g-truc/glm/issues"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790"
+
+SRC_URI = " \
+ git://github.com/g-truc/glm;branch=master \
+ file://0001-Make-GLM_ENABLE_EXPERIMENTAL-a-configurable-option.patch \
+ file://0002-glm-install-headers-only.patch \
+"
+SRCREV = "fcbedf5058ef8613dd02aac62ef00d55dcfeadd7"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DGLM_ENABLE_EXPERIMENTAL=ON"
+
+FILES_${PN}-dev += "${libdir}/cmake"
+RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
new file mode 100644
index 000000000..7800fdd57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
@@ -0,0 +1,26 @@
+From 60b6d5c95ca3632e02031ac04fb5486dd209011c Mon Sep 17 00:00:00 2001
+From: Andreas Baak <andreas.baak@gmail.com>
+Date: Sun, 12 Jul 2015 01:02:15 -0700
+Subject: [PATCH] configure.ac remove AM_PO_SUBDIRS
+
+This is done twice together with oe autotools.bbclass.
+
+---
+ configure.ac | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index bb5b795..93fbaf2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -64,7 +64,6 @@ GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}])
+ ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW"
+ AM_GNU_GETTEXT_VERSION([0.14.1])
+ AM_GNU_GETTEXT([external])
+-AM_PO_SUBDIRS()
+ AM_ICONV()
+ GP_GETTEXT_FLAGS()
+
+--
+1.9.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
new file mode 100644
index 000000000..e6c7dd667
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2/0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch
@@ -0,0 +1,32 @@
+From 884d4c9bbd2dc147d614a5fabc25dbea7a71cd48 Mon Sep 17 00:00:00 2001
+From: Andreas Baak <andreas.baak@gmail.com>
+Date: Sun, 12 Jul 2015 02:13:58 -0700
+Subject: [PATCH] Look for popt with GP_CHECK_LIBRARY function
+
+The previously used proprietary function GP_CHECK_POPT
+defined in /.m4m/gp-check-opt.m4 is not ready for cross
+compilation since it looks for the library and headers
+in the host system. Yocto reports the following error:
+"QA Issue: gphoto2: The compile log indicates that host
+include and/or library paths were used."
+Using the GP_CHECK_LIBRARY function fixes this problem
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 93fbaf2..6d661f0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -285,7 +285,7 @@ GP_CONFIG_MSG([Text preview support],[$aa_msg])
+ dnl ---------------------------------------------------------------------------
+ dnl popt.h: Simplifies handling of command-line options enormously.
+ dnl ---------------------------------------------------------------------------
+-GP_CHECK_POPT([mandatory])
++GP_CHECK_LIBRARY([POPT], [popt], [], [popt.h], [], [], [mandatory])
+
+
+ dnl ---------------------------------------------------------------------------
+--
+1.9.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
new file mode 100644
index 000000000..75ad7f4f0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.14.bb
@@ -0,0 +1,22 @@
+SUMMARY = "gphoto2 - a command-line frontend to libgphoto2"
+HOMEPAGE = "http://www.gphoto.com/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
+
+DEPENDS = "libgphoto2 popt readline"
+RDEPENDS_gphoto2 = "libgphoto2"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2;name=gphoto2 \
+ file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+ file://0002-Look-for-popt-with-GP_CHECK_LIBRARY-function.patch \
+"
+
+SRC_URI[gphoto2.md5sum] = "6c6a21b5e879330cdd71ef92dce36399"
+SRC_URI[gphoto2.sha256sum] = "9302d02fb472d4936988382b7277ccdc4edaf7ede56c490278912ffd0627699c"
+
+inherit autotools pkgconfig gettext
+
+EXTRA_OECONF += "--with-jpeg-prefix=${STAGING_INCDIR} \
+ --without-cdk \
+"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
new file mode 100644
index 000000000..8093676ad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
@@ -0,0 +1,48 @@
+From 31a5d2f7db18737aef08c34e8707b4f69f7e5156 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Sun, 21 Oct 2012 17:59:20 +0200
+Subject: [PATCH] configure.ac: remove AM_PO_SUBDIRS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+together with oe autotools.bbclass this is done twice and causes:
+
+| autoreconf: running: aclocal --system-acdir=/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/aclocal-copy/ --automake-acdir=/home/Superandy/tmp/oe-core-eglibc/sysroots/x86_64-linux/usr/share/aclocal-1.12 -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/auto-m4/ -I /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r2/libgphoto2-2.4.11/m4m/ --force -I auto-m4 -I m4m
+| configure.ac:230: error: `po-directories' is already registered with AC_CONFIG_COMMANDS.
+
+Upstream-Status: Inapropriate [configuration]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ configure.ac | 1 -
+ libgphoto2_port/configure.ac | 1 -
+ 2 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2f8e1b8..2e90acf 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -209,7 +209,6 @@ ALL_LINGUAS="cs da de es eu fr hu it ja nl pl ru sv uk vi zh_CN"
+ GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_CURRENT_MIN}],[The gPhoto Team],[${MAIL_GPHOTO_TRANSLATION}])
+ AM_GNU_GETTEXT_VERSION([0.14.1])
+ AM_GNU_GETTEXT([external])
+-AM_PO_SUBDIRS()
+ AM_ICONV()
+ GP_GETTEXT_FLAGS()
+
+diff --git a/libgphoto2_port/configure.ac b/libgphoto2_port/configure.ac
+index 0b66d58..df47357 100644
+--- a/libgphoto2_port/configure.ac
++++ b/libgphoto2_port/configure.ac
+@@ -124,7 +124,6 @@ GP_GETTEXT_HACK([${PACKAGE}-${LIBGPHOTO2_PORT_CURRENT_MIN}],[Lutz Mueller and ot
+ ALL_LINGUAS="cs da de es eu fi fr it ja nl pl pt_BR ru sk sr sv uk vi zh_CN zh_TW"
+ AM_GNU_GETTEXT_VERSION([0.14.1])
+ AM_GNU_GETTEXT([external])
+-AM_PO_SUBDIRS()
+ AM_ICONV()
+ GP_GETTEXT_FLAGS()
+
+--
+1.7.4.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
new file mode 100644
index 000000000..3977064fe
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2-device.fdi
@@ -0,0 +1,9533 @@
+<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
+<!-- This file was generated by libgphoto2 print-camera-list - - fdi-device -->
+<!--+
+ | Created from this library:
+ | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
+ | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
+ +-->
+<deviceinfo version="0.2">
+ <device>
+ <match key="info.subsystem" string="usb">
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13251">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13252">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13891">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13628">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13869">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13702">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13128">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13129">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13130">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13272">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13180">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13181">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13259">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13093">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13121">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13124">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13125">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13193">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13194">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13176">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13588">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13736">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13892">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="14117">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13833">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13427">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13663">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13911">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13226">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13796">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1282">
+ <match key="usb_device.product_id" int="13853">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5845">
+ <match key="usb_device.product_id" int="32774">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5845">
+ <match key="usb_device.product_id" int="32773">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1725">
+ <match key="usb_device.product_id" int="1027">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1725">
+ <match key="usb_device.product_id" int="1028">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20555">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20554">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2250">
+ <match key="usb_device.product_id" int="273">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20554">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20555">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="360">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="40974">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="61443">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="36941">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7099">
+ <match key="usb_device.product_id" int="359">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="2048">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="7">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="8">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="10">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="12">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="18">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="11">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="13">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="5">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6473">
+ <match key="usb_device.product_id" int="242">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="548">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4762">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4779">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4752">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4754">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4756">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4759">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4768">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4776">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4753">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4755">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1452">
+ <match key="usb_device.product_id" int="4761">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="20488">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="20489">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="16386">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5416">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5417">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5433">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5432">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5305">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5448">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4618">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4893">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4620">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4865">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4867">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4881">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4897">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="12787">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4913">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4915">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="12841">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4871">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4951">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4945">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4873">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4875">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4883">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4885">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4917">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4877">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4879">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4889">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5359">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5480">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5481">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5311">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5400">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5384">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5385">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5293">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5274">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5227">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5214">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="5208">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="12715">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4615">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4929">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4891">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3705">
+ <match key="usb_device.product_id" int="4616">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37180">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="23055">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19680">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19681">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="20815">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="30579">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21519">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21535">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21775">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21760">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19664">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19665">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21023">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21007">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19648">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19649">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21600">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21608">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21504">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21520">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21521">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21606">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="30578">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21766">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21857">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="20992">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="20993">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21008">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21009">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21012">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21024">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21025">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21040">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21041">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19968">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19969">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19983">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19999">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19712">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19713">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19584">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19585">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19600">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19601">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19616">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="19617">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="22047">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="24322">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="22543">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="22559">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21632">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21633">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="30593">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21648">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2821">
+ <match key="usb_device.product_id" int="21649">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36945">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8320">
+ <match key="usb_device.product_id" int="6">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8320">
+ <match key="usb_device.product_id" int="5">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1189">
+ <match key="usb_device.product_id" int="12291">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7493">
+ <match key="usb_device.product_id" int="17821">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10823">
+ <match key="usb_device.product_id" int="32528">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10823">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10823">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12359">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12738">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12733">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12774">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12787">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12904">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12480">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12365">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12791">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12390">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12479">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12405">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12474">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12558">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12468">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12543">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12572">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12542">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12623">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12530">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12622">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12566">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12676">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12569">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12660">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12598">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12660">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12565">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12740">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12619">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12639">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12659">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12691">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12737">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12443">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12443">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12484">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12402">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12470">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12532">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12370">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12389">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12400">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12401">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12529">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12526">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12394">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12424">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12423">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12453">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12667">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12912">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12419">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12476">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12823">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12927">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12522">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12615">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12752">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12825">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12523">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12524">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12420">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12441">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12563">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12527">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12526">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12526">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12560">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12614">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12613">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12751">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12699">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12778">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12545">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12546">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12697">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12858">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12824">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12821">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12859">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12880">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12914">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12883">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12698">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12911">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12356">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12384">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12420">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12441">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12560">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12420">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12441">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12526">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12560">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12613">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12751">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12861">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12953">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12751">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12613">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12430">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12865">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12969">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12837">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12774">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12691">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12358">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12363">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12484">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12395">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12438">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12412">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12410">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12448">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12438">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12430">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12417">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12416">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12457">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12395">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12429">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12418">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12415">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12416">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12395">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12438">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12457">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12549">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12430">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12367">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12385">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12686">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12739">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12862">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12900">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12366">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12386">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12689">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12734">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12842">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12874">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12873">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12913">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12898">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12377">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12406">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12786">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12472">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12785">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12897">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12376">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12471">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12867">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12537">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12559">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12536">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12629">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12617">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12666">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12735">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12783">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12482">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12481">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12582">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12571">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12624">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12621">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12620">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12663">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12662">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12404">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12541">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12540">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12602">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12601">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12635">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12403">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12567">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12600">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12637">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12469">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12442">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12838">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12863">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12473">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12475">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12732">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12936">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12937">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12360">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12851">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12687">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12767">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12888">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12373">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12398">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12399">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12421">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12467">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12581">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12634">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12443">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12361">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12444">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12353">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12854">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12357">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12369">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12891">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12917">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12528">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12355">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12389">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12400">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12401">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12570">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12375">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12364">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12390">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12374">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12405">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12474">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12396">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12397">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12616">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12407">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12468">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12466">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12465">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12538">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12818">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12443">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12402">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12623">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12470">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12676">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12740">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12788">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12484">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12480">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12599">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12529">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12543">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12530">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12572">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12542">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12569">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12622">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12661">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12738">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12660">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12619">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12694">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12565">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12774">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12737">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12691">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12685">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12638">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12690">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12768">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12817">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12852">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12890">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12918">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12772">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12736">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12790">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12844">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12840">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12869">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12868">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12895">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12856">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12892">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12919">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12955">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12368">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12380">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12778">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12823">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12859">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1193">
+ <match key="usb_device.product_id" int="12408">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1999">
+ <match key="usb_device.product_id" int="4169">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1999">
+ <match key="usb_device.product_id" int="4162">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1999">
+ <match key="usb_device.product_id" int="4173">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1999">
+ <match key="usb_device.product_id" int="4172">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1999">
+ <match key="usb_device.product_id" int="4474">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1375">
+ <match key="usb_device.product_id" int="49664">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1207">
+ <match key="usb_device.product_id" int="34985">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="4098">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1943">
+ <match key="usb_device.product_id" int="32769">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="548">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7796">
+ <match key="usb_device.product_id" int="25874">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7763">
+ <match key="usb_device.product_id" int="5">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1000">
+ <match key="usb_device.product_id" int="8578">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1000">
+ <match key="usb_device.product_id" int="8576">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2386">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="1809">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="1873">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2321">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2369">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2049">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2161">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2193">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2145">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2177">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2337">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2305">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="1793">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="1889">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3617">
+ <match key="usb_device.product_id" int="2353">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16406">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16391">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16394">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16402">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16395">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16403">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16675">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16727">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16688">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16700">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16691">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16737">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16695">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16701">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16689">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16720">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16728">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16722">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16671">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16723">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16702">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16721">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16738">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16745">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16680">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4204">
+ <match key="usb_device.product_id" int="12821">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2125">
+ <match key="usb_device.product_id" int="3">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3428">
+ <match key="usb_device.product_id" int="4129">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1000">
+ <match key="usb_device.product_id" int="8496">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32768">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16690">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="16687">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16700">
+ <match key="usb_device.product_id" int="45323">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16700">
+ <match key="usb_device.product_id" int="45338">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16700">
+ <match key="usb_device.product_id" int="45339">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16700">
+ <match key="usb_device.product_id" int="17664">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7994">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1498">
+ <match key="usb_device.product_id" int="4120">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4483">
+ <match key="usb_device.product_id" int="1">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1498">
+ <match key="usb_device.product_id" int="4128">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2726">
+ <match key="usb_device.product_id" int="24609">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36944">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36946">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4310">
+ <match key="usb_device.product_id" int="8704">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1208">
+ <match key="usb_device.product_id" int="1027">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1208">
+ <match key="usb_device.product_id" int="1026">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10608">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10608">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6018">
+ <match key="usb_device.product_id" int="16385">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1747">
+ <match key="usb_device.product_id" int="8634">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3530">
+ <match key="usb_device.product_id" int="2">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3530">
+ <match key="usb_device.product_id" int="2">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="330">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="466">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="454">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="467">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="539">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="403">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="480">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="448">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="484">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="411">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="449">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="453">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="468">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="486">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="506">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="526">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="557">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="625">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="592">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="477">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="475">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="495">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="512">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="488">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="521">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="576">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="637">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="613">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="664">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="452">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="471">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="447">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="322">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="399">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="668">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="563">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="622">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="611">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="678">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="648">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="472">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="513">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="525">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="510">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="693">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1227">
+ <match key="usb_device.product_id" int="451">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1221">
+ <match key="usb_device.product_id" int="4416">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1221">
+ <match key="usb_device.product_id" int="4923">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2334">
+ <match key="usb_device.product_id" int="9605">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1112">
+ <match key="usb_device.product_id" int="28677">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1037">
+ <match key="usb_device.product_id" int="34908">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1044">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1044">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="7">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="6">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20033">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20034">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="19983">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="19712">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="11522">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="29706">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="53514">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="53513">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20193">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20194">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="45066">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="28840">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20005">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20006">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="1459">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="28930">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6353">
+ <match key="usb_device.product_id" int="20197">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="9842">
+ <match key="usb_device.product_id" int="17">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1943">
+ <match key="usb_device.product_id" int="32796">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4866">
+ <match key="usb_device.product_id" int="4118">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4866">
+ <match key="usb_device.product_id" int="4119">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="32285">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="23837">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="23581">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4251">
+ <match key="usb_device.product_id" int="37126">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4251">
+ <match key="usb_device.product_id" int="37129">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4251">
+ <match key="usb_device.product_id" int="37125">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="25858">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="25090">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="31746">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="32002">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="25346">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="26114">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="29698">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="30722">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="29186">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="28162">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="30978">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="27906">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="25346">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="16642">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="26626">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="28930">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="27394">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="25602">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="30210">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="26370">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="27650">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="27138">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="16898">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="30466">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="32258">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="17154">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="16642">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="17410">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="17666">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="16642">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="24578">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="61443">
+ <match key="usb_device.product_id" int="24578">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="35586">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="35842">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="29954">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="31490">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="29442">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="31234">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="32770">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="33026">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="33282">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="39682">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="33794">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="34050">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="38402">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="38658">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="34562">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1008">
+ <match key="usb_device.product_id" int="34818">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="26716">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="26720">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3782">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3773">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3583">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3219">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3240">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3582">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3556">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="1533">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3541">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3633">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3634">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3573">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="1966">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3546">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3985">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3940">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3939">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3975">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3935">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3936">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3562">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3538">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="1994">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3877">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="1562">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="4020">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="4021">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="1995">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="2009">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3308">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3576">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3577">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3578">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3579">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3580">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3581">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="2008">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="8210">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="1547">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="3533">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="61642">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="2977">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2996">
+ <match key="usb_device.product_id" int="2978">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4817">
+ <match key="usb_device.product_id" int="4226">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4817">
+ <match key="usb_device.product_id" int="13839">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4817">
+ <match key="usb_device.product_id" int="13855">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4817">
+ <match key="usb_device.product_id" int="4177">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4817">
+ <match key="usb_device.product_id" int="4178">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37203">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1161">
+ <match key="usb_device.product_id" int="49189">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6655">
+ <match key="usb_device.product_id" int="771">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6655">
+ <match key="usb_device.product_id" int="777">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6655">
+ <match key="usb_device.product_id" int="775">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="32903">
+ <match key="usb_device.product_id" int="2655">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="32903">
+ <match key="usb_device.product_id" int="2581">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="32903">
+ <match key="usb_device.product_id" int="2582">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="32902">
+ <match key="usb_device.product_id" int="1584">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="32903">
+ <match key="usb_device.product_id" int="2654">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="32903">
+ <match key="usb_device.product_id" int="2555">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4394">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4390">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4417">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4418">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4434">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4455">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4433">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="8449">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="8453">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="8450">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4102">
+ <match key="usb_device.product_id" int="12292">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4104">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4386">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4102">
+ <match key="usb_device.product_id" int="16386">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4102">
+ <match key="usb_device.product_id" int="16387">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4423">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4371">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4384">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4375">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4373">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4372">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4376">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4377">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4435">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4404">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4162">
+ <match key="usb_device.product_id" int="4419">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7784">
+ <match key="usb_device.product_id" int="4098">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4374">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="16642">
+ <match key="usb_device.product_id" int="4402">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2848">
+ <match key="usb_device.product_id" int="56814">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1924">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="13056">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1498">
+ <match key="usb_device.product_id" int="4102">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="0">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10545">
+ <match key="usb_device.product_id" int="2561">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10545">
+ <match key="usb_device.product_id" int="2565">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1265">
+ <match key="usb_device.product_id" int="24837">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2126">
+ <match key="usb_device.product_id" int="1">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2856">
+ <match key="usb_device.product_id" int="4108">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8759">
+ <match key="usb_device.product_id" int="53512">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8759">
+ <match key="usb_device.product_id" int="53513">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8759">
+ <match key="usb_device.product_id" int="45320">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1559">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1547">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1406">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1418">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1420">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1421">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1417">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1450">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1434">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1442">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1463">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1466">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1447">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1455">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1454">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1475">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1449">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1478">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1436">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1376">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1376">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1333">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1382">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1382">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1396">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1395">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1393">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1412">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1401">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1400">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1400">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1402">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1403">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1414">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1404">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="288">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="289">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="272">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="273">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="304">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="274">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="306">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="352">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="305">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1317">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1280">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1296">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1328">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="368">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1365">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1398">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1360">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1392">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1394">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1397">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1405">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1407">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1399">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="768">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1344">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1384">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1385">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1381">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1383">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1486">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1536">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1439">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1473">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1453">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1413">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1024">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1426">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1427">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1422">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1423">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1425">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1440">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1452">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1451">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1464">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1437">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1438">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1415">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1459">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1460">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1408">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1416">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1027">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1461">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1429">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1487">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1485">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1034">
+ <match key="usb_device.product_id" int="1472">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1224">
+ <match key="usb_device.product_id" int="1826">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4907">
+ <match key="usb_device.product_id" int="1">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4907">
+ <match key="usb_device.product_id" int="25">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4907">
+ <match key="usb_device.product_id" int="9">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4907">
+ <match key="usb_device.product_id" int="7">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4907">
+ <match key="usb_device.product_id" int="24">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4907">
+ <match key="usb_device.product_id" int="34">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7994">
+ <match key="usb_device.product_id" int="4102">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1154">
+ <match key="usb_device.product_id" int="2425">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1154">
+ <match key="usb_device.product_id" int="2064">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1154">
+ <match key="usb_device.product_id" int="1393">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1154">
+ <match key="usb_device.product_id" int="1434">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36945">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9077">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6808">
+ <match key="usb_device.product_id" int="2">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30519">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30507">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29848">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30140">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30142">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30018">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30077">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30440">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29706">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30851">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30133">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30554">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29900">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29847">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29862">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29944">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30488">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29724">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30450">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30698">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30463">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="30641">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25073">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25081">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25215">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25198">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="24859">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="24719">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="24882">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25406">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25145">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25149">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25116">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25125">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="24986">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1086">
+ <match key="usb_device.product_id" int="28736">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1086">
+ <match key="usb_device.product_id" int="28849">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25372">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="25189">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="24592">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4100">
+ <match key="usb_device.product_id" int="24581">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5073">
+ <match key="usb_device.product_id" int="28674">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1133">
+ <match key="usb_device.product_id" int="2304">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1133">
+ <match key="usb_device.product_id" int="2384">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="13056">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20555">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1647">
+ <match key="usb_device.product_id" int="33900">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3725">
+ <match key="usb_device.product_id" int="80">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1032">
+ <match key="usb_device.product_id" int="45066">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6127">
+ <match key="usb_device.product_id" int="29827">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20554">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8709">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16642">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1647">
+ <match key="usb_device.product_id" int="34128">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1647">
+ <match key="usb_device.product_id" int="34184">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1032">
+ <match key="usb_device.product_id" int="45065">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4721">
+ <match key="usb_device.product_id" int="8210">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8222">
+ <match key="usb_device.product_id" int="17067">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10821">
+ <match key="usb_device.product_id" int="8200">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10821">
+ <match key="usb_device.product_id" int="3074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4310">
+ <match key="usb_device.product_id" int="8960">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3504">
+ <match key="usb_device.product_id" int="21874">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="1600">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="1570">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="1260">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="1808">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="1598">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="61642">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="201">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1118">
+ <match key="usb_device.product_id" int="1601">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32776">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2125">
+ <match key="usb_device.product_id" int="3">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="24778">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28808">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="25807">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11826">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11827">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11879">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11941">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11944">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11880">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="16854">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="16858">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="17063">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="17279">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="17267">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="18449">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="16860">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28874">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11894">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11906">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11908">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11874">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11875">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11878">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="25619">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="25781">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="25782">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11856">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="11857">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="25621">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="10853">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28835">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28840">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28841">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="17169">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="17158">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="16847">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28941">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="28942">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8888">
+ <match key="usb_device.product_id" int="17250">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1375">
+ <match key="usb_device.product_id" int="49664">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1375">
+ <match key="usb_device.product_id" int="41808">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1375">
+ <match key="usb_device.product_id" int="49696">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1375">
+ <match key="usb_device.product_id" int="50208">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1375">
+ <match key="usb_device.product_id" int="50464">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2726">
+ <match key="usb_device.product_id" int="38401">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1033">
+ <match key="usb_device.product_id" int="806">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1033">
+ <match key="usb_device.product_id" int="1074">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1033">
+ <match key="usb_device.product_id" int="578">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1026">
+ <match key="usb_device.product_id" int="22120">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="770">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="279">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="290">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="291">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="265">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="277">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="289">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="273">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="285">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="301">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="516">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="267">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="304">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="305">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="297">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="275">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="518">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="281">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="302">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="269">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="309">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="313">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="311">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="287">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="259">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="295">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="274">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="401">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="258">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="550">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="392">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="520">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="779">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="777">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="382">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="351">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="389">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="789">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="792">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="791">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="804">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="835">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="773">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="402">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="320">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="381">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="322">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="545">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="524">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="361">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="388">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="347">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="547">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="355">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="552">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="785">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="367">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="383">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="395">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="549">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="553">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="363">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="364">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="371">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="823">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="838">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="334">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="353">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="375">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="376">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="801">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="813">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="831">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="795">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="800">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="820">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="810">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="324">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="809">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="349">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="544">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="334">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="369">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="542">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="540">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="343">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="543">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="546">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="390">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="403">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="843">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1028">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1036">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1032">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1052">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1034">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1026">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1040">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1046">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1050">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1060">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1061">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1063">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1068">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1075">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1062">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1056">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1067">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1044">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1048">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1077">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1059">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1065">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1071">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1073">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1054">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1069">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1030">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1058">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1064">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1038">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1072">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1079">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1042">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1066">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1070">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1078">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1057">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1538">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1539">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1541">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1545">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1542">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1537">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1200">
+ <match key="usb_device.product_id" int="1540">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20554">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="548">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="705">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="101">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="95">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1122">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="494">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="521">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1214">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="738">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1210">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="108">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="234">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1150">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="553">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1204">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="340">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="341">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="345">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="46">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="152">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="141">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="60">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="663">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1491">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1426">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="961">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="973">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="463">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="815">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="377">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="229">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="820">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="821">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="228">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="417">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="545">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1788">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1638">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1633">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1316">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1160">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1233">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1249">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="121">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="390">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="766">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="770">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1265">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="10">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="116">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="146">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1306">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1157">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1144">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1253">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1263">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="110">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="978">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="57">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="501">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="619">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="500">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="628">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1057">
+ <match key="usb_device.product_id" int="1768">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5891">
+ <match key="usb_device.product_id" int="1">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5891">
+ <match key="usb_device.product_id" int="2">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2389">
+ <match key="usb_device.product_id" int="28841">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2389">
+ <match key="usb_device.product_id" int="46080">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2389">
+ <match key="usb_device.product_id" int="52999">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2389">
+ <match key="usb_device.product_id" int="52994">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2389">
+ <match key="usb_device.product_id" int="28928">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2389">
+ <match key="usb_device.product_id" int="28930">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7763">
+ <match key="usb_device.product_id" int="6">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="272">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="303">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="303">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="278">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="275">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="303">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="276">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="278">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1972">
+ <match key="usb_device.product_id" int="278">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8921">
+ <match key="usb_device.product_id" int="10085">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8921">
+ <match key="usb_device.product_id" int="10100">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8921">
+ <match key="usb_device.product_id" int="10099">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="9076">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="8517">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1242">
+ <match key="usb_device.product_id" int="8536">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4204">
+ <match key="usb_device.product_id" int="61443">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7501">
+ <match key="usb_device.product_id" int="20534">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7501">
+ <match key="usb_device.product_id" int="20533">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7501">
+ <match key="usb_device.product_id" int="20554">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="9723">
+ <match key="usb_device.product_id" int="357">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2583">
+ <match key="usb_device.product_id" int="13">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2583">
+ <match key="usb_device.product_id" int="247">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2726">
+ <match key="usb_device.product_id" int="38658">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8316">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8377">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8504">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="357">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8311">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8334">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8196">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="2135">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="2126">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8194">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="335">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8309">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8315">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8375">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8421">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="333">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="332">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="491">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="331">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="6411">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8592">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="32257">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="385">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="356">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="8226">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1137">
+ <match key="usb_device.product_id" int="370">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2276">
+ <match key="usb_device.product_id" int="322">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2276">
+ <match key="usb_device.product_id" int="328">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1924">
+ <match key="usb_device.product_id" int="10376">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1350">
+ <match key="usb_device.product_id" int="8245">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1350">
+ <match key="usb_device.product_id" int="3503">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10724">
+ <match key="usb_device.product_id" int="4611">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10724">
+ <match key="usb_device.product_id" int="4355">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1924">
+ <match key="usb_device.product_id" int="21248">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="65535">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="34816">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="61443">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="553">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="12694">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="26468">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="26469">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="36921">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1478">
+ <match key="usb_device.product_id" int="36901">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3530">
+ <match key="usb_device.product_id" int="4">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1924">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="4704">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="4712">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8715">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8707">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8708">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8712">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8716">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="805">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8724">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="813">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8717">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8722">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="811">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8723">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8726">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="815">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8727">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8730">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="272">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8706">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="829">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8717">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4042">
+ <match key="usb_device.product_id" int="32775">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8719">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8719">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37181">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37181">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37181">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32771">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32771">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32771">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26726">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26407">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26720">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26716">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26743">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26450">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26799">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="57868">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26649">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="1188">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20255">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26420">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26178">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="5132">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="4996">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26698">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26467">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26377">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26793">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="26370">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20526">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20509">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20514">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20527">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20516">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="23055">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20531">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="1033">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20567">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20609">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20570">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20760">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20611">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20762">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20757">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20765">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20784">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20773">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20751">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20782">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20625">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20619">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20618">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20551">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20607">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20564">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20605">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20627">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20769">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20791">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1256">
+ <match key="usb_device.product_id" int="20540">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29712">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29776">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29778">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29746">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29748">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29924">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29904">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29824">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29728">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29730">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29792">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29888">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29890">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29920">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29697">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29696">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29744">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1921">
+ <match key="usb_device.product_id" int="29872">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1140">
+ <match key="usb_device.product_id" int="560">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1943">
+ <match key="usb_device.product_id" int="35073">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1943">
+ <match key="usb_device.product_id" int="35081">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1943">
+ <match key="usb_device.product_id" int="35089">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2125">
+ <match key="usb_device.product_id" int="4097">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="851">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="8718">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1482">
+ <match key="usb_device.product_id" int="807">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1245">
+ <match key="usb_device.product_id" int="38497">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1245">
+ <match key="usb_device.product_id" int="38602">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1161">
+ <match key="usb_device.product_id" int="49189">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1647">
+ <match key="usb_device.product_id" int="40976">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3191">
+ <match key="usb_device.product_id" int="4113">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3191">
+ <match key="usb_device.product_id" int="4117">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3191">
+ <match key="usb_device.product_id" int="4098">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3191">
+ <match key="usb_device.product_id" int="4112">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3428">
+ <match key="usb_device.product_id" int="4097">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3191">
+ <match key="usb_device.product_id" int="4097">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6390">
+ <match key="usb_device.product_id" int="258">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6390">
+ <match key="usb_device.product_id" int="272">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="13056">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7132">
+ <match key="usb_device.product_id" int="64191">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3530">
+ <match key="usb_device.product_id" int="2">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3783">
+ <match key="usb_device.product_id" int="4104">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1870">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1990">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2391">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2279">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2382">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2231">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2387">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2381">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2388">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2274">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="4756">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="704">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="743">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1347">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1567">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1774">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1169">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="2221">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1323">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1322">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1867">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="662">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="662">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="835">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="760">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1340">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20853">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="41333">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="45429">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="370">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20850">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16754">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="390">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20870">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16774">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="361">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20841">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16745">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="373">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16757">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="374">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16758">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="375">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20855">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16759">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="41335">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="45431">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="376">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20856">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16760">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="386">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20866">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16770">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="371">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20851">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16755">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="41331">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="45427">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1839">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1656">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="860">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="805">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="859">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1028">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="878">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="984">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1214">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1434">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1673">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1020">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1227">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="901">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1021">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1446">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="806">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1022">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="807">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="910">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="858">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="908">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1228">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1448">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="904">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1211">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="919">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="920">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="78">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1191">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="801">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1187">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1641">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1846">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1847">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1396">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1653">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20854">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="41334">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="45430">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="385">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20865">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16769">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1233">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1459">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1356">
+ <match key="usb_device.product_id" int="1460">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="369">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="368">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20848">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16752">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="384">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20864">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16768">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20849">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16753">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="382">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20862">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16766">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="41342">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="45438">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="365">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="408">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20888">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="419">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20899">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16803">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="396">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20876">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16780">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="444">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20924">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="444">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="459">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20939">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16843">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="392">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20872">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16776">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="402">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20882">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16786">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="411">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20891">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16795">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="427">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20907">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16811">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="426">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20906">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16810">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="405">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20885">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16789">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="397">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="404">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20877">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20884">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16781">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16788">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="403">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20883">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16787">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="438">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="406">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="412">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20918">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20886">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20892">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16796">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="423">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16807">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20903">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="414">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20894">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16798">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="431">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20911">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16815">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="443">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20923">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16827">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="442">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20922">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16826">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="393">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20873">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16777">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="407">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20887">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="326">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20806">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="217">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="212">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="239">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="343">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20823">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16727">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="334">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="53572">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="324">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="57344">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="117">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20815">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="335">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="346">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20826">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="342">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20822">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="349">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20829">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="358">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20838">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="359">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20839">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="360">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20840">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="16744">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="353">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20833">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="251">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="307">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="314">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="4296">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="243">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="261">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="198">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="179">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="245">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="118">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="218">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="274">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4046">
+ <match key="usb_device.product_id" int="20845">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37181">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1105">
+ <match key="usb_device.product_id" int="53512">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5073">
+ <match key="usb_device.product_id" int="28695">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2726">
+ <match key="usb_device.product_id" int="12305">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1691">
+ <match key="usb_device.product_id" int="12341">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1691">
+ <match key="usb_device.product_id" int="1911">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1691">
+ <match key="usb_device.product_id" int="1908">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1691">
+ <match key="usb_device.product_id" int="1916">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1691">
+ <match key="usb_device.product_id" int="12314">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1691">
+ <match key="usb_device.product_id" int="12328">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2329">
+ <match key="usb_device.product_id" int="256">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="5008">
+ <match key="usb_device.product_id" int="21589">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4571">
+ <match key="usb_device.product_id" int="4096">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="2403">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="12">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="9">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="29">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="26">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="24">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="17">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="15">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="16">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="25">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="22">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="20">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4402">
+ <match key="usb_device.product_id" int="17207">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4402">
+ <match key="usb_device.product_id" int="17202">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4402">
+ <match key="usb_device.product_id" int="17205">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="4402">
+ <match key="usb_device.product_id" int="17204">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2352">
+ <match key="usb_device.product_id" int="28928">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="13056">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3478">
+ <match key="usb_device.product_id" int="16640">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7784">
+ <match key="usb_device.product_id" int="2">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1026">
+ <match key="usb_device.product_id" int="1553">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1647">
+ <match key="usb_device.product_id" int="33834">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2125">
+ <match key="usb_device.product_id" int="3">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1750">
+ <match key="usb_device.product_id" int="46">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1750">
+ <match key="usb_device.product_id" int="45">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2250">
+ <match key="usb_device.product_id" int="272">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1276">
+ <match key="usb_device.product_id" int="20554">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1943">
+ <match key="usb_device.product_id" int="32794">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1363">
+ <match key="usb_device.product_id" int="514">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3428">
+ <match key="usb_device.product_id" int="4097">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8711">
+ <match key="usb_device.product_id" int="1">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8711">
+ <match key="usb_device.product_id" int="17">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1032">
+ <match key="usb_device.product_id" int="14489">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="37152">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2425">
+ <match key="usb_device.product_id" int="551">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="270">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="2362">
+ <match key="usb_device.product_id" int="271">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32778">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1161">
+ <match key="usb_device.product_id" int="57617">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1161">
+ <match key="usb_device.product_id" int="49190">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1161">
+ <match key="usb_device.product_id" int="57408">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1329">
+ <match key="usb_device.product_id" int="8193">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="3141">
+ <match key="usb_device.product_id" int="32769">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7763">
+ <match key="usb_device.product_id" int="7">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="4968">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="4680">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="4672">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="61443">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="36921">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="65352">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="872">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="864">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10007">
+ <match key="usb_device.product_id" int="1632">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="8711">
+ <match key="usb_device.product_id" int="6">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10518">
+ <match key="usb_device.product_id" int="37197">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10518">
+ <match key="usb_device.product_id" int="61443">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="7871">
+ <match key="usb_device.product_id" int="32553">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="1054">
+ <match key="usb_device.product_id" int="24576">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="10096">
+ <match key="usb_device.product_id" int="36956">
+ <append key="info.capabilities" type="strlist">camera</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="835">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="65486">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="580">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="581">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="774">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="775">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ <match key="usb_device.vendor_id" int="6610">
+ <match key="usb_device.product_id" int="899">
+ <append key="info.capabilities" type="strlist">portable_audio_player</append>
+ </match>
+ </match>
+ </match>
+ </device>
+</deviceinfo>
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
new file mode 100644
index 000000000..00427e7d9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/10-camera-libgphoto2.fdi
@@ -0,0 +1,19018 @@
+<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
+<!-- This file was generated by libgphoto2 print-camera-list - - fdi -->
+<!--+
+ | Created from this library:
+ | libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
+ | libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
+ +-->
+<deviceinfo version="0.2">
+ <device>
+ <match key="info.subsystem" string="usb">
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string"> JL2005B/C/D camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13251">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13252">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer E350 Liquid Gallant Duo (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13891">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer E39</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13628">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-810</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13869">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia A1-840FHD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13702">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia A3-A11</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13128">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13129">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A100 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13130">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A101 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13272">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A110</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13180">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13181">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A200 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13259">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A210</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13093">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13121">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A500 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13124">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13125">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A501 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13193">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13194">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A510 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13176">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Iconia TAB A700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13588">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Liquid E2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13736">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Liquid E3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13892">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer liquid e700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="14117">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Liquid S56</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13833">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Liquid X1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13427">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z120 MT65xx Android Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13663">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Liquid Z130 MT65xx Android Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13911">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer One 7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13226">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer S500 CloudMobile</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13796">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Z150</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1282">
+ <match key="usb.product_id" int="13853">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acer Z160</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5845">
+ <match key="usb.product_id" int="32774">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5845">
+ <match key="usb.product_id" int="32773">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Acromag Inc. XO Learning Tablet (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">AEG Snap 300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1725">
+ <match key="usb.product_id" int="1027">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL18</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1725">
+ <match key="usb.product_id" int="1028">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Agfa ePhoto CL20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20555">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek 1.3 mega PocketCam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek PalmCam Trio</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20554">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam Trio</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2250">
+ <match key="usb.product_id" int="273">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek PenCam VGA+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20554">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek Pencam without flash</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20555">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aiptek Smart Megacam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="360">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel 6030a</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel One Touch 997D (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="40974">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 5042D (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="61443">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel OneTouch 6034R</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="36941">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel/Bouygues BS472</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7099">
+ <match key="usb.product_id" int="359">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Alcatel/TCT 6010D/TCL S950</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Amazing Spiderman</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="2048">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Fire Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="7">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="8">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="10">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="12">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID4)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="18">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID5)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="11">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID6)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="13">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire (ID7)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="5">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire 2G (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6473">
+ <match key="usb.product_id" int="242">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Amazon Kindle Fire HD6</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="548">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">American Idol Keychain Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4762">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPad (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4779">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPad Air</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4752">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPhone (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4754">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3G (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4756">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPhone 3GS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4759">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4768">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPhone 4S (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4776">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPhone 5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4753">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4755">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 2G (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1452">
+ <match key="usb.product_id" int="4761">
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Apple iPod Touch 3rd Gen (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="20488">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="20489">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos (for Tesco) Hudl (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="16386">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 G4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5416">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5417">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5433">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5432">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 G9 Turbo 250 HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5305">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 Titanium</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5448">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 101 XS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4618">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 104 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4893">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 105 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4620">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 204 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4865">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 404 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4867">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 404CAM (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4881">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 405 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4897">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 405HDD (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="12787">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 45 Neon</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4913">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4915">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 5 (MTP mode 2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="12841">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 50 Diamond</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4871">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 504 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 50c</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4951">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 5H IT (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4945">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 5S IT (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4873">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 604 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4875">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 604WIFI (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4883">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 605 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4885">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 605F (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4917">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 7 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4877">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 704 mobile dvr</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4879">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 704TV (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4889">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 705 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5359">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 70b Titanium</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5480">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5481">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 70it2 (ID 2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5311">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 80 Titanium</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5400">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 80G9</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5384">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5385">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 8o G9 Turbo (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5293">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 97 Titanium</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5274">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos 97 Xenon</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5227">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos Arnova 10bG3 Tablet</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5214">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos Arnova 8c G3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="5208">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos Arnova Childpad</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="12715">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos C40</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4615">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos Gmini XS100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4929">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos SPOD (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4891">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos TV+ (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3705">
+ <match key="usb.product_id" int="4616">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Archos XS202 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus Bean Sprout</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC-1500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC-1510</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC-1610</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC-1620</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37180">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC-1730</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC-2200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus DC1512e</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Argus QuickClix</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aries ATC-0017</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Aries Digital Keychain Camera, I</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="23055">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus A450CG (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19680">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19681">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Asus Fonepad Note 6 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="20815">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Fonepad</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="30579">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 (FE375CXG)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21519">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21535">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Fonepad 7 LTE ME372CL (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21775">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus K00E (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21760">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus K010 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19664">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19665">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ME301T MeMo Pad Smart 10 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21023">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21007">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ME302C MemoPad (MTP+?)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19648">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19649">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ME302KL MeMo Pad FHD10 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21600">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21608">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Memo K00F (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21504">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Memo ME172V (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21520">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21521">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Memo ME173X (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21606">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Memo Pad 8 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="30578">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (ME572CL)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21766">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 7 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21857">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus MemoPad 8 ME181 CX (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="20992">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="20993">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21008">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21009">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21012">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone 2 (PTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21024">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21025">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (2nd ID) (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21040">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21041">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus PadFone Infinity (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19968">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19969">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus SL101 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19983">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19999">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF101 Eeepad Transformer (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19712">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (keyboard dock)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19713">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF201 Transformer Prime (tablet only)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19584">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19585">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF300 Transformer (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19600">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19601">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF700 Transformer (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19616">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="19617">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TF701T Transformer Pad (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="22047">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus TX201LA (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="24322">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus Zenfone 2 ZE550ML (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="22543">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="22559">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 4 A400CG (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21632">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21633">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="30593">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 5 A500KL (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21648">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2821">
+ <match key="usb.product_id" int="21649">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Asus ZenFone 6 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36945">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Barbie Camera (Digital Blue)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8320">
+ <match key="usb.product_id" int="6">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Barnes&amp;Noble Nook HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8320">
+ <match key="usb.product_id" int="5">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Barnes&amp;Noble Nook HD+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1189">
+ <match key="usb.product_id" int="12291">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Benq DC1300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7493">
+ <match key="usb.product_id" int="17821">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">BenQ F5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10823">
+ <match key="usb.product_id" int="32528">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">bq Aquarius E5-4G</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10823">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10823">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">bq Krillin (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12359">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12738">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 100 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12733">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 110 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12774">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 120 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12787">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 130</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12904">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 255HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12480">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 30 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12365">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12791">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 300 HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12390">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12479">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 40 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12405">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 400 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12474">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 430 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12558">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 50 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12468">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12543">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 55 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12572">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 60 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12542">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 65 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12623">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 70 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12530">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12622">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 75 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12566">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 750 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12676">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 80 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12569">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 800 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12660">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 85 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12598">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 850 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 860 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12660">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 90 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12565">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 900Ti (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12740">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 95 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12619">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 950 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12639">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 960 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12659">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 970 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12691">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 980 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12737">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS 990 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12443">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12443">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12484">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS i5 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12402">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS II (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12470">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS IIs (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12532">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS iZ (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12370">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12389">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12400">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12401">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS v3 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12529">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital IXUS Wireless (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12526">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital Rebel XT (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12394">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Digital unknown 3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12424">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12423">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Elura 50 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12453">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Elura 65 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12667">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1000D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12912">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 100D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12419">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12476">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 10D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12823">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1100D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12927">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1200D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12522">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark II (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12615">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark III (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12752">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D Mark IV</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12825">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 1D X</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12523">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12524">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 20D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12420">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12441">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 300D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12563">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 30D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12527">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12526">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12526">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 350D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12560">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 400D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12614">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 40D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12613">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 450D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12751">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 500D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12699">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 50D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12778">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 550D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12545">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12546">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12697">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark II</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12858">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 5D Mark III</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12824">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 600D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12821">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 60D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12859">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 650D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12880">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 6D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12914">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 700D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12883">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 70D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12698">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12911">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS 7D MarkII</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12356">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS D30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12384">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS D60</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12420">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12441">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12560">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Digital Rebel XTi (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12420">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12441">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12526">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital N (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12560">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss Digital X (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12613">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X2 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12751">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Kiss X3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12861">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS M</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12953">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS M3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12751">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel T1i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12613">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon EOS Rebel XSi (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12430">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon FV M1 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12865">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXUS 125HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12969">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXUS 165</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12837">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXUS 310IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12774">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY 220 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12691">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY 3000 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12358">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12363">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY DIGITAL 300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12484">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY Digital L2 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12395">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12438">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon IXY DV M2 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12412">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MV630i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12410">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MV650i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12448">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MV750i (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12438">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX 10i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12430">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX 3i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12417">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX100i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12416">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX150i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12457">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX25i (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12395">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX2i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12429">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon MVX3i (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12418">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12415">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12416">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 20 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12395">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 200 MC</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12438">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 300 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12457">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 40 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12549">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura 600 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12430">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Optura Xi (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12367">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12385">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12686">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1000 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12739">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1100 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12862">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1300IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12900">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A1400</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12366">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12386">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12689">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2000 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12734">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2100 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12842">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12874">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2300IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12873">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2400IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12913">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12898">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A2600</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12377">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12406">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12786">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3000 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12472">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A310 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12785">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3100 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12897">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A3500IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12376">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A40</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12471">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A400 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12867">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A4000IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12537">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A410 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12559">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A420 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12536">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A430 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12629">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A450 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12617">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A460 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12666">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A470</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12735">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A480</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12783">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot A495</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12482">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A510 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12481">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A520 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12582">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A530 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12571">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A540 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12624">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A550 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12621">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A560 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12620">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A570 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12663">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A580</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12662">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A590 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12404">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A60 (PTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12541">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A610 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12540">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A620 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12602">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A630 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12601">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A640 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12635">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A650IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12403">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A70 (PTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12567">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12600">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A710 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12637">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A720 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12469">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A75 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12442">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A80 (PTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12838">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12863">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A810</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12473">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A85 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12475">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot A95 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12732">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot D10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12936">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph135</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12937">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Elph340HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12360">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12851">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G1 X</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12687">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12767">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G11</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12888">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G15</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12373">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12398">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12399">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G3 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12421">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12467">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot G6 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12581">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G7 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12634">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot G9 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12443">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot IXY Digital L (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12361">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot Pro90 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12444">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S1 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12353">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12854">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12357">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S100 (2000)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12369">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (2001)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12891">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S110 (PTP Mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12917">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S120</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12528">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S2 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12355">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12389">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12400">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12401">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S230 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12570">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S3 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12375">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12364">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12390">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12374">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S40</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12405">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S400 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12474">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S410 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12396">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12397">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S45 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12616">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S5 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12407">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S50 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12468">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12466">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot S60 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12465">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot S70 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12538">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S80 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12818">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot S95</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12443">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD10 Digital ELPH (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12402">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12623">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12470">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD110 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12676">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1100 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12740">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD1200 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12788">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD1300 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12484">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD20 (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12480">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12599">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD40 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12529">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD430 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12543">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD450 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12530">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12572">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD600 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12542">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD630 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12569">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12622">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD750 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12661">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD770 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12738">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD780 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12660">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot SD790 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12619">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD850 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12694">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD880 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12565">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD900 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12774">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD940 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12737">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD970 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12691">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SD990</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12685">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX10 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12638">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Powershot SX100 IS (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12690">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX110 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12768">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX120 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12817">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX130 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12852">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX150 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12890">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX160IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12918">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX170 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12772">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX20 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12736">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX200 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12790">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX210 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12844">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX220HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12840">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX230HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12869">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX240HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12868">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX260HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12895">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX280HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12856">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX40HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12892">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX500IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12919">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX510 HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12955">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot SX520 HS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12368">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12380">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon PowerShot unknown 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12778">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Rebel T2i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12823">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Rebel T3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12859">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon Rebel T4i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1193">
+ <match key="usb.product_id" int="12408">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Canon ZR70MC (normal mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1999">
+ <match key="usb.product_id" int="4169">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Casio EX-S770</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1999">
+ <match key="usb.product_id" int="4162">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Casio EX-Z120</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1999">
+ <match key="usb.product_id" int="4173">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Casio EX-Z65</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1999">
+ <match key="usb.product_id" int="4172">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Casio EX-Z700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1999">
+ <match key="usb.product_id" int="4474">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Casio EX-ZR700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1375">
+ <match key="usb.product_id" int="49664">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Casio LV 10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1207">
+ <match key="usb.product_id" int="34985">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Caterpillar Cat S50</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Che-ez Snap</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Che-Ez Snap SNAP-U</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Che-ez! Babe</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="4098">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Che-ez! Splash</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Che-ez! SPYZ</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1943">
+ <match key="usb.product_id" int="32769">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Clever CAM 360</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="548">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Cobra DC125</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Cobra Digital Camera DC150</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7796">
+ <match key="usb.product_id" int="25874">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Coby COBY MP705</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7763">
+ <match key="usb.product_id" int="5">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Conceptronic CMTD2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Duo</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Concord Eye-Q Easy</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Concord EyeQ 4330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1000">
+ <match key="usb.product_id" int="8578">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1000">
+ <match key="usb.product_id" int="8576">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Concord EyeQMini_2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">CoolCam CP086</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2386">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 10 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="1809">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 6 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="1873">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 7 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2321">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio 9 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2369">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio C2 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2049">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2161">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DAB FW 4.x (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2193">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ DMB FW 1.x (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2145">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 2.x (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2177">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio D2+ FW 3.x (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2337">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio J3 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2305">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio S9 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="1793">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U3 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="1889">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio U5 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3617">
+ <match key="usb.product_id" int="2353">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Cowon iAudio X7 (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16406">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Creative CardCam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16391">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Creative Go Mini</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16394">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM 300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16402">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM350</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16395">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM600</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16403">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Creative PC-CAM750</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16675">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative Portable Media Center</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16727">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16688">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Micro (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16700">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16691">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN MicroPhoto (alternate version)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16737">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Mozaic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16695">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16701">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Sleek Photo</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16689">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Touch (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16720">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN V</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16728">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN V 2GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16722">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN V Plus</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16671">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16723">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision W</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16702">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16721">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Vision:M (DVP-HD0004)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16738">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16745">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN X-Fi 3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16680">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Creative ZEN Xtra (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4204">
+ <match key="usb.product_id" int="12821">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Curitel Communications, Inc. Verizon Wireless Device</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2125">
+ <match key="usb.product_id" int="3">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3428">
+ <match key="usb.product_id" int="4129">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">D-Link DSC 350F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1000">
+ <match key="usb.product_id" int="8496">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">D-MAX DM3588</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DC-N130t</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DC-N130ta</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32768">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DC31VC</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16690">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dell Dell Pocket DJ (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="16687">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dell DJ (2nd generation)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16700">
+ <match key="usb.product_id" int="45323">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Streak 7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16700">
+ <match key="usb.product_id" int="45338">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16700">
+ <match key="usb.product_id" int="45339">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dell Inc Dell Venue 7 inch (2nd ID)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16700">
+ <match key="usb.product_id" int="17664">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dell Inc DJ Itty</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Digigr8</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7994">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">DigiLand DL701Q</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Digital camera, CD302N</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DIGITAL MID#0020509 (no-name camera)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1498">
+ <match key="usb.product_id" int="4120">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream Enigma1.3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elegante</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream l'elite</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4483">
+ <match key="usb.product_id" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion XS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1498">
+ <match key="usb.product_id" int="4128">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream l'espion xtra</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream l'esprit</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">DigitalDream la ronde</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2726">
+ <match key="usb.product_id" int="24609">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Disney MixMax</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36944">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Disney pix micro</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36946">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Disney pix micro 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4310">
+ <match key="usb.product_id" int="8704">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Dunlop MP3 player 1GB / EGOMAN MD223AFD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Elta Medi@ digi-cam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Emprex PCD3600</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1208">
+ <match key="usb.product_id" int="1027">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 3000z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1208">
+ <match key="usb.product_id" int="1026">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Epson PhotoPC 850z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10608">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Fly Evo Tech 4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10608">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Fly iq4415 era style 3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6018">
+ <match key="usb.product_id" int="16385">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Fly iq449</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1747">
+ <match key="usb.product_id" int="8634">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">FOMA D905i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3530">
+ <match key="usb.product_id" int="2">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji Axia Eyeplate</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3530">
+ <match key="usb.product_id" int="2">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji Axia Slimshot</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="330">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="466">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="454">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A820</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="467">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix A920</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="539">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix AV-150</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="403">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix E900</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="480">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F100fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="448">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="484">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F200 EXR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="411">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="449">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F31fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="453">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F40fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="468">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F50fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="486">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F60fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="506">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F70 EXR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="526">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix F80EXR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="557">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix H20EXR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="625">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix HS30EXR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="592">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix JX370</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="477">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1000fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="475">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S100fs</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="495">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="512">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S1800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="488">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2000HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="521">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2500HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="576">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2950</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="637">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S2980</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="613">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="664">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S4850</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="452">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="471">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S5800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="447">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S6500fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="322">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S7000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="399">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix S9500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="668">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix SL1000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="563">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix T200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="622">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X-S1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="611">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="678">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix X20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="648">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix XF1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="472">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z100fd</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="513">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z35</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="525">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji FinePix Z700EXR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="510">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm A220</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="693">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji Fujifilm X-E2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji IX-1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1227">
+ <match key="usb.product_id" int="451">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Fuji S5 Pro</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">FujiFilm @xia ix-100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1221">
+ <match key="usb.product_id" int="4416">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd F903iX HIGH-SPEED</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1221">
+ <match key="usb.product_id" int="4923">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Fujitsu, Ltd STYLISTIC M532</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2334">
+ <match key="usb.product_id" int="9605">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Garmin Monterra</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Gear to go</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Generic SoundVision Clarity2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1112">
+ <match key="usb.product_id" int="28677">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Genius Smart 300, version 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1037">
+ <match key="usb.product_id" int="34908">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Gensis GT-7305 </merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1044">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1044">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Gigabyte RCT6773W22 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Global Point 3 in 1 Digital Fun Graffiti 00044</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Global Point Clipster</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Global Point Splash Mini (underwater camera)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="7">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Ainol Novo) Fire/Flame</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="6">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Allwinner) A31 SoC</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20033">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20034">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) Nexus 7 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="19983">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF101 Transformer</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="19712">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Asus) TF201 Transformer</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="11522">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Barnes &amp; Noble) Nook Color</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="29706">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Lenovo) Ideapad K1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="53514">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="53513">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics) P990/Optimus (Cyanogen)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20193">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20194">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="45066">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Medion) MD99000 (P9514)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="28840">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Motorola) Xoom (MZ604)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20005">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20006">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Samsung) Nexus S (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="1459">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Sony) S1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="28930">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Inc (for Toshiba) Thrive 7/AT105</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6353">
+ <match key="usb.product_id" int="20197">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Google Nexus 5 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="9842">
+ <match key="usb.product_id" int="17">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">GoPro HERO3+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1943">
+ <match key="usb.product_id" int="32796">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">GrandTek ScopeCam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">GTW Electronics</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4866">
+ <match key="usb.product_id" int="4118">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4866">
+ <match key="usb.product_id" int="4119">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Haier Ibiza Rhapsody 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Haimei Electronics HE-501A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Hawking DC120 Pocketcam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="32285">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 10 HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="23837">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 2800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="23581">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Hewlett-Packard Slate 7 4600</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4251">
+ <match key="usb.product_id" int="37126">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4251">
+ <match key="usb.product_id" int="37129">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Hisense E860 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4251">
+ <match key="usb.product_id" int="37125">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HiSense Sero 7 Pro</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="25858">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 120 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="25090">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 215</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="31746">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 217 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="32002">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 317 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="25346">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 318 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="26114">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 320 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="29698">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 407 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="30722">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 417 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="29186">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 43x (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="28162">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 507 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="30978">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 517 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="27906">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 607 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="25346">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 612 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="16642">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 618</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="26626">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 620 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="28930">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 635 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="27394">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 707 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="25602">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 715 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="30210">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 717 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="26370">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 720 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="27650">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 733 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="27138">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 735 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="16898">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 812 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="30466">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 817 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="32258">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 818 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="17154">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 850 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="16642">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 912</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="17410">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 935 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="17666">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart 945 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="16642">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="24578">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="61443">
+ <match key="usb.product_id" int="24578">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart C500 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="35586">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E327 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="35842">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart E427 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="29954">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M22 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="31490">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M23 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="29442">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M307 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="31234">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M415 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="32770">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M425 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="33026">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M525 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="33282">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M527 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="39682">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M547 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="33794">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M725 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="34050">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M727 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="38402">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart M737 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="38658">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R742 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="34562">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R927 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1008">
+ <match key="usb.product_id" int="34818">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">HP PhotoSmart R967 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="26716">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="26720">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC (for Hewlett-Packard) HP Touchpad (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID1 (Zopo, HD2, Bird...)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Android Device ID2 (Zopo, HD2...)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3782">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Desire 310 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3773">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3583">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Droid DNA (MTP+UMS+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3219">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3240">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC EVO 4G LTE/One V (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3582">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3556">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Butterfly X290d</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="1533">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire 510 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3541">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Desire X</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3633">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3634">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Droid Incredible 4G LTE (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3573">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC Evo 4G LTE (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="1966">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (HTC6500LVW)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3546">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3985">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3940">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3939">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3975">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+?)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3935">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+ADB+CDC)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3936">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+CDC)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3562">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One (MTP+UMS+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3538">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One 802w (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="1994">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (HTC6525LVW)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3877">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="1562">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="4020">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+ADB+UMS)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="4021">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (MTP+UMS)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="1995">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One M8 (Verizon) (HTC6525LVW)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="2009">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One Remix (HTC6515LVW)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3308">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3576">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3577">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One S (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3578">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3579">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3580">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3581">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC One X (ID4)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="2008">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC HTC6515LVW/One Remix</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="8210">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Motorola Razr D1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="1547">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC One M8 Google Play Edition (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="3533">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC One Mini (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="61642">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8s ID1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="2977">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2996">
+ <match key="usb.product_id" int="2978">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">HTC Windows Phone 8X ID2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4817">
+ <match key="usb.product_id" int="4226">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Huawei Ascend P8 </merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4817">
+ <match key="usb.product_id" int="13839">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 0)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4817">
+ <match key="usb.product_id" int="13855">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Huawei Mediapad (mode 1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4817">
+ <match key="usb.product_id" int="4177">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4817">
+ <match key="usb.product_id" int="4178">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Huawei MTP device (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37203">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">iClick 5X</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">iConcepts digital camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1161">
+ <match key="usb.product_id" int="49189">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">InFocus M810</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">INNOVAGE Mini Digital, CD302N</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6655">
+ <match key="usb.product_id" int="771">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Insignia NS-DV45</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6655">
+ <match key="usb.product_id" int="777">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Insignia Pilot 4GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6655">
+ <match key="usb.product_id" int="775">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Insignia Sport Player</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="32903">
+ <match key="usb.product_id" int="2655">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Intel Chuwi vi8</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="32903">
+ <match key="usb.product_id" int="2581">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Intel Foxconn iView i700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="32903">
+ <match key="usb.product_id" int="2582">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Intel Noblex T7A21</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="32902">
+ <match key="usb.product_id" int="1584">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Intel Pocket PC Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="32903">
+ <match key="usb.product_id" int="2654">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Intel Telcast Air 3G</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="32903">
+ <match key="usb.product_id" int="2555">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Intel Xolo 900/AZ210A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">IOMagic MagicImage 400</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ION digital camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4394">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver Clix</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4390">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver Clix2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4417">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver E100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4418">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver E100 v2/Lplayer</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4434">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver E150</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4455">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver E30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4433">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver E50</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="8449">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver H10 20GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="8453">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver H10 5.6GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="8450">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver H10 5GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4102">
+ <match key="usb.product_id" int="12292">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver H300 Series MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4104">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver iFP-880</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4386">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver N12</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4102">
+ <match key="usb.product_id" int="16386">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4102">
+ <match key="usb.product_id" int="16387">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver Portable Media Center 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4423">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver Spinn</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4371">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4384">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T10 2GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4375">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T10b</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4373">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4372">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T20 FM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4376">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T20b</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4377">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4435">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4404">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T60</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4162">
+ <match key="usb.product_id" int="4419">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver T7 Volcano</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7784">
+ <match key="usb.product_id" int="4098">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver Tolino Tab 7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4374">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver U10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="16642">
+ <match key="usb.product_id" int="4402">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">iRiver X20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2848">
+ <match key="usb.product_id" int="56814">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Isabella Her Prototype</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1924">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ixla DualCam 640</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jazwares Star Wars no. 15256</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jazz JDC9</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jazz JDK235</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="13056">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-3300z3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jenoptik JD-4100z3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1498">
+ <match key="usb.product_id" int="4102">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 entrance</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="0">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jenoptik JD350 video</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Jenoptik JDC 350</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10545">
+ <match key="usb.product_id" int="2561">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10545">
+ <match key="usb.product_id" int="2565">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Jolla Sailfish (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1265">
+ <match key="usb.product_id" int="24837">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">JVC Alneo XA-HD500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2126">
+ <match key="usb.product_id" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">KBGear JamCam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2856">
+ <match key="usb.product_id" int="4108">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kenwood Media Keg HD10GB7 Sport Player</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8759">
+ <match key="usb.product_id" int="53512">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8759">
+ <match key="usb.product_id" int="53513">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kobo Arc (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8759">
+ <match key="usb.product_id" int="45320">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kobo Arc 7 HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1559">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C1530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1547">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C183</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1406">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1418">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C310</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1420">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1421">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C340</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1417">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C360</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1450">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C433</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1434">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1442">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C533</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1463">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C613</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1466">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C633</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1447">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C643</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1455">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C653</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1454">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C743</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1475">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C813</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1449">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C875</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1478">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak C913</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1436">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CD33</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1376">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX4200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1376">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX4210</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1333">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX4230</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1382">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX4300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1382">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX4310</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1396">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX6200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1395">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX6230</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1393">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX6330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1412">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX6445</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1401">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7220</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1400">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1400">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7310</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1402">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1403">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7430</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1414">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7525</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1404">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak CX7530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC220</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="288">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC240</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="289">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC240 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="272">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC260</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="273">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC265</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="304">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC280</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="274">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC290</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="306">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC3400</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="352">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC4800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="305">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DC5000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1317">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX3215</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1280">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX3500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1296">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX3600</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1328">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX3700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="368">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX3900</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1365">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX4330</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1398">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX4530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1360">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX4900</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1392">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX6340</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1394">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX6440</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1397">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX6490</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1405">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX7440</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1407">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX7590</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1399">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak DX7630</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="768">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak EZ200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1344">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak LS420</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1384">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak LS443</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1385">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak LS663</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1381">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak LS743</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1383">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak LS753</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1486">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak M1063</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1536">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak M531</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1439">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak M753</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1473">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak M863</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1453">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak M883</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1413">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak M893 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1024">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak MC3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1426">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak P850</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1427">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak P880</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1422">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1423">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V550</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1425">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V570</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1440">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V603</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1452">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V610</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1451">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V705</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1464">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak V803</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1437">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z612</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1438">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z650</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1415">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1459">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z710</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1460">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z712 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1408">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z730</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1416">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z740</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1027">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z7590</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1461">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z812 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1429">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z8612 IS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1487">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z915</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1485">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak Z950</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1034">
+ <match key="usb.product_id" int="1472">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Kodak ZD710</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1224">
+ <match key="usb.product_id" int="1826">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica e-mini</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4907">
+ <match key="usb.product_id" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A2 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4907">
+ <match key="usb.product_id" int="25">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE A200 (PictBridge mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4907">
+ <match key="usb.product_id" int="9">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE X21 (PictBridge mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4907">
+ <match key="usb.product_id" int="7">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z2 (PictBridge mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4907">
+ <match key="usb.product_id" int="24">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z3 (PictBridge mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4907">
+ <match key="usb.product_id" int="34">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Konica-Minolta DiMAGE Z5 (PictBridge mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7994">
+ <match key="usb.product_id" int="4102">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kurio 7S</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1154">
+ <match key="usb.product_id" int="2425">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kyocera DuraForce</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1154">
+ <match key="usb.product_id" int="2064">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kyocera KYL22</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1154">
+ <match key="usb.product_id" int="1393">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kyocera Rise</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1154">
+ <match key="usb.product_id" int="1434">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Kyocera Torque Model E6715</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36945">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Lego Bionicle</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9077">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Leica D-LUX 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6808">
+ <match key="usb.product_id" int="2">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Leica M9</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30519">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo A3500-F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30507">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo A5500-F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29848">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo A820</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30140">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30142">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaPad A3000 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30018">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab A2109A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30077">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S2210a</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30440">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo IdeaTab S5000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29706">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo K1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30851">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo K3 Note</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30133">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo K900 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30554">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo LifeTab E733X</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29900">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo Lifetab S9512</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo P70-A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29847">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo P700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29862">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo P780</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29944">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo S660</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30488">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo S930</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29724">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo ThinkPad Tablet</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30450">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo Toga Tablet B6000-F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30698">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo Vibe Z2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30463">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 10 B8000-H</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="30641">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Lenovo Yoga Tablet 2 Pro</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25073">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25081">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Android phone (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25215">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25198">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. G3 (VS985)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="24859">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. GR-500 Music Player</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="24719">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KC910 Renoir Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="24882">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. KM900</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25406">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG G Flex 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25145">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS870</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25149">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS890</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25116">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG VS980</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25125">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG2 Optimus</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="24986">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. LG8575</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1086">
+ <match key="usb.product_id" int="28736">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. T54</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1086">
+ <match key="usb.product_id" int="28849">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. UP3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25372">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. Various E and P models</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="25189">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VK810</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="24592">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">LG Electronics Inc. VX8550 V CAST Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4100">
+ <match key="usb.product_id" int="24581">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">LG T5100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Lifetec LT 5995</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5073">
+ <match key="usb.product_id" int="28674">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Logik LOG DAX MP3 and DAB Player</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1133">
+ <match key="usb.product_id" int="2304">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Logitech Clicksmart 310</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1133">
+ <match key="usb.product_id" int="2384">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Logitech Pocket Digital</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Maginon SX-410z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="13056">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Maginon SX330z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Magpix B350</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20555">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Maxell Max Pocket</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1647">
+ <match key="usb.product_id" int="33900">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Maxfield G-Flash NG 1GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Media-Tech mt-406</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3725">
+ <match key="usb.product_id" int="80">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">MediaTek Inc MT5xx and MT6xx SoCs</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1032">
+ <match key="usb.product_id" int="45066">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9514</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6127">
+ <match key="usb.product_id" int="29827">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Medion Lifetab P9516</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20554">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD 5319</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD 6000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8709">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD 6126</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16642">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD 9700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1647">
+ <match key="usb.product_id" int="34128">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1647">
+ <match key="usb.product_id" int="34184">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD8333 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1032">
+ <match key="usb.product_id" int="45065">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Medion MD99000 (P9514)/Olivetti Olipad 110</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4721">
+ <match key="usb.product_id" int="8210">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Megafon Login+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8222">
+ <match key="usb.product_id" int="17067">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Megafon MFLogin3T</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10821">
+ <match key="usb.product_id" int="8200">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10821">
+ <match key="usb.product_id" int="3074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Meizu MX Phone (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4310">
+ <match key="usb.product_id" int="8960">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Memorex or iRiver MMP 8585/8586 or iRiver E200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3504">
+ <match key="usb.product_id" int="21874">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Micro-Star International P610/Model MS-5557</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Micromaxx Digital Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="1600">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft Kin 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="1570">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft Windows MTP Simulator</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="1260">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft Windows Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="1808">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft Zune</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="1598">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft Zune HD</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="61642">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft/HTC HTC 8S</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="201">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft/Intel Bandon Portable Media Center</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1118">
+ <match key="usb.product_id" int="1601">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Microsoft/Sharp/nVidia Kin TwoM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32776">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mini Shotz ms-350</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2125">
+ <match key="usb.product_id" int="3">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Minton S-Cam F5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mitek CD10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mitek CD30P</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="24778">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola A1200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28808">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Atrix MB860 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="25807">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Atrix XT687 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11826">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11827">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Atrix/Razr HD (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11879">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Droid Maxx (XT1080)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11941">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo (XT1254)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11944">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Droid Turbo Verizon</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11880">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Droid Ultra</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="16854">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Droid X/MB525 (Defy)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="16858">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="17063">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola DROID2 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="17279">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola DROID4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="17267">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola DROID4 (PTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="18449">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola IdeaPad K1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="16860">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Milestone / Verizon Droid</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28874">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Milestone X2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11894">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11906">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11908">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Moto G (XT1032)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11874">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1053)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11875">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1058)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11878">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Moto X (XT1080)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="25619">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola MTP Test Command Interface</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="25781">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="25782">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Razr D1/D3/i (MTP+?)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11856">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="11857">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola RAZR M XT907 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="25621">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola RAZR2 V8/U9/Z6</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="10853">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola V3m/V750 verizon</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28835">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (Factory test)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28840">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28841">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Xoom (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="17169">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="17158">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="16847">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola Xoom 2 Media Edition (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28941">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="28942">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola XT890/907/Razr (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8888">
+ <match key="usb.product_id" int="17250">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Motorola XT912/XT928</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1375">
+ <match key="usb.product_id" int="49664">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1375">
+ <match key="usb.product_id" int="41808">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mustek gSmart 350</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1375">
+ <match key="usb.product_id" int="49696">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1375">
+ <match key="usb.product_id" int="50208">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1375">
+ <match key="usb.product_id" int="50464">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Mustek gSmart mini 3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2726">
+ <match key="usb.product_id" int="38401">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">MyMusix PD-6070</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1033">
+ <match key="usb.product_id" int="806">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">NEC Casio C811</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1033">
+ <match key="usb.product_id" int="1074">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">NEC Casio CA-201L</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1033">
+ <match key="usb.product_id" int="578">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">NEC FOMA N01A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1026">
+ <match key="usb.product_id" int="22120">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nextar MA715A-8R</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nexxtech Mini Digital Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="770">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="279">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="290">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="291">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2200v1.1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="265">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 2500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="277">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="289">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="273">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="285">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 3700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="301">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="516">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="267">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="304">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="305">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4600a (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="297">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 4800 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="275">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="518">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="281">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5400 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="302">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5600 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="269">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="309">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 5900 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="313">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7600 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="311">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 7900 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="287">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="259">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 880</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="295">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 8800 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="274">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 885 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="401">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix 9400 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="258">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon CoolPix 990</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="550">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix A (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="392">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix AW100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="520">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="779">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L10 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="777">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L11 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="382">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L110 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="351">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L12 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="389">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L120 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="789">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L16 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="792">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L19 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="791">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L20 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="804">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L23 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="835">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L27</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="773">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L4 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="402">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix L820 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="320">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="381">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="322">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P2 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="545">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P330 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="524">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P4 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="361">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P50 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="388">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="347">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="547">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P510 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="355">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P5100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="552">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P520 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="785">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P60 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="367">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P6000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="383">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="395">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="549">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="553">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P7800 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="363">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="364">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P80 v1.1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="371">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix P90 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="823">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S01</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="838">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S02</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="334">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="353">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="375">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S220 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="376">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S225 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="801">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="813">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2600 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="831">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S2700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="795">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="800">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="820">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="810">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S3300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="324">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="809">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S4300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="349">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="544">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S5100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="334">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="369">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S60 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="542">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S6000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="540">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S620 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="343">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S7c (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="543">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="546">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S8200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="390">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="403">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="843">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix S9700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon Coolpix SQ (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1028">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon D2H SLR (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1036">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon D2Hs (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1032">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon D2X SLR (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1052">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon D3 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1034">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon D50 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1026">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1040">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1046">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D2Xs (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1050">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1060">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1061">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D300s (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1063">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1068">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1075">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1062">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3s (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1056">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D3x (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1067">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1044">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1048">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D40x (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1077">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D4s</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1059">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1065">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1071">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1073">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D5300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1054">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D60 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1069">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D600</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D610</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1030">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1058">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D700 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1064">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7000 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1038">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D70s (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1072">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D7100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1079">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D750</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1042">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D80 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1066">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1070">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D800E</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1078">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D810</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1057">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon DSC D90 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1538">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon J1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1539">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon J2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1541">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon J3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1545">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon J4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1542">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon S1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1537">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon V1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1200">
+ <match key="usb.product_id" int="1540">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nikon V2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20554">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">nisis Quickpix Qp3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="548">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">NogaNet TDC-15</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="705">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 2710</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="101">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 3109c Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="95">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 3110c Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1122">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 3250 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="494">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 3710</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="521">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5130 XpressMusic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1214">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5200 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="738">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5230</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1210">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5300 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="108">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5310 XpressMusic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="234">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5320 XpressMusic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1150">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5500 Sport Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="553">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1204">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5700 XpressMusic Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="340">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="341">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="345">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 5800 XpressMusic v3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="46">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 6120c Classic Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="152">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 6210 Navigator</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="141">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 6220 Classic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="60">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 6500c Classic Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="663">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 6600i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1491">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia 808 PureView</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1426">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia C5-00</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="961">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia C7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="973">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia C7 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="463">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E52</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="815">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E6</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="377">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E63</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="229">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E66</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="820">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="821">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E7 (Ovi mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="228">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E71</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="417">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E71x</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="545">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia E72</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1788">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia Lumia (RM-975)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1638">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia Lumia 301</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1633">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia Lumia WP8</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1316">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1160">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N73</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1233">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N73 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1249">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N75 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="121">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N78 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="390">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N79</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="766">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N8</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="770">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N8 (Ovi mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1265">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N80 Internet Edition (Media Player)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="10">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N81 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="116">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N82 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="146">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N85 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1306">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N9</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1157">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N91 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1144">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N93 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1253">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N93i Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1263">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="110">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N95 Mobile Phone 8GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="978">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N950</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="57">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N96 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="501">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N97</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="619">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N97 mini</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="500">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia N97-1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="628">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia X6</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1057">
+ <match key="usb.product_id" int="1768">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Nokia XL</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5891">
+ <match key="usb.product_id" int="1">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5891">
+ <match key="usb.product_id" int="2">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">NormSoft, Inc. Pocket Tunes 4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2389">
+ <match key="usb.product_id" int="28841">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">nVidia CM9-Adam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2389">
+ <match key="usb.product_id" int="46080">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2389">
+ <match key="usb.product_id" int="52999">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">nVidia Shield (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2389">
+ <match key="usb.product_id" int="52994">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">nVidia Tegra Note</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2389">
+ <match key="usb.product_id" int="28928">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2389">
+ <match key="usb.product_id" int="28930">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">nVidia Various tablets (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7763">
+ <match key="usb.product_id" int="6">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">O2 Sistemas ZoltarTV</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-2100UZ</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-3000Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-3030Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-310Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-350Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-5500Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus C-55Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus D-540Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus D-560Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="272">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus E series (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="303">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus E-M5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="303">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus E-PL5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="278">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus FE4000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus IR-300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="275">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus mju 500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="303">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus SP-720UZ</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus X-100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="276">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus X-250</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="278">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus X920</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1972">
+ <match key="usb.product_id" int="278">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Olympus X925</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8921">
+ <match key="usb.product_id" int="10085">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 1)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8921">
+ <match key="usb.product_id" int="10100">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Oppo Find 7 (ID 2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8921">
+ <match key="usb.product_id" int="10099">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Oppo X9006</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot II</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Oregon Scientific DShot III</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FS62</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ38</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ45</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-FZ50</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-GF1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LS3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-LX7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ15</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ18</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="9076">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic DMC-TZ8</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="8517">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic P905i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1242">
+ <match key="usb.product_id" int="8536">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Panasonic P906i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4204">
+ <match key="usb.product_id" int="61443">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Pantech Crux</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7501">
+ <match key="usb.product_id" int="20534">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7501">
+ <match key="usb.product_id" int="20533">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Pegatron Chagall (ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7501">
+ <match key="usb.product_id" int="20554">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Pegatron Hudl 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pencam TEVION MD 9456</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="9723">
+ <match key="usb.product_id" int="357">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pentax K3 (PTP Mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2583">
+ <match key="usb.product_id" int="13">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pentax Optio 43WR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2583">
+ <match key="usb.product_id" int="247">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pentax Optio W90</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2726">
+ <match key="usb.product_id" int="38658">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Perception Digital, Ltd Gigaware GX400</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8316">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear Aria</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8377">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8504">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear Ariaz/97</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="357">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear Audio</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8311">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear Muse</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8334">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA1VBE08KX/78</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8196">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA3345</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="2135">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA5145</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="2126">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8194">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA6125/SA6145/SA6185</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="335">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear SA9200</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8309">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8315">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear ViBE SA1VBE04/08</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8375">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear VIBE SA2VBE[08|16]K/02</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8421">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips GoGear Vibe/02</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="333">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips HDD085/00 or HDD082/17</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="332">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips HDD14XX,HDD1620 or HDD1630/17</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="491">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips HDD6320</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="331">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips HDD6320/00 or HDD6330/17</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="6411">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips i908</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Philips P44417B keychain camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8592">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips PI3900B2/58 </merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="32257">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips PSA235</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="385">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips PSA610</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="356">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips SA1115/55</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="8226">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips SA5285</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1137">
+ <match key="usb.product_id" int="370">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Philips Shoqbox</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Phoebe Smartcam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2276">
+ <match key="usb.product_id" int="322">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pioneer DVR-LX60D</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2276">
+ <match key="usb.product_id" int="328">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Pioneer XMP3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pixart Gemini Keychain Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pixie Princess Jelly-Soft</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">PockCam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1924">
+ <match key="usb.product_id" int="10376">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Polaroid DC700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1350">
+ <match key="usb.product_id" int="8245">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Polaroid Freescape/MPU-433158</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1350">
+ <match key="usb.product_id" int="3503">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Polaroid PDC 2300Z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Praktica Slimpix</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Precision Mini Digital Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Precision Mini, Model HA513A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10724">
+ <match key="usb.product_id" int="4611">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Prestigio 5504 DUO </merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10724">
+ <match key="usb.product_id" int="4355">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Prestigio 5505 DUO </merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1924">
+ <match key="usb.product_id" int="21248">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Pretec dc530</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="65535">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">PureDigital Ritz Disposable</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="34816">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Gigabyte) GSmart G1342</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="61443">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Highscreen) Omega Prime S</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="553">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia) 5530 Xpressmusic</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="12694">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Nokia/Verizon) 6205 Balboa/Verizon Music Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="26468">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="26469">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for OnePlus) One (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="36921">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for PhiComm) C230w (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1478">
+ <match key="usb.product_id" int="36901">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Qualcomm (for Smartfren) Andromax U</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">QuickPix QP1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3530">
+ <match key="usb.product_id" int="4">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Radioshack Flatfoto</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1924">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">RCA CDS1005</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="4704">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Redmi 1S (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="4712">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Redmi HM 1S (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Request Ultra Slim</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8715">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Capilo RX</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8707">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio 300G</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8708">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8712">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio G4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8716">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="805">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8724">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="813">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio GX 8 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8717">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8722">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="811">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R1v (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8723">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8726">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="815">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R3 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8727">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8730">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="272">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio R5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8706">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="829">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RR750 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8717">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Ricoh Caplio RZ1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4042">
+ <match key="usb.product_id" int="32775">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">RIM BlackBerry Storm/9650</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8719">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Rollei dr5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8719">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Rollei dr5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37181">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar 23070 Crayola Digital Cam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37181">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar 28290 and 28292 Digital C</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37181">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar 92045 Spiderman</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar clipshot no. 1169x</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32771">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Digital Keychain 11199</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32771">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 6637x</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32771">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Digital no, 67480</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 56379 Spyshot</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Digital no. 77379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Dora the Explorer no. 88067</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Hello Kitty no. 94009</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Kidz Cam 86379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Kidz-Cam no. 88379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Micro Digital 2428x</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Nickelodeon iCarly no. 88061</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar no. 1638x CyberPix</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar no. 75379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar no. 81890</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar no. 91379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar no. 98379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Star Wars kit no. 92022</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sakar Sticker Wizard no. 59379</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26726">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Samsung EK-GC100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26407">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung F250 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26720">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26716">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26743">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung Galaxy models Kies mode</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26450">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26799">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung GT-B2710/Xcover 271</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="57868">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung GT-S5230</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26649">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung GT-S8500</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="1188">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung I550W Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20255">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung Jet S8000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26420">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung Juke (SCH-U470)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26178">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung M7600 Beat/GT-S8300T/SGH-F490/S8300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="5132">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Samsung NX1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="4996">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Samsung NX1000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26698">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Samsung S5620</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26467">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung SAMSUNG Trance</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26377">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung U600 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26793">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung Vibrant SGH-T959/Captivate/Media player mode</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="26370">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung X830 Mobile Phone</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20526">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-820</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20509">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (501d)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20514">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-920 (5022)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20527">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-925(-GS)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20516">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-925GS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="23055">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20531">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YH-J70J</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="1033">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-900</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20567">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-F2J</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20609">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-K3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20570">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-K5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20760">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-M1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20611">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-P2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20762">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-P3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20757">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20765">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20784">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-Q3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20773">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-R0</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20751">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-R1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20782">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-R2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20625">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-S3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20619">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-S5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20618">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-T10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20551">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-T7J</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20607">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-T9</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20564">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-U2J (YP-U2JXB/XAA)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20605">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-U3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20627">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-U4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20769">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-U5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20791">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1256">
+ <match key="usb.product_id" int="20540">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Samsung YP-Z5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29712">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c150</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29776">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c240/c250</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29778">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa c250 v2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29746">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29748">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip v2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29924">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip Zip</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29904">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Clip+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29824">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Connect</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29728">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e200/e250/e260/e270/e280</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29730">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa e260/e280 v2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29792">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Express</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29888">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29890">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze v2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29920">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa Fuze+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29697">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m200-tcc (MTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29696">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m230/m240</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29744">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa m240/m250</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1921">
+ <match key="usb.product_id" int="29872">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SanDisk Sansa View</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1140">
+ <match key="usb.product_id" int="560">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sanyo VPC-C5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1943">
+ <match key="usb.product_id" int="35073">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35a</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1943">
+ <match key="usb.product_id" int="35081">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35b</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1943">
+ <match key="usb.product_id" int="35089">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35c</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2125">
+ <match key="usb.product_id" int="4097">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ScanHex SX-35d</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Scott APX 30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="851">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 2G (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="8718">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 5000G</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1482">
+ <match key="usb.product_id" int="807">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sea &amp; Sea 5000G (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Shark 2-in-1 Mini</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Shark SDC-513</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Shark SDC-519</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1245">
+ <match key="usb.product_id" int="38497">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SBM203SH</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1245">
+ <match key="usb.product_id" int="38602">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH-06E</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1161">
+ <match key="usb.product_id" int="49189">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SHARP Corporation SH930W</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Shift3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1647">
+ <match key="usb.product_id" int="40976">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SigmaTel Inc. MTPMSCN Audio Player</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3191">
+ <match key="usb.product_id" int="4113">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SiPix Blink 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3191">
+ <match key="usb.product_id" int="4117">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SiPix CAMeleon</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3191">
+ <match key="usb.product_id" int="4098">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SiPix SC2100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3191">
+ <match key="usb.product_id" int="4112">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SiPix Snap</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3428">
+ <match key="usb.product_id" int="4097">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SiPix Stylecam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3191">
+ <match key="usb.product_id" int="4097">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SiPix Web2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6390">
+ <match key="usb.product_id" int="258">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6390">
+ <match key="usb.product_id" int="272">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sirius Stiletto 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="13056">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Skanhex SX-330z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7132">
+ <match key="usb.product_id" int="64191">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Slacker Inc. Slacker Portable Media Player</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3530">
+ <match key="usb.product_id" int="2">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SMaL Ultra-Pocket</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3783">
+ <match key="usb.product_id" int="4104">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">So. Show 301</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1870">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A3000</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1990">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5000 (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2391">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2279">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A5100 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2382">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2231">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A6000 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2387">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A77 M2 (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2381">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7r (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2388">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2274">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony Alpha-A7S (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="4756">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony DCR-SR75</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="704">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-A100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="743">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-A900 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-F707V (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-F717 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-F828 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-H1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-H2 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-H5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1347">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX100V (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1567">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX200V (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1774">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1169">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX5V (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="2221">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-HX60V (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-N2 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P10 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P120 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P30 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P31 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P32 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P41 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P43 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P5 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P50 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P51 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P52 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P71 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P72 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P73 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P92 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-P93 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-R1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1323">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1322">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1867">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-RX100M2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-S40 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-S60 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="662">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-S730 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-S75 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="662">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-S780 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-S85 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-T1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-T10 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-T3 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-U10 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-U20 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-V1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W1 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W12 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="835">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W130 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="760">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W200 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W35 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1340">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W510 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony DSC-W55 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20853">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="41333">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro HD MTP+UMS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="45429">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY IS12S Xperia Acro MTP+UMS+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="370">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20850">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16754">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT22i Xperia P MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="390">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20870">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16774">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT25i Xperia V MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="361">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20841">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16745">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26i Xperia S MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="373">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16757">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD IS12S MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="374">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16758">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT26w Xperia Acro HD SO-03D MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="375">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20855">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16759">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="41335">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="45431">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT28at Xperia Ion MTP+UMS+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="376">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20856">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16760">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT29i Xperia GX MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="386">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20866">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16770">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY LT30p Xperia T MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="371">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20851">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16755">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="41331">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="45427">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY MT27i Xperia Sola MTP+UMS+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD300 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony MVC-CD500 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1839">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony NEX-3N (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1656">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony NEX-6</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="860">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A726/NWZ-A728/NWZ-A768</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="805">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A815/NWZ-A818</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="859">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A826/NWZ-A828/NWZ-A829</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1028">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-A845</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="878">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B135</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="984">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B142F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1214">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B153F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1434">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B163F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1673">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-B173F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1020">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E344/E345</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1227">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E354</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="901">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E436F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1021">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E445</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1446">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-E464</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="806">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S516</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1022">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S545</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="807">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S615F/NWZ-S616F/NWZ-S618F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="910">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S638F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="858">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S716F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="908">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S739F</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1228">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S754</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1448">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-S765</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="904">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W202</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1211">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-W252B</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="919">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1050B/NWZ-X1060B</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="920">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony NWZ-X1051/NWZ-X1061</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="78">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony PTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1191">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A35 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="801">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A350 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1187">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A55 (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1641">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A57</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1846">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1847">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A58 (Control)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1396">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A65V (PTP mode)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1653">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">Sony SLT-A99v</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20854">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="41334">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro HD MTP+UMS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="45430">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY SO-03D Xperia Acro MTP+UMS+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="385">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20865">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16769">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY SO-05D Xperia SX MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1233">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet P1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1459">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1356">
+ <match key="usb.product_id" int="1460">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Sony Sony Tablet S1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="369">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST15i Xperia U MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="368">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20848">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16752">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST21i Xperia Tipo MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="384">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20864">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16768">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST23i Xperia Miro MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20849">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16753">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST25i Xperia U MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="382">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20862">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16766">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="41342">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="45438">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY ST27i/ST27a Xperia go MTP+UMS+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="365">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY WT19i Live Walkman MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="408">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20888">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia A MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="419">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20899">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16803">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia C MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="396">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20876">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16780">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia E MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="444">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20924">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="444">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia E3 MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="459">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20939">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16843">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY XPeria E4g MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="392">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20872">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16776">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia J MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="402">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20882">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16786">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia L MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="411">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20891">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16795">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="427">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20907">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16811">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 Dual MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="426">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20906">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16810">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia M2 MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="405">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20885">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16789">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia SP MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="397">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="404">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20877">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20884">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+ADB 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16781">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16788">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Tablet Z MTP+CDROM 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="403">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20883">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16787">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="438">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="406">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="412">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20918">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20886">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20892">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+ADB (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16796">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z Ultra MTP+CDROM (ID3)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="423">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16807">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact D5503 MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20903">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 Compact MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="414">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20894">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16798">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z1 MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="431">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20911">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16815">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z2 MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="443">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20923">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16827">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 Compact MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="442">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20922">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16826">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia Z3 MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="393">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20873">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16777">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZL MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="407">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20887">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SONY Xperia ZR MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="326">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20806">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson c1605 Xperia Dual E MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="217">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson C702</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="212">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson C902</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="239">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson C905</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="343">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20823">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16727">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson IS12S Xperia Acro MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="334">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson j108i (Cedar)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="53572">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i (Elm)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="324">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson j10i2 (Elm)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="57344">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson K550i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="117">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson K850i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20815">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia Arc MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="335">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson LT15i Xperia arc S MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="346">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20826">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson MK16i Xperia MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="342">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20822">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson MT11i Xperia Neo MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="349">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20829">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson R800/R88i Xperia Play MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="358">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20838">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson SK17i Xperia Mini Pro MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="359">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20839">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST15i Xperia Mini MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="360">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20840">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="16744">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST17i Xperia Active MTP+CDROM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="353">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18a Xperia Ray MTP</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20833">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson ST18i Xperia Ray MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="251">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson T700</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="307">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson U5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="314">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson U8i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="4296">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W302</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="243">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W595</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="261">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W705/W715</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="198">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W760i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="179">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W890i</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="245">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W902</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="118">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W910</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="218">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W980</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="274">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson W995</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4046">
+ <match key="usb.product_id" int="20845">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">SonyEricsson WT19i Live Walkman MTP+ADB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Soundstar TDC-35</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SpyPen Axys</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SpyPen Cleo</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SpyPen Luxo</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SpyPen Memo</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SpyPen Xion</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SQ chip camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">StarCam CP086</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">STM USB Dual-mode camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Stop &amp; Shop 87096</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">STV0680</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37181">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Suprema Digital Keychain Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">SY-2107C</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1105">
+ <match key="usb.product_id" int="53512">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">TCL Alcatel one touch 986+</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5073">
+ <match key="usb.product_id" int="28695">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Technika MP-709</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2726">
+ <match key="usb.product_id" int="12305">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Tevion MD 81488</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1691">
+ <match key="usb.product_id" int="12341">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Lyra HC308A</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1691">
+ <match key="usb.product_id" int="1911">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Thomson / RCA Opal / Lyra MC4002</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1691">
+ <match key="usb.product_id" int="1908">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Thomson EM28 Series</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1691">
+ <match key="usb.product_id" int="1916">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Thomson Lyra MC5104B (M51 Series)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1691">
+ <match key="usb.product_id" int="12314">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Thomson RCA H106</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1691">
+ <match key="usb.product_id" int="12328">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Thomson scenium E308</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2329">
+ <match key="usb.product_id" int="256">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Tiger Fast Flicks</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Timlex CP075</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="5008">
+ <match key="usb.product_id" int="21589">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">TomTom Rider 40</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4571">
+ <match key="usb.product_id" int="4096">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Topfield TF5000PVR</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="2403">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Excite AT300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="12">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="9">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEGF-40</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="29">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MET401</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="26">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU201</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="24">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat MEU202</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="17">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P10</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="15">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat P20</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="16">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat S</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="25">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat T</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="22">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat U</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="20">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Gigabeat V30</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4402">
+ <match key="usb.product_id" int="17207">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M11</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4402">
+ <match key="usb.product_id" int="17202">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M60</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4402">
+ <match key="usb.product_id" int="17205">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M61</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="4402">
+ <match key="usb.product_id" int="17204">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba PDR-M65</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2352">
+ <match key="usb.product_id" int="28928">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Toshiba Thrive AT100/AT105</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="13056">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Traveler SX330z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3478">
+ <match key="usb.product_id" int="16640">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Traveler SX410z</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7784">
+ <match key="usb.product_id" int="2">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Organix 2.0</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1026">
+ <match key="usb.product_id" int="1553">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">TrekStor i.Beat Sweez FM</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1647">
+ <match key="usb.product_id" int="33834">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">TrekStor Vibez 8/12GB</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2125">
+ <match key="usb.product_id" int="3">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Trust Familycam 300</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1750">
+ <match key="usb.product_id" int="46">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FS</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1750">
+ <match key="usb.product_id" int="45">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Trust PowerC@m 350FT</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2250">
+ <match key="usb.product_id" int="272">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 100</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1276">
+ <match key="usb.product_id" int="20554">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Trust Spyc@m 500F FLASH</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1943">
+ <match key="usb.product_id" int="32794">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Typhoon StyloCam</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1363">
+ <match key="usb.product_id" int="514">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">UMAX AstraPen</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3428">
+ <match key="usb.product_id" int="4097">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">UMAX AstraPix 320s</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.interface.class" int="6">
+ <match key="usb.interface.subclass" int="1">
+ <match key="usb.interface.protocol" int="1">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">ptp</merge>
+ <merge key="camera.libgphoto2.name" type="string">USB PTP Class Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8711">
+ <match key="usb.product_id" int="1">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8711">
+ <match key="usb.product_id" int="17">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Various Viewpia DR/bq Kepler Debugging</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1032">
+ <match key="usb.product_id" int="14489">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Verizon Ellipsis 7</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ViviCam3350</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="37152">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ViviCam5B</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2425">
+ <match key="usb.product_id" int="551">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Vivitar Freelance</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="270">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Vivitar Mini Digital Camera</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="2362">
+ <match key="usb.product_id" int="271">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam 55</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32778">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam3350B</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Vivitar Vivicam35</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1161">
+ <match key="usb.product_id" int="57617">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Vizio (for Lenovo) LIFETAB S9714</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1161">
+ <match key="usb.product_id" int="49190">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Vizio Unknown 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1161">
+ <match key="usb.product_id" int="57408">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Vizio VTAB1008</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1329">
+ <match key="usb.product_id" int="8193">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Wacom Cintiq Companion Hybrid (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="3141">
+ <match key="usb.product_id" int="32769">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">Wild Planet Digital Spy Camera 70137</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7763">
+ <match key="usb.product_id" int="7">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Wyplay Wyplayer</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="4968">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi HM NOTE 1LTEW MIUI (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="4680">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="4672">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Hongmi (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="61443">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="36921">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2 (MTP+ADB)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="65352">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-2s (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="872">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3 (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="864">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi Mi-3w (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10007">
+ <match key="usb.product_id" int="1632">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Xiaomi MiPad (MTP)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="8711">
+ <match key="usb.product_id" int="6">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">YiFang BQ Tesla</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10518">
+ <match key="usb.product_id" int="37197">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Yota Phone 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10518">
+ <match key="usb.product_id" int="61443">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">Yota Phone 2 (ID2)</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="7871">
+ <match key="usb.product_id" int="32553">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">YU Yureka Vodafone smart turbo 4</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="1054">
+ <match key="usb.product_id" int="24576">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZiiLABS Zii EGG</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="10096">
+ <match key="usb.product_id" int="36956">
+ <merge key="info.category" type="string">camera</merge>
+ <addset key="info.capabilities" type="strlist">camera</addset>
+ <merge key="camera.access_method" type="string">proprietary</merge>
+ <merge key="camera.libgphoto2.name" type="string">ZINA Mini Digital Keychain Camer</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="835">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE Grand X In</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="65486">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE V5</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="580">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 1</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="581">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE V55 ID 2</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="774">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE V790/Blade 3</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="775">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE V880E</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ <match key="usb.vendor_id" int="6610">
+ <match key="usb.product_id" int="899">
+ <merge key="info.category" type="string">portable_audio_player</merge>
+ <addset key="info.capabilities" type="strlist">portable_audio_player</addset>
+ <merge key="portable_audio_player.access_method" type="string">user</merge>
+ <merge key="portable_audio_player.type" type="string">mtp</merge>
+ <append key="portable_audio_player.output_formats" type="strlist">audio/mpeg</append>
+ <merge key="camera.libgphoto2.name" type="string">ZTE V985</merge>
+ <merge key="camera.libgphoto2.support" type="bool">true</merge>
+ </match>
+ </match>
+ </match>
+ </device>
+</deviceinfo>
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules
new file mode 100644
index 000000000..b9f04398d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2/40-libgphoto2.rules
@@ -0,0 +1,1955 @@
+# udev rules file for libgphoto2 devices (for udev 0.98 version)
+# Created from this library:
+# libgphoto2 2.5.8 all camlibs, gcc, ltdl, no EXIF
+# libgphoto2_port 0.12.0 gcc, ltdl, no USB, serial without locking
+#
+# this file is autogenerated, local changes will be LOST on upgrades
+ACTION!="add", GOTO="libgphoto2_rules_end"
+SUBSYSTEM!="usb|usb_device", GOTO="libgphoto2_usb_end"
+
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33c3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33c4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3643", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="353c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="362d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3586", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3348", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3349", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="334a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33d8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="337c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="337d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3325", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3341", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3344", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3345", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3389", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="338a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3378", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3514", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="35a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3644", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3725", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3609", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3473", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="355f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="3657", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="33aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="35e4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0502", ATTRS{idProduct}=="361d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="16d5", ATTRS{idProduct}=="8006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="16d5", ATTRS{idProduct}=="8005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="06bd", ATTRS{idProduct}=="0403", MODE="l36"
+ATTRS{idVendor}=="06bd", ATTRS{idProduct}=="0404", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504b", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="08ca", ATTRS{idProduct}=="0111", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504b", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="a00e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="904d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1bbb", ATTRS{idProduct}=="0167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0800", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0012", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="000d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="0005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1949", ATTRS{idProduct}=="00f2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0224", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="129a", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12ab", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1290", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1292", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1294", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1297", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12a0", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12a8", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1291", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1293", MODE="l36"
+ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="1299", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="5008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="5009", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="4002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1528", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1529", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1539", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1538", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14b9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1548", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="120a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="131d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="120c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1301", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1303", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1311", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1321", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="31f3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1331", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1333", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="3229", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1307", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1357", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1351", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1309", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="130b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1313", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1315", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1335", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="130d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="130f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1319", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14ef", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1568", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1569", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14bf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1518", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1508", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1509", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14ad", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="149a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="146b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="145e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1458", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="31ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1207", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1341", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="131b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="1208", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913c", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5a0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ce0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ce1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="514f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="7773", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="540f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="541f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="550f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5500", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cd0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cd1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="521f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="520f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cc0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4cc1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5460", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5468", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5400", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5410", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5411", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5466", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="7772", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5506", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5561", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5200", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5201", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5210", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5211", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5214", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5220", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5221", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5230", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5231", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e00", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4e1f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4d00", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4d01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c80", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c81", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c90", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4c91", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ca0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="4ca1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="561f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5f02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="580f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="581f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5480", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5481", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="7781", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5490", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="5491", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9051", MODE="l36"
+ATTRS{idVendor}=="2080", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2080", ATTRS{idProduct}=="0005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04a5", ATTRS{idProduct}=="3003", MODE="l36"
+ATTRS{idVendor}=="1d45", ATTRS{idProduct}=="459d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2a47", ATTRS{idProduct}=="7f10", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2a47", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2a47", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3047", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31bd", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e6", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f3", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3268", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f7", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3066", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30bf", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3075", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ba", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="310e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ff", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fe", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3116", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3184", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3119", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3174", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3136", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3160", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3174", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3115", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3173", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3193", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3072", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b6", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3052", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3065", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3070", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3071", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3088", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3087", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a5", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="317b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3270", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3083", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30bc", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3217", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="327f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ea", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3147", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31d0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3219", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30eb", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ec", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3084", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3099", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3113", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ef", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3110", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3146", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3145", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31cf", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="319b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31ea", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3101", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3102", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3199", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3218", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3215", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3250", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3272", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3253", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="319a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="326f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3044", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3060", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3084", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3099", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3110", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3084", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3099", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ee", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3110", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3145", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31cf", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3299", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31cf", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3145", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3241", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="32a9", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3225", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e6", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3193", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3046", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3096", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="307c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="307a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3096", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3081", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3080", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a9", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3082", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="307f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3080", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3096", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30a9", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3105", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="308e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3061", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c3", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3264", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3062", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3191", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31be", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="322a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="324a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3249", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3271", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3262", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3059", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3076", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b8", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3261", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3058", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b7", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3243", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f9", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="310f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f8", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3155", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3149", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="317a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31bf", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31ef", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3126", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3150", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3177", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3176", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3074", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fd", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fc", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="313a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3139", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3073", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3117", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3138", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b5", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3226", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b9", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30bb", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31bc", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3288", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3289", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3048", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3233", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31df", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3258", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3055", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3085", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b3", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3125", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3049", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3041", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3236", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3045", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3051", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3275", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3043", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3065", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3070", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3071", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3057", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="304c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3066", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3056", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3075", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ba", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="306d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3148", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3077", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fa", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3212", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="309b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3072", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30b6", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3184", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30c0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3137", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30ff", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30f2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="311c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="30fe", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3119", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3175", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c2", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3174", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="314b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3196", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3115", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e6", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c1", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3193", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318d", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="315e", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3192", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3211", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3234", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325a", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3276", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31e4", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31c0", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31f6", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="322c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3228", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3245", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3244", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325f", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3238", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="325c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3277", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="329b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3050", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="305c", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="31ea", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3217", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="323b", MODE="l36"
+ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="3078", MODE="l36"
+ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="1049", MODE="l36"
+ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="1042", MODE="l36"
+ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="104d", MODE="l36"
+ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="104c", MODE="l36"
+ATTRS{idVendor}=="07cf", ATTRS{idProduct}=="117a", MODE="l36"
+ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c200", MODE="l36"
+ATTRS{idVendor}=="04b7", ATTRS{idProduct}=="88a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="1002", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8001", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0224", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="1e74", ATTRS{idProduct}=="6512", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1e53", ATTRS{idProduct}=="0005", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36"
+ATTRS{idVendor}=="03e8", ATTRS{idProduct}=="2182", MODE="l36"
+ATTRS{idVendor}=="03e8", ATTRS{idProduct}=="2180", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0952", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0711", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0751", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0911", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0941", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0801", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0871", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0891", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0861", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0881", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0921", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0901", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0701", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0761", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0e21", ATTRS{idProduct}=="0931", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4016", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4007", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="400a", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4012", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="400b", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4013", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4123", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4130", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="413c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4133", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4161", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4137", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="413d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4131", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4150", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4158", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4152", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="411f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4153", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="413e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4151", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4162", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4128", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="106c", ATTRS{idProduct}=="3215", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="084d", ATTRS{idProduct}=="0003", MODE="l36"
+ATTRS{idVendor}=="0d64", ATTRS{idProduct}=="1021", MODE="l36"
+ATTRS{idVendor}=="03e8", ATTRS{idProduct}=="2130", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8000", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="4132", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="412f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b10b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b11a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="b11b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="413c", ATTRS{idProduct}=="4500", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="05da", ATTRS{idProduct}=="1018", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="1183", ATTRS{idProduct}=="0001", MODE="l36"
+ATTRS{idVendor}=="05da", ATTRS{idProduct}=="1020", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="6021", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9050", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9052", MODE="l36"
+ATTRS{idVendor}=="10d6", ATTRS{idProduct}=="2200", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0403", MODE="l36"
+ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0402", MODE="l36"
+ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2970", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1782", ATTRS{idProduct}=="4001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="06d3", ATTRS{idProduct}=="21ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0002", MODE="l36"
+ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0002", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="014a", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d2", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c6", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d3", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="021b", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0193", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e0", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c0", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e4", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="019b", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c1", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c5", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d4", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e6", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01fa", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="020e", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="022d", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0271", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0250", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01dd", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01db", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01ef", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0200", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01e8", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0209", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0240", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="027d", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0265", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0298", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c4", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d7", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01bf", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0142", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="018f", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="029c", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0233", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="026e", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0263", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="02a6", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0288", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01d8", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="0201", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="020d", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01fe", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="02b5", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="04cb", ATTRS{idProduct}=="01c3", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="1140", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04c5", ATTRS{idProduct}=="133b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="091e", ATTRS{idProduct}=="2585", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0458", ATTRS{idProduct}=="7005", MODE="l36"
+ATTRS{idVendor}=="040d", ATTRS{idProduct}=="885c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0414", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0414", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="0007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e41", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e42", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4d00", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="2d02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="740a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d10a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d109", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="b00a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="70a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e25", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4e26", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="05b3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="7102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2672", ATTRS{idProduct}=="0011", MODE="l36"
+ATTRS{idVendor}=="0797", ATTRS{idProduct}=="801c", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="1302", ATTRS{idProduct}=="1016", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1302", ATTRS{idProduct}=="1017", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7e1d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="5d1d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="5c1d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="109b", ATTRS{idProduct}=="9106", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="109b", ATTRS{idProduct}=="9109", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="109b", ATTRS{idProduct}=="9105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6502", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6202", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7c02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7d02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6302", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6602", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7402", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7802", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7202", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6e02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7902", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6d02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6302", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4102", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6802", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7102", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6b02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6402", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7602", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6702", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6c02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6a02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4202", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7702", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7e02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4302", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4102", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4402", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4502", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="4102", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="6002", MODE="l36"
+ATTRS{idVendor}=="f003", ATTRS{idProduct}=="6002", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8b02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8c02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7502", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7b02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7302", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="7a02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8002", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8102", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8202", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="9b02", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8402", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8502", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="9602", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="9702", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8702", MODE="l36"
+ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8802", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="685c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="6860", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ec6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ebd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dff", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c93", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ca8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfe", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0de4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="05fd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dd5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0e31", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0e32", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0df5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07ae", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dda", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f91", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f64", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f63", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f87", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f5f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f60", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dea", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dd2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0f25", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="061a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0fb4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0fb5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07d9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0cec", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0df8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0df9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dfd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="07d8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2012", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="060b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0dcd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="f0ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ba1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0ba2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1082", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="360f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="361f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1051", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1052", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9153", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0489", ATTRS{idProduct}=="c025", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="19ff", ATTRS{idProduct}=="0303", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19ff", ATTRS{idProduct}=="0309", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19ff", ATTRS{idProduct}=="0307", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a5f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a15", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a16", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0630", MODE="l36"
+ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0a5e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="8087", ATTRS{idProduct}=="09fb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="112a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1126", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1141", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1142", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1152", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1151", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="2101", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="2105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="2102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1006", ATTRS{idProduct}=="3004", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1122", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1006", ATTRS{idProduct}=="4002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1006", ATTRS{idProduct}=="4003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1147", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1113", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1120", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1117", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1115", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1114", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1118", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1119", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1153", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1134", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1042", ATTRS{idProduct}=="1143", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1e68", ATTRS{idProduct}=="1002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1116", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="4102", ATTRS{idProduct}=="1132", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0b20", ATTRS{idProduct}=="ddee", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0784", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36"
+ATTRS{idVendor}=="05da", ATTRS{idProduct}=="1006", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="0000", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2931", ATTRS{idProduct}=="0a01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2931", ATTRS{idProduct}=="0a05", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04f1", ATTRS{idProduct}=="6105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="084e", ATTRS{idProduct}=="0001", MODE="l36"
+ATTRS{idVendor}=="0b28", ATTRS{idProduct}=="100c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2237", ATTRS{idProduct}=="d108", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2237", ATTRS{idProduct}=="d109", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2237", ATTRS{idProduct}=="b108", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0617", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="060b", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057e", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058a", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058c", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058d", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0589", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05aa", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059a", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a2", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b7", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ba", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a7", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05af", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ae", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c3", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a9", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c6", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059c", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0560", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0560", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0535", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0566", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0566", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0574", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0573", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0571", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0584", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0579", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0578", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0578", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057a", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057b", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0586", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057c", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0120", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0121", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0110", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0111", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0130", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0112", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0132", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0160", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0131", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0525", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0500", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0510", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0530", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0170", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0555", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0576", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0550", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0570", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0572", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0575", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057d", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="057f", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0577", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0300", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0540", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0568", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0569", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0565", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0567", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ce", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0600", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059f", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c1", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ad", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0585", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0400", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0592", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0593", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058e", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="058f", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0591", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05a0", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ac", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05ab", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b8", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059d", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="059e", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0587", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b3", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b4", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0580", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0588", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0403", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05b5", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="0595", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05cf", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05cd", MODE="l36"
+ATTRS{idVendor}=="040a", ATTRS{idProduct}=="05c0", MODE="l36"
+ATTRS{idVendor}=="04c8", ATTRS{idProduct}=="0722", MODE="l36"
+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0001", MODE="l36"
+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0019", MODE="l36"
+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0009", MODE="l36"
+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0007", MODE="l36"
+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0018", MODE="l36"
+ATTRS{idVendor}=="132b", ATTRS{idProduct}=="0022", MODE="l36"
+ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="1006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0482", ATTRS{idProduct}=="0979", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0482", ATTRS{idProduct}=="0810", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0482", ATTRS{idProduct}=="0571", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0482", ATTRS{idProduct}=="059a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9051", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2375", MODE="l36"
+ATTRS{idVendor}=="1a98", ATTRS{idProduct}=="0002", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7737", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="772b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7498", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="75bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="75be", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7542", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="757d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="76e8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="740a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7883", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="75b5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="775a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="74cc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7497", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="74a6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="74f8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7718", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="741c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="76f2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="77ea", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="76ff", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="77b1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61f1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="61f9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="627f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="626e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="611b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="608f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6132", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="633e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6239", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="623d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="621c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6225", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="619a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="043e", ATTRS{idProduct}=="7040", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="043e", ATTRS{idProduct}=="70b1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="631c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6265", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6010", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6005", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36"
+ATTRS{idVendor}=="13d1", ATTRS{idProduct}=="7002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0900", MODE="l36"
+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0950", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504b", MODE="l36"
+ATTRS{idVendor}=="066f", ATTRS{idProduct}=="846c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0e8d", ATTRS{idProduct}=="0050", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0408", ATTRS{idProduct}=="b00a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="7483", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2205", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4102", MODE="l36"
+ATTRS{idVendor}=="066f", ATTRS{idProduct}=="8550", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="066f", ATTRS{idProduct}=="8588", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0408", ATTRS{idProduct}=="b009", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1271", ATTRS{idProduct}=="2012", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="201e", ATTRS{idProduct}=="42ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2a45", ATTRS{idProduct}=="2008", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2a45", ATTRS{idProduct}=="0c02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="10d6", ATTRS{idProduct}=="2300", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0db0", ATTRS{idProduct}=="5572", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0640", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0622", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="04ec", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0710", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="063e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="f0ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="00c9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0641", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8008", MODE="l36"
+ATTRS{idVendor}=="084d", ATTRS{idProduct}=="0003", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="60ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="7088", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="64cf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e32", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e33", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e67", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2ea5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2ea8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e68", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41d6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41da", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="42a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="437f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4373", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4811", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41dc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e76", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e82", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e84", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e62", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e63", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e66", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="6413", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="64b5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="64b6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e50", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2e51", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="6415", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="2a65", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="70a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4311", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4306", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41cf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="710d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="710e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="4362", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+# not working yet: PROGRAM="check-mtp-device", , ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c200", MODE="l36"
+ATTRS{idVendor}=="055f", ATTRS{idProduct}=="a350", MODE="l36"
+ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c220", MODE="l36"
+ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c420", MODE="l36"
+ATTRS{idVendor}=="055f", ATTRS{idProduct}=="c520", MODE="l36"
+ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="9601", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0326", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0432", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0242", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0402", ATTRS{idProduct}=="5668", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0302", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0117", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0122", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0123", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0109", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0115", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0121", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0111", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="011d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="012d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0204", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0130", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0131", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0129", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0113", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0206", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0119", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="012e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0135", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0139", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0137", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="011f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0103", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0127", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0112", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0191", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0102", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0226", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0188", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0208", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="030b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0309", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="017e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="015f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0185", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0315", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0318", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0317", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0324", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0343", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0305", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0192", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0140", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="017d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0142", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0221", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="020c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0169", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0184", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="015b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0223", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0163", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0228", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0311", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="016f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="017f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="018b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0225", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0229", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="016b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="016c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0173", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0337", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0346", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="014e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0161", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0177", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0178", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0321", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="032d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="033f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="031b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0320", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0334", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="032a", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0144", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0329", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="015d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0220", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="014e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0171", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="021e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="021c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0157", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="021f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0222", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0186", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0193", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="034b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0404", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="040c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0408", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="041c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="040a", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0402", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0410", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0416", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="041a", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0424", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0425", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0427", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042c", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0433", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0426", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0420", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042b", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0414", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0418", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0435", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0423", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0429", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042f", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0431", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="041e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042d", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0434", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0406", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0422", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0428", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="040e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0430", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0437", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0412", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042a", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="042e", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0436", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0421", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0602", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0603", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0605", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0609", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0606", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0601", MODE="l36"
+ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0604", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0224", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="02c1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0065", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="005f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0462", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01ee", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0209", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04be", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="02e2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="00ea", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="047e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0229", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04b4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0154", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0155", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0159", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="002e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0098", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="008d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="003c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0297", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="05d3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0592", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="03c1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="03cd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01cf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="032f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0179", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="00e5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0334", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0335", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="00e4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01a1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0221", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="06fc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0666", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0661", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0524", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0488", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04d1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04e1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0079", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="02fe", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0302", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04f1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="000a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0074", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0092", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="051a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0485", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0478", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04e5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="04ef", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="006e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="03d2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0039", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01f5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="026b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="01f4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="0274", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0421", ATTRS{idProduct}=="06e8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1703", ATTRS{idProduct}=="0001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1703", ATTRS{idProduct}=="0002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0955", ATTRS{idProduct}=="70a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0955", ATTRS{idProduct}=="b400", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0955", ATTRS{idProduct}=="cf07", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0955", ATTRS{idProduct}=="cf02", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7100", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1e53", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0110", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="012f", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="012f", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0116", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0113", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="012f", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0114", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0116", MODE="l36"
+ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0116", MODE="l36"
+ATTRS{idVendor}=="22d9", ATTRS{idProduct}=="2765", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22d9", ATTRS{idProduct}=="2774", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="22d9", ATTRS{idProduct}=="2773", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2374", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2145", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04da", ATTRS{idProduct}=="2158", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="106c", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1d4d", ATTRS{idProduct}=="5036", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1d4d", ATTRS{idProduct}=="5035", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1d4d", ATTRS{idProduct}=="504a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0165", MODE="l36"
+ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="000d", MODE="l36"
+ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="00f7", MODE="l36"
+ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="9702", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="207c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20b9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2138", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0165", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2077", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="208e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2004", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0857", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="084e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2075", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="207b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20b7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20e5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="01eb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="014b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="190b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2190", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="7e01", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0164", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="2022", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0471", ATTRS{idProduct}=="0172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="08e4", ATTRS{idProduct}=="0142", MODE="l36"
+ATTRS{idVendor}=="08e4", ATTRS{idProduct}=="0148", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0784", ATTRS{idProduct}=="2888", MODE="l36"
+ATTRS{idVendor}=="0546", ATTRS{idProduct}=="2035", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0546", ATTRS{idProduct}=="0daf", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="29e4", ATTRS{idProduct}=="1203", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="29e4", ATTRS{idProduct}=="1103", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0784", ATTRS{idProduct}=="5300", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="ffff", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="8800", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="0229", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="3196", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="6764", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="6765", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9039", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9025", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0004", MODE="l36"
+ATTRS{idVendor}=="0784", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1260", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1268", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220b", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2203", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2204", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2208", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220c", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0325", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2214", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="032d", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220d", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2212", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="032b", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2213", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2216", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="032f", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2217", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="221a", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0110", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="2202", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="033d", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220d", MODE="l36"
+ATTRS{idVendor}=="0fca", ATTRS{idProduct}=="8007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220f", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220f", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8003", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8003", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8003", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6866", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6727", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6860", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="685c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6877", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6752", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="68af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="e20c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6819", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="04a4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="4f1f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6734", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6642", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="140c", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="1384", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="684a", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6763", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6709", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="68a9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="6702", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="502e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="501d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5022", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="502f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5024", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5a0f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5033", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="0409", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5057", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5081", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="505a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5118", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5083", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="511a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5115", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="511d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5130", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5125", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="510f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="512e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5091", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="508b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="508a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5047", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="507f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5054", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="507d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5093", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5121", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="5137", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="503c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7410", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7450", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7452", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7432", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7434", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74e4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74d0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7480", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7420", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7422", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7460", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74c0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74c2", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74e0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7401", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7400", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="7430", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0781", ATTRS{idProduct}=="74b0", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0474", ATTRS{idProduct}=="0230", MODE="l36"
+ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8901", MODE="l36"
+ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8909", MODE="l36"
+ATTRS{idVendor}=="0797", ATTRS{idProduct}=="8911", MODE="l36"
+ATTRS{idVendor}=="084d", ATTRS{idProduct}=="1001", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0353", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="220e", MODE="l36"
+ATTRS{idVendor}=="05ca", ATTRS{idProduct}=="0327", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="04dd", ATTRS{idProduct}=="9661", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="04dd", ATTRS{idProduct}=="96ca", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0489", ATTRS{idProduct}=="c025", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="066f", ATTRS{idProduct}=="a010", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1011", MODE="l36"
+ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1015", MODE="l36"
+ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1002", MODE="l36"
+ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1010", MODE="l36"
+ATTRS{idVendor}=="0d64", ATTRS{idProduct}=="1001", MODE="l36"
+ATTRS{idVendor}=="0c77", ATTRS{idProduct}=="1001", MODE="l36"
+ATTRS{idVendor}=="18f6", ATTRS{idProduct}=="0102", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="18f6", ATTRS{idProduct}=="0110", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36"
+ATTRS{idVendor}=="1bdc", ATTRS{idProduct}=="fabf", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0dca", ATTRS{idProduct}=="0002", MODE="l36"
+ATTRS{idVendor}=="0ec7", ATTRS{idProduct}=="1008", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="074e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="07c6", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0957", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08e7", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="094e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08b7", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0953", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="094d", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0954", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08e2", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="1294", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02c0", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02e7", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0543", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="061f", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="06ee", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0491", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="08ad", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="052b", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="052a", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="074b", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0296", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0296", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0343", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="02f8", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="053c", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4172", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4186", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4169", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4175", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b177", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0178", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5178", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4178", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0182", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5182", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4182", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b173", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="072f", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0678", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="035c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0325", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="035b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0404", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="036e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03d8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04be", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="059a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0689", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03fc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0385", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03fd", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05a6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0326", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="03fe", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0327", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="038e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="035a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="038c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04cc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05a8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0388", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0397", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0398", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="004e", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04a7", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0321", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04a3", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0669", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0736", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0737", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0574", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0675", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b176", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4181", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="04d1", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05b3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05b4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0171", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0170", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5170", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4170", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0180", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5180", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4180", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5171", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4171", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="017e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="517e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="417e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="a17e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="b17e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="016d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0198", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5198", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41a3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="018c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="518c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="418c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01bc", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41cb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0188", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5188", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4188", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0192", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5192", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4192", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="019b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="519b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="419b", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41ab", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41aa", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0195", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5195", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4195", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="018d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0194", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="518d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5194", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="418d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4194", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0193", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5193", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4193", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01b6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0196", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="019c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51b6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5196", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="519c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="419c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51a7", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="019e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="519e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="419e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41af", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41bb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="01ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="51ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="41ba", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0189", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5189", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4189", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0197", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5197", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0146", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5146", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00d9", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00d4", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00ef", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4157", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="014e", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="d144", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0144", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="e000", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0075", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="514f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="014f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="015a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="515a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0156", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5156", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="015d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="515d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0166", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5166", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5167", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="4168", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0161", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="5161", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00fb", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0133", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="013a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="10c8", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00f3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0105", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00c6", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00b3", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00f5", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0076", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="00da", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="0112", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0fce", ATTRS{idProduct}=="516d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="913d", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0451", ATTRS{idProduct}=="d108", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="13d1", ATTRS{idProduct}=="7017", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0aa6", ATTRS{idProduct}=="3011", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="069b", ATTRS{idProduct}=="3035", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="069b", ATTRS{idProduct}=="0777", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="069b", ATTRS{idProduct}=="0774", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="069b", ATTRS{idProduct}=="077c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="069b", ATTRS{idProduct}=="301a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="069b", ATTRS{idProduct}=="3028", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0919", ATTRS{idProduct}=="0100", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="1390", ATTRS{idProduct}=="5455", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="11db", ATTRS{idProduct}=="1000", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0963", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="000c", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0009", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="001d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="001a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0018", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0011", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="000f", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0010", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0019", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0016", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="0014", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4337", MODE="l36"
+ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4332", MODE="l36"
+ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4335", MODE="l36"
+ATTRS{idVendor}=="1132", ATTRS{idProduct}=="4334", MODE="l36"
+ATTRS{idVendor}=="0930", ATTRS{idProduct}=="7100", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="3300", MODE="l36"
+ATTRS{idVendor}=="0d96", ATTRS{idProduct}=="4100", MODE="l36"
+ATTRS{idVendor}=="1e68", ATTRS{idProduct}=="0002", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0402", ATTRS{idProduct}=="0611", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="066f", ATTRS{idProduct}=="842a", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="084d", ATTRS{idProduct}=="0003", MODE="l36"
+ATTRS{idVendor}=="06d6", ATTRS{idProduct}=="002e", MODE="l36"
+ATTRS{idVendor}=="06d6", ATTRS{idProduct}=="002d", MODE="l36"
+ATTRS{idVendor}=="08ca", ATTRS{idProduct}=="0110", MODE="l36"
+ATTRS{idVendor}=="04fc", ATTRS{idProduct}=="504a", MODE="l36"
+ATTRS{idVendor}=="0797", ATTRS{idProduct}=="801a", MODE="l36"
+ATTRS{idVendor}=="0553", ATTRS{idProduct}=="0202", MODE="l36"
+ATTRS{idVendor}=="0d64", ATTRS{idProduct}=="1001", MODE="l36"
+PROGRAM="check-ptp-camera 06/01/01", MODE="l36"
+ATTRS{idVendor}=="2207", ATTRS{idProduct}=="0001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2207", ATTRS{idProduct}=="0011", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3899", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="9120", MODE="l36"
+ATTRS{idVendor}=="0979", ATTRS{idProduct}=="0227", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010e", MODE="l36"
+ATTRS{idVendor}=="093a", ATTRS{idProduct}=="010f", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="800a", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e111", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0489", ATTRS{idProduct}=="c026", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0489", ATTRS{idProduct}=="e040", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0531", ATTRS{idProduct}=="2001", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="0c45", ATTRS{idProduct}=="8001", MODE="l36"
+ATTRS{idVendor}=="1e53", ATTRS{idProduct}=="0007", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1368", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1248", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="1240", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="9039", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="ff48", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="0368", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="0360", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2717", ATTRS{idProduct}=="0660", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2207", ATTRS{idProduct}=="0006", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2916", ATTRS{idProduct}=="914d", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2916", ATTRS{idProduct}=="f003", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="1ebf", ATTRS{idProduct}=="7f29", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="041e", ATTRS{idProduct}=="6000", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="2770", ATTRS{idProduct}=="905c", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0343", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="ffce", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0244", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0245", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0306", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0307", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0383", ENV{ID_MEDIA_PLAYER}="1", MODE="l36"
+
+LABEL="libgphoto2_usb_end"
+
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="1315", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="1320", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="0102", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="1908", ATTRS{idProduct}=="3335", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0116", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0108", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0110", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="010e", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0104", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="0401", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0105", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="07b4", ATTRS{idProduct}=="0109", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0070", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="00a1", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="006e", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0093", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0091", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0164", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0132", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="25fb", ATTRS{idProduct}=="0102", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0009", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0a17", ATTRS{idProduct}=="0007", MODE="l36"
+KERNEL=="sd[a-z]*", ATTRS{idVendor}=="1403", ATTRS{idProduct}=="0001", MODE="l36"
+KERNEL=="sg[0-9]*", ATTRS{idVendor}=="0168", ATTRS{idProduct}=="3011", MODE="l36"
+
+LABEL="libgphoto2_rules_end"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb
new file mode 100644
index 000000000..7a691c611
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.16.bb
@@ -0,0 +1,54 @@
+SUMMARY = "libgphoto2 allows you to access digital cameras"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
+
+DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
+
+# The .fdi and .rules files were generated with:
+# libgphoto2-2.5.8/packaging/generic$ qemu-arm -s 1048576 -r 2.6.24 -L /OE/angstrom-dev/staging/armv5te-angstrom-linux-gnueabi/ .libs/print-camera-list
+# They are release specific, so please regen when adding new releases
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2;name=libgphoto2 \
+ file://10-camera-libgphoto2-device.fdi \
+ file://10-camera-libgphoto2.fdi \
+ file://40-libgphoto2.rules \
+ file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
+"
+
+SRC_URI[libgphoto2.md5sum] = "084d220d078d28c0c7a3ba13f4476128"
+SRC_URI[libgphoto2.sha256sum] = "e757416d1623e01a9d0d294b2e790162e434c0964f50d3b7ff1a3424b62a2906"
+
+inherit autotools pkgconfig gettext lib_package
+
+EXTRA_OECONF = " --with-drivers=all udevscriptdir=${nonarch_base_libdir}/udev ac_cv_lib_ltdl_lt_dlcaller_register=yes"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gd] = ",--without-gdlib,gd"
+PACKAGECONFIG[serial] = "--enable-serial,--disable-serial,lockdev"
+
+do_configure_append() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/libgphoto2_port/po/
+ cd ${S}/libgphoto2_port/
+ autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
+ cd ${S}
+}
+
+do_install_append() {
+ install -d ${D}${datadir}/hal/fdi/information/20thirdparty
+ install -m 0644 ${WORKDIR}/*.fdi ${D}${datadir}/hal/fdi/information/20thirdparty/
+
+ install -d ${D}${sysconfdir}/udev/rules.d/
+ install -m 0755 ${WORKDIR}/*.rules ${D}${sysconfdir}/udev/rules.d/
+}
+
+PACKAGES =+ "libgphotoport libgphoto2-camlibs"
+FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*"
+RRECOMMENDS_${PN} = "libgphoto2-camlibs"
+
+FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*"
+
+FILES_${PN} += "${nonarch_base_libdir}/udev/* ${datadir}/hal"
+FILES_${PN}-dbg += "${libdir}/*/*/.debug"
+FILES_${PN}-dev += "${libdir}/*/*/*.la"
+FILES_${PN}-doc += "${datadir}/libgphoto2_port/0.12.0/vcamera/README.txt"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
new file mode 100644
index 000000000..d529ddd23
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0001-Include-stdlib.h-for-exit-API.patch
@@ -0,0 +1,34 @@
+From f8ac48abded02353918b02db38629988bd111c46 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 08:19:44 -0700
+Subject: [PATCH 1/2] Include stdlib.h for exit() API
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes
+main.c:81: warning: incompatible implicit declaration of built-in function ‘exit’
+
+Patch from Debian
+http://sources.debian.net/src/gtkperf/0.40%2Bds-2/debian/patches/01-include_stdlib.patch/
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.c b/src/main.c
+index 888eb36..c226799 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -11,6 +11,7 @@
+ #endif
+
+ #include <getopt.h>
++#include <stdlib.h>
+
+ #include "interface.h"
+ #include "support.h"
+--
+2.13.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
new file mode 100644
index 000000000..0548040af
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/0002-timing.c-Fix-format-security-errors.patch
@@ -0,0 +1,42 @@
+From 47974b8473c5b928f6742caee466f5c2d4d2e9eb Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 27 Jun 2017 08:22:26 -0700
+Subject: [PATCH 2/2] timing.c: Fix format-security errors
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/timing.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/timing.c b/src/timing.c
+index 0b8f0eb..c0668c9 100644
+--- a/src/timing.c
++++ b/src/timing.c
+@@ -97,7 +97,7 @@ add_test_info_time (AppData * appdata)
+ gtk_text_buffer_insert (appdata->textview_info_buffer, &iter,
+ timestring, -1);
+
+- g_printf (timestring);
++ g_printf ("%s", timestring);
+
+ }
+
+@@ -129,7 +129,7 @@ add_test_info_end (AppData * appdata)
+ gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0,
+ " Test Finished");
+
+- g_printf (timestring);
++ g_printf ("%s", timestring);
+
+ }
+
+@@ -154,5 +154,5 @@ add_test_info_start (AppData * appdata)
+ gtk_statusbar_push (GTK_STATUSBAR (appdata->statusbar_main), 0,
+ " Running tests...");
+
+- g_printf (timestring);
++ g_printf ("%s", timestring);
+ }
+--
+2.13.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars
new file mode 100644
index 000000000..8b09f53b0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf/Makevars
@@ -0,0 +1,25 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
new file mode 100644
index 000000000..4094513b2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/gtkperf/gtkperf_0.40.bb
@@ -0,0 +1,32 @@
+SUMMARY = "GTK Performance tool"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "http://prdownloads.sourceforge.net/${BPN}/${BPN}_${PV}.tar.gz \
+ file://Makevars \
+ file://0001-Include-stdlib.h-for-exit-API.patch \
+ file://0002-timing.c-Fix-format-security-errors.patch \
+ "
+
+SRC_URI[md5sum] = "4331dde4bb83865e15482885fcb0cc53"
+SRC_URI[sha256sum] = "9704344e732038eecbd007dd996a56293a6b027b5b76f3f036273a3fae1ab27b"
+
+DEPENDS = "gtk+"
+
+S = "${WORKDIR}/${BPN}"
+
+inherit distro_features_check autotools binconfig pkgconfig gettext
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_configure_prepend () {
+ rm -f ${S}/m4/init.m4
+ cp -f ${WORKDIR}/Makevars ${S}/po/
+}
+
+do_install_append () {
+ rm -rf ${D}/${exec_prefix}/doc
+}
+
+FILES_${PN} += "${exec_prefix}/share/duck.png"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
new file mode 100644
index 000000000..cc6a694ce
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/jasper/jasper_1.900.1.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Jpeg 2000 implementation"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=baa697d7510288a9cdcce9bd7edaf9bc"
+
+PR = "r1"
+
+SRC_URI = "http://www.ece.uvic.ca/~mdadams/jasper/software/jasper-${PV}.zip"
+
+inherit autotools lib_package
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
+PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,freeglut"
+
+EXTRA_OECONF = "--enable-shared"
+
+SRC_URI[md5sum] = "a342b2b4495b3e1394e161eb5d85d754"
+SRC_URI[sha256sum] = "6b905a9c2aca2e275544212666eefc4eb44d95d0a57e4305457b407fe63f9494"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
new file mode 100644
index 000000000..91fa00cc9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/leptonica/leptonica_1.74.4.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "A pedagogically-oriented open source site containing software that is broadly useful for image processing and image analysis applications"
+DEPENDS = "jpeg tiff libpng zlib"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://leptonica-license.txt;md5=34aa579294e8284b7b848c8d5d361e8f"
+
+SRC_URI = "http://leptonica.com/source/leptonica-${PV}.tar.gz"
+SRC_URI[md5sum] = "4f32be9bd2e2c142ba018037ab5d746f"
+SRC_URI[sha256sum] = "29c35426a416bf454413c6fec24c24a0b633e26144a17e98351b6dffaa4a833b"
+
+EXTRA_OECONF += " \
+ --without-libwebp \
+"
+
+PACKAGECONFIG ??= "giflib"
+PACKAGECONFIG[openjpeg] = "--with-libopenjpeg,--without-libopenjpeg,openjpeg"
+PACKAGECONFIG[giflib] = "--with-giflib,--without-giflib,giflib"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
new file mode 100644
index 000000000..ba928d281
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libmng/libmng_2.0.3.bb
@@ -0,0 +1,23 @@
+# Copyright (C) 2016 Khem Raj <raj.khem@gmail.com>
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Development files for the Multiple-image Network Graphics library"
+HOMEPAGE = "http://www.libpng.org/pub/mng/"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=32becdb8930f90eab219a8021130ec09"
+SECTION = "devel"
+DEPENDS = "zlib"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "7e9a12ba2a99dff7e736902ea07383d4"
+SRC_URI[sha256sum] = "cf112a1fb02f5b1c0fce5cab11ea8243852c139e669c44014125874b14b7dfaa"
+
+inherit autotools-brokensep pkgconfig
+
+PACKAGECONFIG ??= "jpeg"
+
+PACKAGECONFIG[jpeg] = "--with-jpeg,--without-jpeg,jpeg"
+PACKAGECONFIG[lcms] = "--with-lcms2,--without-lcms2,lcms"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
new file mode 100644
index 000000000..38dac06e6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.11.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "library for easy implementation of a RDP/VNC server"
+HOMEPAGE = "https://libvnc.github.io"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f"
+
+DEPENDS += "zlib libsdl jpeg libpng gtk+ libgcrypt nettle gnutls gmp"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
+PACKAGECONFIG[systemd] = ",,systemd"
+
+RDEPENDS_${PN} += "libpng gtk+ libgcrypt"
+
+inherit distro_features_check autotools binconfig pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${PV}.tar.gz"
+SRC_URI[md5sum] = "7f06104d5c009813e95142932c4ddb06"
+SRC_URI[sha256sum] = "193d630372722a532136fd25c5326b2ca1a636cbb8bf9bb115ef869c804d2894"
+
+S = "${WORKDIR}/${BPN}-LibVNCServer-${PV}"
+
+TARGET_LDFLAGS += "-lgcrypt"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
new file mode 100644
index 000000000..045f3cafa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-Fix-the-error-of-can-t-find-header-file.patch
@@ -0,0 +1,101 @@
+From eb0086dc4ea8fe9cda069456287b3a29a2631d30 Mon Sep 17 00:00:00 2001
+From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+Date: Wed, 13 Dec 2017 16:18:45 +0900
+Subject: [PATCH] Fix the error of can't find header file
+
+Upstream-Status: Inappropriate [embedded specific]
+This fix is just for yocto.
+
+Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
+---
+ src/NCApplication.cc | 2 +-
+ src/NCstyle.h | 2 +-
+ src/NCurses.h | 2 +-
+ src/ncursesp.h | 2 +-
+ src/ncursesw.cc | 2 +-
+ src/ncursesw.h | 4 ++--
+ 6 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/NCApplication.cc b/src/NCApplication.cc
+index 5bcf969..510f034 100644
+--- a/src/NCApplication.cc
++++ b/src/NCApplication.cc
+@@ -23,7 +23,7 @@
+
+ /-*/
+
+-#include <ncursesw/curses.h>
++#include <curses.h>
+
+ #define YUILogComponent "ncurses"
+ #include <yui/YUILog.h>
+diff --git a/src/NCstyle.h b/src/NCstyle.h
+index a40d5a8..3657917 100644
+--- a/src/NCstyle.h
++++ b/src/NCstyle.h
+@@ -25,7 +25,7 @@
+ #ifndef NCstyle_h
+ #define NCstyle_h
+
+-#include <ncursesw/ncurses.h>
++#include <ncurses.h>
+
+ #include <iosfwd>
+ #include <string>
+diff --git a/src/NCurses.h b/src/NCurses.h
+index a07c6bf..d17d3c3 100644
+--- a/src/NCurses.h
++++ b/src/NCurses.h
+@@ -34,7 +34,7 @@
+ #include <yui/YWidget.h>
+ #include <yui/YMenuItem.h>
+
+-#include <ncursesw/curses.h> /* curses.h: #define NCURSES_CH_T cchar_t */
++#include <curses.h> /* curses.h: #define NCURSES_CH_T cchar_t */
+ #include <wchar.h>
+
+ #include "ncursesw.h"
+diff --git a/src/ncursesp.h b/src/ncursesp.h
+index d478347..2fcfea5 100644
+--- a/src/ncursesp.h
++++ b/src/ncursesp.h
+@@ -28,7 +28,7 @@
+ #include <iosfwd>
+
+ #include "ncursesw.h"
+-#include <ncursesw/panel.h>
++#include <panel.h>
+
+ class NCursesPanel : public NCursesWindow
+ {
+diff --git a/src/ncursesw.cc b/src/ncursesw.cc
+index 3c771af..bb83210 100644
+--- a/src/ncursesw.cc
++++ b/src/ncursesw.cc
+@@ -47,7 +47,7 @@
+ #include <iostream>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <ncursesw/term.h>
++#include <term.h>
+ #undef line
+ #undef columns
+
+diff --git a/src/ncursesw.h b/src/ncursesw.h
+index d25923a..c140d37 100644
+--- a/src/ncursesw.h
++++ b/src/ncursesw.h
+@@ -27,8 +27,8 @@
+
+ #include <iosfwd>
+
+-#include <ncursesw/curses.h>
+-#include <ncursesw/etip.h>
++#include <curses.h>
++#include <etip.h>
+ #include <cstdio>
+ #include <cstdarg>
+ #include <climits>
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch
new file mode 100644
index 000000000..8e3774c1a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses/0001-use-_nl_msg_cat_cntr-only-with-glibc.patch
@@ -0,0 +1,40 @@
+From 4b84f243a70a8c07f6a38dad3c9411fa707f25c9 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 4 Mar 2018 17:08:43 -0800
+Subject: [PATCH] use _nl_msg_cat_cntr only with glibc
+
+The musl libc provides libintl (similar to glibc)
+but does not use the same internals,
+so even though we are using the GNU gettext
+the libintl included with the libc does not define
+_nl_msg_cat_cntr and it does not need to.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Pending
+
+ src/NCi18n.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/NCi18n.h b/src/NCi18n.h
+index 165b0e7..bfc4ed7 100644
+--- a/src/NCi18n.h
++++ b/src/NCi18n.h
+@@ -59,12 +59,13 @@ inline void setTextdomain( const char * domain )
+ bindtextdomain( domain, YSettings::localeDir().c_str() );
+ bind_textdomain_codeset( domain, "UTF-8" );
+ textdomain( domain );
+-
++#if defined(__GLIBC__)
+ // Make change known
+ {
+ extern int _nl_msg_cat_cntr;
+ ++_nl_msg_cat_cntr;
+ }
++#endif
+ }
+
+
+--
+2.16.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
new file mode 100644
index 000000000..578c71301
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui-ncurses_git.bb
@@ -0,0 +1,49 @@
+SUMMARY = "Character Based User Interface for libyui"
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+"
+
+SRC_URI = "git://github.com/libyui/libyui-ncurses.git \
+ file://0001-use-_nl_msg_cat_cntr-only-with-glibc.patch \
+ "
+
+SRC_URI_append_class-target = " file://0001-Fix-the-error-of-can-t-find-header-file.patch"
+
+PV = "2.48.3+git${SRCPV}"
+SRCREV = "79b804b45ffc6a0d92e28e793ff389a20b63b54b"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost libyui ncurses"
+
+BBCLASSEXTEND = "nativesdk"
+
+do_configure_prepend () {
+ cd ${S}
+ git checkout bootstrap.sh
+ sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" bootstrap.sh
+ ./bootstrap.sh
+ mkdir -p ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cp ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib/libyui.so* ${PKG_CONFIG_SYSROOT_DIR}${base_prefix}/usr/lib64/
+ cd -
+ sed -i "s#\${YPREFIX}#\${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${S}/CMakeLists.txt
+ sed -i "s#/usr#${PKG_CONFIG_SYSROOT_DIR}${base_prefix}&#" ${PKG_CONFIG_SYSROOT_DIR}${libdir}/cmake/libyui/LibyuiLibraryDepends-release.cmake
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN} += "${datadir}/*"
+
+FILES_${PN}-dev += "${libdir}/*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch
new file mode 100644
index 000000000..c1ba42eee
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-GCC-8-warning.patch
@@ -0,0 +1,48 @@
+From 1e6d40fec16a94d1a4bd40634405267200b7e969 Mon Sep 17 00:00:00 2001
+From: marxin <mliska@suse.cz>
+Date: Tue, 10 Apr 2018 15:21:40 +0200
+Subject: [PATCH] Fix GCC 8 warning:
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static void YDialog::showText(const string&, bool)’:
+/home/marxin/Programming/libyui/src/YDialog.cc:690:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=]
+ catch ( YUIException exception )
+ ^~~~~~~~~
+/home/marxin/Programming/libyui/src/YDialog.cc: In static member function ‘static bool YDialog::showRelNotesText()’:
+/home/marxin/Programming/libyui/src/YDialog.cc:814:26: error: catching polymorphic type ‘class YUIException’ by value [-Werror=catch-value=]
+ catch ( YUIException exception )
+ ^~~~~~~~~
+---
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/122]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ src/YDialog.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/YDialog.cc b/src/YDialog.cc
+index 92e5031..8ecff90 100644
+--- a/src/YDialog.cc
++++ b/src/YDialog.cc
+@@ -687,7 +687,7 @@ YDialog::showText( const std::string & text, bool useRichText )
+ dialog->waitForEvent();
+ dialog->destroy();
+ }
+- catch ( YUIException exception )
++ catch ( YUIException &exception )
+ {
+ // Don't let the application die just because help couldn't be displayed.
+
+@@ -811,7 +811,7 @@ YDialog::showRelNotesText()
+ }
+ dialog->destroy();
+ }
+- catch ( YUIException exception )
++ catch ( YUIException &exception )
+ {
+ // Don't let the application die just because RN couldn't be displayed.
+
+--
+2.17.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
new file mode 100644
index 000000000..426901819
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui/0001-Fix-build-with-clang.patch
@@ -0,0 +1,687 @@
+From 18562671982ad97549bccb444fdbb5905b6e9335 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 24 Apr 2018 15:06:14 -0700
+Subject: [PATCH] Fix build with clang
+
+Fix warnings found with clang
+
+error: class 'YButtonBoxPrivate' was previously declared as a struct [-Werror,-Wmismatched-tags]
+| friend class YButtonBoxPrivate;
+
+YTimezoneSelector.cc:35:9: error: private field 'dummy' is not used [-Werror,-Wunused-private-field]
+ bool dummy;
+ ^
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted [https://github.com/libyui/libyui/pull/123]
+
+ src/YAlignment.h | 2 +-
+ src/YBarGraph.h | 2 +-
+ src/YBusyIndicator.h | 2 +-
+ src/YButtonBox.h | 4 ++--
+ src/YCheckBox.h | 2 +-
+ src/YCheckBoxFrame.h | 2 +-
+ src/YComboBox.h | 2 +-
+ src/YCommandLine.h | 2 +-
+ src/YContextMenu.h | 2 +-
+ src/YDateField.h | 2 +-
+ src/YDialog.h | 2 +-
+ src/YDownloadProgress.h | 2 +-
+ src/YDumbTab.h | 2 +-
+ src/YEmpty.h | 2 +-
+ src/YEventFilter.h | 2 +-
+ src/YFrame.h | 2 +-
+ src/YGraph.h | 2 +-
+ src/YImage.h | 2 +-
+ src/YInputField.h | 2 +-
+ src/YIntField.h | 2 +-
+ src/YLabel.h | 2 +-
+ src/YLayoutBox.h | 2 +-
+ src/YLogView.h | 2 +-
+ src/YMenuButton.h | 2 +-
+ src/YMultiLineEdit.h | 2 +-
+ src/YMultiProgressMeter.h | 2 +-
+ src/YMultiSelectionBox.h | 2 +-
+ src/YPartitionSplitter.h | 2 +-
+ src/YProgressBar.h | 2 +-
+ src/YPushButton.h | 2 +-
+ src/YRadioButton.h | 2 +-
+ src/YRadioButtonGroup.h | 2 +-
+ src/YRichText.h | 2 +-
+ src/YSelectionBox.h | 2 +-
+ src/YSelectionWidget.h | 2 +-
+ src/YSimpleInputField.h | 2 +-
+ src/YSlider.h | 2 +-
+ src/YSpacing.h | 2 +-
+ src/YSquash.h | 2 +-
+ src/YTable.h | 2 +-
+ src/YTableHeader.h | 2 +-
+ src/YTimeField.h | 2 +-
+ src/YTimezoneSelector.cc | 2 +-
+ src/YTree.h | 2 +-
+ src/YUILog.h | 2 +-
+ src/YWidget.h | 2 +-
+ src/YWizard.h | 2 +-
+ 47 files changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/src/YAlignment.h b/src/YAlignment.h
+index d716c77..7276944 100644
+--- a/src/YAlignment.h
++++ b/src/YAlignment.h
+@@ -28,7 +28,7 @@
+ #include "YSingleChildContainerWidget.h"
+
+
+-class YAlignmentPrivate;
++struct YAlignmentPrivate;
+
+ /**
+ * Implementation of all the alignment widgets:
+diff --git a/src/YBarGraph.h b/src/YBarGraph.h
+index 29f7f26..d7eaad2 100644
+--- a/src/YBarGraph.h
++++ b/src/YBarGraph.h
+@@ -29,7 +29,7 @@
+ #include "YColor.h"
+
+
+-class YBarGraphPrivate;
++struct YBarGraphPrivate;
+ class YBarGraphSegment;
+
+ /**
+diff --git a/src/YBusyIndicator.h b/src/YBusyIndicator.h
+index 9530fa5..75297d8 100644
+--- a/src/YBusyIndicator.h
++++ b/src/YBusyIndicator.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YBusyIndicatorPrivate;
++struct YBusyIndicatorPrivate;
+
+
+ /**
+diff --git a/src/YButtonBox.h b/src/YButtonBox.h
+index 84f8dbb..ca51f57 100644
+--- a/src/YButtonBox.h
++++ b/src/YButtonBox.h
+@@ -30,7 +30,7 @@
+ #include "YWidget.h"
+ #include "YPushButton.h"
+
+-class YButtonBoxPrivate;
++struct YButtonBoxPrivate;
+ class YPushButton;
+
+
+@@ -147,7 +147,7 @@ struct YButtonBoxMargins
+ **/
+ class YButtonBox : public YWidget
+ {
+- friend class YButtonBoxPrivate;
++ friend struct YButtonBoxPrivate;
+
+ protected:
+ /**
+diff --git a/src/YCheckBox.h b/src/YCheckBox.h
+index 793cc77..03f3faa 100644
+--- a/src/YCheckBox.h
++++ b/src/YCheckBox.h
+@@ -30,7 +30,7 @@
+ #include "YWidget.h"
+ #include "ImplPtr.h"
+
+-class YCheckBoxPrivate;
++struct YCheckBoxPrivate;
+
+ enum YCheckBoxState
+ {
+diff --git a/src/YCheckBoxFrame.h b/src/YCheckBoxFrame.h
+index 243f1a0..7017110 100644
+--- a/src/YCheckBoxFrame.h
++++ b/src/YCheckBoxFrame.h
+@@ -29,7 +29,7 @@
+ #include "YSingleChildContainerWidget.h"
+ #include "ImplPtr.h"
+
+-class YCheckBoxFramePrivate;
++struct YCheckBoxFramePrivate;
+
+
+ /**
+diff --git a/src/YComboBox.h b/src/YComboBox.h
+index 416359a..ad0e550 100644
+--- a/src/YComboBox.h
++++ b/src/YComboBox.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YComboBoxPrivate;
++struct YComboBoxPrivate;
+
+
+ /**
+diff --git a/src/YCommandLine.h b/src/YCommandLine.h
+index 70cb4fe..f344a3b 100644
+--- a/src/YCommandLine.h
++++ b/src/YCommandLine.h
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include "ImplPtr.h"
+
+-class YCommandLinePrivate;
++struct YCommandLinePrivate;
+
+
+ /**
+diff --git a/src/YContextMenu.h b/src/YContextMenu.h
+index a4acb1c..1253002 100644
+--- a/src/YContextMenu.h
++++ b/src/YContextMenu.h
+@@ -29,7 +29,7 @@
+ #include "YMenuItem.h"
+
+ class YMenuItem;
+-class YContextMenuPrivate;
++struct YContextMenuPrivate;
+
+
+ /**
+diff --git a/src/YDateField.h b/src/YDateField.h
+index e5a468d..6164fba 100644
+--- a/src/YDateField.h
++++ b/src/YDateField.h
+@@ -27,7 +27,7 @@
+
+ #include "YSimpleInputField.h"
+
+-class YDateFieldPrivate;
++struct YDateFieldPrivate;
+
+ /**
+ * Input field for entering a date.
+diff --git a/src/YDialog.h b/src/YDialog.h
+index 66c25c0..371209b 100644
+--- a/src/YDialog.h
++++ b/src/YDialog.h
+@@ -32,7 +32,7 @@
+
+ class YShortcutManager;
+ class YPushButton;
+-class YDialogPrivate;
++struct YDialogPrivate;
+ class YEvent;
+ class YEventFilter;
+
+diff --git a/src/YDownloadProgress.h b/src/YDownloadProgress.h
+index c47ec4f..fe09a9d 100644
+--- a/src/YDownloadProgress.h
++++ b/src/YDownloadProgress.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+
+-class YDownloadProgressPrivate;
++struct YDownloadProgressPrivate;
+
+ /**
+ * DownloadProgress: A progress bar that monitors downloading a file by
+diff --git a/src/YDumbTab.h b/src/YDumbTab.h
+index aec17a3..f8fb250 100644
+--- a/src/YDumbTab.h
++++ b/src/YDumbTab.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YDumbTabPrivate;
++struct YDumbTabPrivate;
+
+ /**
+ * DumbTab: A very simple tab widget that can display and switch between a
+diff --git a/src/YEmpty.h b/src/YEmpty.h
+index 9a3cb36..9b88fbc 100644
+--- a/src/YEmpty.h
++++ b/src/YEmpty.h
+@@ -29,7 +29,7 @@
+ #include "ImplPtr.h"
+
+
+-class YEmptyPrivate;
++struct YEmptyPrivate;
+
+ /**
+ * A widget with zero size, useful as a placeholder.
+diff --git a/src/YEventFilter.h b/src/YEventFilter.h
+index 3dc1803..74aa62d 100644
+--- a/src/YEventFilter.h
++++ b/src/YEventFilter.h
+@@ -32,7 +32,7 @@
+ class YEvent;
+ class YDialog;
+
+-class YEventFilterPrivate;
++struct YEventFilterPrivate;
+
+
+ /**
+diff --git a/src/YFrame.h b/src/YFrame.h
+index 111e8ec..4f8c61e 100644
+--- a/src/YFrame.h
++++ b/src/YFrame.h
+@@ -29,7 +29,7 @@
+ #include "YSingleChildContainerWidget.h"
+ #include "ImplPtr.h"
+
+-class YFramePrivate;
++struct YFramePrivate;
+
+
+ /**
+diff --git a/src/YGraph.h b/src/YGraph.h
+index d90d1ae..287d800 100644
+--- a/src/YGraph.h
++++ b/src/YGraph.h
+@@ -37,7 +37,7 @@
+ * For that reason a lot of functions simply take a void* instead of graph_t*.
+ */
+
+-class YGraphPrivate;
++struct YGraphPrivate;
+
+ /**
+ * A graph with nodes and edges, rendered with Graphviz.
+diff --git a/src/YImage.h b/src/YImage.h
+index 17bea21..84eb674 100644
+--- a/src/YImage.h
++++ b/src/YImage.h
+@@ -29,7 +29,7 @@
+ #include <string>
+
+
+-class YImagePrivate;
++struct YImagePrivate;
+
+ /**
+ * A picture, possibly animated, loaded from a file.
+diff --git a/src/YInputField.h b/src/YInputField.h
+index 70641ce..fa29b42 100644
+--- a/src/YInputField.h
++++ b/src/YInputField.h
+@@ -28,7 +28,7 @@
+ #include <string>
+ #include "YWidget.h"
+
+-class YInputFieldPrivate;
++struct YInputFieldPrivate;
+
+
+
+diff --git a/src/YIntField.h b/src/YIntField.h
+index 9da0537..8ad2949 100644
+--- a/src/YIntField.h
++++ b/src/YIntField.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YIntFieldPrivate;
++struct YIntFieldPrivate;
+
+
+
+diff --git a/src/YLabel.h b/src/YLabel.h
+index d2fff61..bf06d8b 100644
+--- a/src/YLabel.h
++++ b/src/YLabel.h
+@@ -30,7 +30,7 @@
+ #include "ImplPtr.h"
+
+
+-class YLabelPrivate;
++struct YLabelPrivate;
+
+ /**
+ * Implementation of the Label, Heading and OutputField widgets
+diff --git a/src/YLayoutBox.h b/src/YLayoutBox.h
+index e652a45..070eaff 100644
+--- a/src/YLayoutBox.h
++++ b/src/YLayoutBox.h
+@@ -29,7 +29,7 @@
+ #include "YWidget.h"
+
+
+-class YLayoutBoxPrivate;
++struct YLayoutBoxPrivate;
+
+ /**
+ * A vertical or horizontal stacking of widgets, implementing HBox and VBox.
+diff --git a/src/YLogView.h b/src/YLogView.h
+index 53fb9ee..5b44229 100644
+--- a/src/YLogView.h
++++ b/src/YLogView.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YLogViewPrivate;
++struct YLogViewPrivate;
+
+
+ /**
+diff --git a/src/YMenuButton.h b/src/YMenuButton.h
+index 205e730..5df7efb 100644
+--- a/src/YMenuButton.h
++++ b/src/YMenuButton.h
+@@ -29,7 +29,7 @@
+ #include "YMenuItem.h"
+
+ class YMenuItem;
+-class YMenuButtonPrivate;
++struct YMenuButtonPrivate;
+
+
+ /**
+diff --git a/src/YMultiLineEdit.h b/src/YMultiLineEdit.h
+index c52a6ae..1f792f8 100644
+--- a/src/YMultiLineEdit.h
++++ b/src/YMultiLineEdit.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YMultiLineEditPrivate;
++struct YMultiLineEditPrivate;
+
+ /**
+ * A multi-line plain-text area
+diff --git a/src/YMultiProgressMeter.h b/src/YMultiProgressMeter.h
+index 57c758d..f6bec91 100644
+--- a/src/YMultiProgressMeter.h
++++ b/src/YMultiProgressMeter.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ #include <vector>
+
+-class YMultiProgressMeterPrivate;
++struct YMultiProgressMeterPrivate;
+
+
+ /**
+diff --git a/src/YMultiSelectionBox.h b/src/YMultiSelectionBox.h
+index bbe5a20..f3a2947 100644
+--- a/src/YMultiSelectionBox.h
++++ b/src/YMultiSelectionBox.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YMultiSelectionBoxPrivate;
++struct YMultiSelectionBoxPrivate;
+
+
+ /**
+diff --git a/src/YPartitionSplitter.h b/src/YPartitionSplitter.h
+index 2839bbc..9de1174 100644
+--- a/src/YPartitionSplitter.h
++++ b/src/YPartitionSplitter.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+
+-class YPartitionSplitterPrivate;
++struct YPartitionSplitterPrivate;
+
+
+ /**
+diff --git a/src/YProgressBar.h b/src/YProgressBar.h
+index 718352f..baab662 100644
+--- a/src/YProgressBar.h
++++ b/src/YProgressBar.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YProgressBarPrivate;
++struct YProgressBarPrivate;
+
+
+ /**
+diff --git a/src/YPushButton.h b/src/YPushButton.h
+index 5b65c98..e288252 100644
+--- a/src/YPushButton.h
++++ b/src/YPushButton.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YPushButtonPrivate;
++struct YPushButtonPrivate;
+
+
+
+diff --git a/src/YRadioButton.h b/src/YRadioButton.h
+index 9dc62de..5a7c0dd 100644
+--- a/src/YRadioButton.h
++++ b/src/YRadioButton.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+ class YRadioButtonGroup;
+-class YRadioButtonPrivate;
++struct YRadioButtonPrivate;
+
+
+ /**
+diff --git a/src/YRadioButtonGroup.h b/src/YRadioButtonGroup.h
+index 063a52e..671a257 100644
+--- a/src/YRadioButtonGroup.h
++++ b/src/YRadioButtonGroup.h
+@@ -28,7 +28,7 @@
+ #include "YSingleChildContainerWidget.h"
+
+ class YRadioButton;
+-class YRadioButtonGroupPrivate;
++struct YRadioButtonGroupPrivate;
+
+ typedef std::list<YRadioButton *> YRadioButtonList;
+ typedef YRadioButtonList::iterator YRadioButtonListIterator;
+diff --git a/src/YRichText.h b/src/YRichText.h
+index 149bfb3..86b3f80 100644
+--- a/src/YRichText.h
++++ b/src/YRichText.h
+@@ -30,7 +30,7 @@
+ #include "ImplPtr.h"
+
+
+-class YRichTextPrivate;
++struct YRichTextPrivate;
+
+
+ /**
+diff --git a/src/YSelectionBox.h b/src/YSelectionBox.h
+index 7fc4fb8..9bbf9f3 100644
+--- a/src/YSelectionBox.h
++++ b/src/YSelectionBox.h
+@@ -27,7 +27,7 @@
+
+ #include "YSelectionWidget.h"
+
+-class YSelectionBoxPrivate;
++struct YSelectionBoxPrivate;
+
+
+ /**
+diff --git a/src/YSelectionWidget.h b/src/YSelectionWidget.h
+index abbdfb4..cf05afd 100644
+--- a/src/YSelectionWidget.h
++++ b/src/YSelectionWidget.h
+@@ -29,7 +29,7 @@
+ #include "YItem.h"
+ #include "ImplPtr.h"
+
+-class YSelectionWidgetPrivate;
++struct YSelectionWidgetPrivate;
+
+ /**
+ * Base class for various kinds of multi-value widgets.
+diff --git a/src/YSimpleInputField.h b/src/YSimpleInputField.h
+index 6d926d4..b93fe6b 100644
+--- a/src/YSimpleInputField.h
++++ b/src/YSimpleInputField.h
+@@ -27,7 +27,7 @@
+
+ #include "YWidget.h"
+
+-class YSimpleInputFieldPrivate;
++struct YSimpleInputFieldPrivate;
+
+
+ /**
+diff --git a/src/YSlider.h b/src/YSlider.h
+index d29f6b8..4bcd7d3 100644
+--- a/src/YSlider.h
++++ b/src/YSlider.h
+@@ -27,7 +27,7 @@
+
+ #include "YIntField.h"
+
+-class YSliderPrivate;
++struct YSliderPrivate;
+
+
+ /**
+diff --git a/src/YSpacing.h b/src/YSpacing.h
+index e8aafd3..066cd68 100644
+--- a/src/YSpacing.h
++++ b/src/YSpacing.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+ #include "ImplPtr.h"
+
+-class YSpacingPrivate;
++struct YSpacingPrivate;
+
+
+ /**
+diff --git a/src/YSquash.h b/src/YSquash.h
+index 4bd0fb6..3804cc4 100644
+--- a/src/YSquash.h
++++ b/src/YSquash.h
+@@ -29,7 +29,7 @@
+ #include "ImplPtr.h"
+
+
+-class YSquashPrivate;
++struct YSquashPrivate;
+
+ /**
+ * HSquash, VSquash HVSquash: reduce child to its preferred size.
+diff --git a/src/YTable.h b/src/YTable.h
+index 6694f10..469b8ca 100644
+--- a/src/YTable.h
++++ b/src/YTable.h
+@@ -30,7 +30,7 @@
+ #include "YTableItem.h"
+ #include "YTableHeader.h"
+
+-class YTablePrivate;
++struct YTablePrivate;
+
+
+
+diff --git a/src/YTableHeader.h b/src/YTableHeader.h
+index 70166c2..4ae99b4 100644
+--- a/src/YTableHeader.h
++++ b/src/YTableHeader.h
+@@ -31,7 +31,7 @@
+
+
+
+-class YTableHeaderPrivate;
++struct YTableHeaderPrivate;
+
+ /**
+ * Helper class for YTable for table column properties:
+diff --git a/src/YTimeField.h b/src/YTimeField.h
+index ab2f9a3..f3a7b94 100644
+--- a/src/YTimeField.h
++++ b/src/YTimeField.h
+@@ -27,7 +27,7 @@
+
+ #include "YSimpleInputField.h"
+
+-class YTimeFieldPrivate;
++struct YTimeFieldPrivate;
+
+
+ /**
+diff --git a/src/YTimezoneSelector.cc b/src/YTimezoneSelector.cc
+index 9259b64..e2f9b6f 100644
+--- a/src/YTimezoneSelector.cc
++++ b/src/YTimezoneSelector.cc
+@@ -32,7 +32,7 @@
+
+ class YTimezoneSelectorPrivate
+ {
+- bool dummy;
++// bool dummy;
+ };
+
+
+diff --git a/src/YTree.h b/src/YTree.h
+index 14fa279..70e1364 100644
+--- a/src/YTree.h
++++ b/src/YTree.h
+@@ -28,7 +28,7 @@
+ #include "YSelectionWidget.h"
+
+ class YTreeItem;
+-class YTreePrivate;
++struct YTreePrivate;
+
+
+ /**
+diff --git a/src/YUILog.h b/src/YUILog.h
+index 0890bc5..4a927a7 100644
+--- a/src/YUILog.h
++++ b/src/YUILog.h
+@@ -64,7 +64,7 @@
+
+
+
+-class YUILogPrivate;
++struct YUILogPrivate;
+
+ enum YUILogLevel_t
+ {
+diff --git a/src/YWidget.h b/src/YWidget.h
+index 5b285d0..636a41b 100644
+--- a/src/YWidget.h
++++ b/src/YWidget.h
+@@ -45,7 +45,7 @@ typedef YChildrenManager<YWidget> YWidgetChildrenManager;
+ typedef YSingleChildManager<YWidget> YSingleWidgetChildManager;
+ typedef YChildrenRejector<YWidget> YWidgetChildrenRejector;
+
+-class YWidgetPrivate;
++struct YWidgetPrivate;
+
+
+ /**
+diff --git a/src/YWizard.h b/src/YWizard.h
+index 7671cbf..975b597 100644
+--- a/src/YWizard.h
++++ b/src/YWizard.h
+@@ -28,7 +28,7 @@
+ #include "YWidget.h"
+
+ class YMacroRecorder;
+-class YWizardPrivate;
++struct YWizardPrivate;
+ class YPushButton;
+ class YReplacePoint;
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
new file mode 100644
index 000000000..42945288c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/libyui/libyui_git.bb
@@ -0,0 +1,41 @@
+SUMMARY = "Libyui is a widget abstraction library providing Qt, GTK and ncurses frontends."
+LICENSE = "LGPLv3"
+LIC_FILES_CHKSUM = "file://COPYING.gpl-3;md5=d32239bcb673463ab874e80d47fae504 \
+ file://COPYING.lgpl-2.1;md5=4fbd65380cdd255951079008b364516c \
+ file://COPYING.lgpl-3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
+ "
+
+SRC_URI = "git://github.com/libyui/libyui.git \
+ file://0001-Fix-GCC-8-warning.patch \
+ file://0001-Fix-build-with-clang.patch \
+ "
+
+PV = "3.3.3+git"
+SRCREV = "2b634cb7821e2e79dd4b7a73caf8e67c50189376"
+
+S = "${WORKDIR}/git"
+
+inherit cmake gettext pkgconfig
+
+DEPENDS += "boost"
+
+BBCLASSEXTEND = "native nativesdk"
+
+do_configure_prepend () {
+ cd ${S}
+ ./bootstrap.sh
+ cd -
+}
+
+do_install_append () {
+ if [ "${libdir}" = "${base_prefix}/usr/lib" ] && [ -d ${D}/usr/lib64 ]; then
+ mv ${D}/usr/lib64 ${D}/usr/lib
+ fi
+}
+
+do_install_append_class-nativesdk () {
+ mkdir -p ${D}/${base_prefix}
+ mv ${D}/usr ${D}/${base_prefix}
+}
+
+FILES_${PN}-dev = "${libdir}/* ${includedir}/yui*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch
new file mode 100644
index 000000000..f9fd4970f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-check-for-libexecinfo-providing-backtrace-APIs.patch
@@ -0,0 +1,36 @@
+From 1d2425febf2020e38db70188df582acc9f37b136 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 30 Mar 2017 13:01:33 -0700
+Subject: [PATCH] check for libexecinfo providing backtrace() APIs
+
+on musl it depends on external library to provide backtrace APIs
+unlike glibc where it is bundled in
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index aa3291c..b15f65d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,6 +15,7 @@ AM_PROG_CC_C_O
+
+ # Checks for libraries.
+ AC_CHECK_LIB([crypt], [crypt])
++AC_CHECK_LIB([execinfo], [backtrace])
+
+ # Check for PAM support
+ AC_ARG_WITH(pam, AC_HELP_STRING([--with-pam],[Use PAM for authentication]),
+@@ -33,6 +34,7 @@ AM_CONDITIONAL(HAVE_PAM, [test -n "$USE_PAM" -a "x$USE_PAM" != xno ])
+ # Checks for header files.
+ AC_PATH_X
+ AC_CHECK_HEADERS([shadow.h stdlib.h string.h unistd.h utmpx.h])
++AC_CHECK_HEADERS([execinfo.h])
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_TYPE_PID_T
+--
+2.12.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch
new file mode 100644
index 000000000..49ecdb8d3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0001-lxdm.conf.in-blacklist-root-for-release-images.patch
@@ -0,0 +1,29 @@
+From 5038c49c0b61e057dec44c932f02c4bf99cee96e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 3 Sep 2012 10:02:51 +0200
+Subject: [PATCH] lxdm.conf.in: blacklist root for release images
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ data/lxdm.conf.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in
+index defc082..759e6e5 100644
+--- a/data/lxdm.conf.in
++++ b/data/lxdm.conf.in
+@@ -58,5 +58,5 @@ disable=0
+ white=
+
+ ## blacklist user
+-black=
++black=root
+
+--
+1.7.4.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
new file mode 100644
index 000000000..75dc10c97
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/0002-let-autotools-create-lxdm.conf.patch
@@ -0,0 +1,35 @@
+From 0ea0329f2c19a43acdc8444fa89e233ba617973d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Mon, 6 Oct 2014 13:06:24 +0200
+Subject: [PATCH] let autotools create lxdm.conf
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+in out of tree builds lxdm.conf is empty
+
+Upstream-Status: submitted [1]
+
+[1] http://sourceforge.net/p/lxde/mailman/message/32901417/
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ data/lxdm.conf.in | 2 +-
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/data/lxdm.conf.in b/data/lxdm.conf.in
+index d93f280..6206262 100644
+--- a/data/lxdm.conf.in
++++ b/data/lxdm.conf.in
+@@ -19,7 +19,7 @@
+ # skip_password=1
+
+ ## greeter used to welcome the user
+-greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk
++greeter=@libexecdir@/lxdm-greeter-gtk
+
+ [server]
+ ## arg used to start xserver, not fully function
+--
+1.8.3.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam
new file mode 100644
index 000000000..486621f4f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam
@@ -0,0 +1,13 @@
+#%PAM-1.0
+# taken from http://aur.archlinux.org/packages/lx/lxdm-git/lxdm-git.tar.gz
+# further info https://wiki.archlinux.org/index.php/LXDM
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_unix.so
+# To allow passwordless login comment previous line and uncomment next line
+#auth required pam_unix.so nullok
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+password required pam_unix.so
+-session optional pam_systemd.so
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug
new file mode 100644
index 000000000..734949fa4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm-pam-debug
@@ -0,0 +1,13 @@
+#%PAM-1.0
+# taken from http://aur.archlinux.org/packages/lx/lxdm-git/lxdm-git.tar.gz
+# further info https://wiki.archlinux.org/index.php/LXDM
+auth requisite pam_nologin.so
+auth required pam_env.so
+#auth required pam_unix.so
+# To deny passwordless login comment next line and uncomment previous line
+auth required pam_unix.so nullok
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+password required pam_unix.so
+-session optional pam_systemd.so
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf
new file mode 100644
index 000000000..0a6e6721b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm/lxdm.conf
@@ -0,0 +1,4 @@
+[base]
+last_session=
+last_lang=
+last_langs=
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
new file mode 100644
index 000000000..8e7efcdad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/lxdm/lxdm_0.5.3.bb
@@ -0,0 +1,80 @@
+SUMMARY = "LXDM is the lightweight display manager"
+HOMEPAGE = "http://blog.lxde.org/?p=531"
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}%20${PV}/${BPN}-${PV}.tar.xz \
+ file://lxdm.conf \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://lxdm-pam file://lxdm-pam-debug', '', d)} \
+ ${@bb.utils.contains("DISTRO_TYPE", "debug", "", "file://0001-lxdm.conf.in-blacklist-root-for-release-images.patch",d)} \
+ file://0002-let-autotools-create-lxdm.conf.patch \
+ file://0001-check-for-libexecinfo-providing-backtrace-APIs.patch \
+ "
+SRC_URI[md5sum] = "061caae432634e6db38bbdc84bc6ffa0"
+SRC_URI[sha256sum] = "4891efee81c72a400cc6703e40aa76f3f3853833d048b72ec805da0f93567f2f"
+
+PE = "1"
+
+DEPENDS = "virtual/libintl intltool-native cairo dbus gdk-pixbuf glib-2.0 gtk+ virtual/libx11 libxcb pango iso-codes"
+DEPENDS += "${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "consolekit", d)}"
+DEPENDS_append_libc-musl = " libexecinfo"
+
+# combine oe-core way with angstrom DISTRO_TYPE
+DISTRO_TYPE ?= "${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", "debug", "",d)}"
+
+inherit autotools pkgconfig gettext systemd distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+CFLAGS_append = " -fno-builtin-fork -fno-builtin-memset -fno-builtin-strstr "
+LDFLAGS_append_libc-musl = " -lexecinfo"
+
+EXTRA_OECONF += "--enable-gtk3=no --enable-password=yes --with-x -with-xconn=xcb \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/ --disable-consolekit', '--without-systemdsystemunitdir', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
+"
+
+do_configure_prepend() {
+ cp ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po/
+}
+
+do_compile_append() {
+ # default background configured not available / no password field available / no default screensaver
+ sed -i -e 's,bg=,# bg=,g' \
+ -e 's,# skip_password=,skip_password=,g' \
+ -e 's,# arg=.*,arg=${bindir}/X -s 0,g' \
+ ${S}/data/lxdm.conf.in
+ # add default configuration
+ oe_runmake -C ${B}/data lxdm.conf
+}
+
+do_install_append() {
+ install -d ${D}${localstatedir}/lib/lxdm
+ install -m 644 ${WORKDIR}/lxdm.conf ${D}${localstatedir}/lib/lxdm
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'true', 'false', d)}; then
+ # ArchLinux version of pam config has the following advantages:
+ # * simple setup of passwordless login
+ # * in XFCE powerdown/restart enabled in logoff dialog
+ install -m 644 ${WORKDIR}/${@bb.utils.contains("DISTRO_TYPE", "debug", "lxdm-pam-debug", "lxdm-pam",d)} ${D}${sysconfdir}/pam.d/lxdm
+ fi
+}
+
+# make installed languages choosable
+pkg_postinst_${PN} () {
+langs=""
+for lang in `find $D${libdir}/locale -maxdepth 1 | grep _ | sort`; do
+lang=`basename $lang`
+if [ "x$langs" = "x" ]; then
+ langs="$lang"
+else
+ langs="$langs $lang"
+fi
+done
+sed -i "s:last_langs=.*$:last_langs=$langs:g" $D${localstatedir}/lib/lxdm/lxdm.conf
+}
+
+RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-loginuid', '', d)} setxkbmap bash librsvg-gtk"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "lxdm.service"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
new file mode 100644
index 000000000..08d7f5b52
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/numlockx/numlockx_1.2.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Enable NumLock in X11 sessions"
+HOMEPAGE = "http://home.kde.org/~seli/numlockx/"
+SECTION = "x11/apps"
+LICENSE = "MIT-X"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=dcb1cc75e21540a4a66b54e38d95b047"
+DEPENDS = "virtual/libx11 libxtst"
+
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/numlockx/numlockx-${PV}.tar.gz/be9109370447eae23f6f3f8527bb1a67/numlockx-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "be9109370447eae23f6f3f8527bb1a67"
+SRC_URI[sha256sum] = "e468eb9121c94c9089dc6a287eeb347e900ce04a14be37da29d7696cbce772e4"
+
+inherit autotools distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = "--x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR}"
+
+do_configure_prepend() {
+ # remove this from acinclude.m4 or build fails
+ sed -i '/_AC_PATH_X_XMKMF/d' ${S}/acinclude.m4
+}
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch b/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch
new file mode 100644
index 000000000..2762e1c21
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openbox/files/0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch
@@ -0,0 +1,54 @@
+From 6bbde84a2197c97e49d9e64118a979728209e436 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
+Date: Wed, 23 Sep 2015 23:21:42 +0200
+Subject: [PATCH] Makefile.am: avoid race when creating autostart directories
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+fixes:
+
+| make: creating data/xsession/openbox-gnome-session
+| make: creating data/xsession/openbox-session
+| make: creating data/xsession/openbox-kde-session
+| make: creating data/autostart/openbox-autostart
+| make: creating doc/openbox.1
+| make: creating data/autostart/autostart
+| make: creating doc/openbox-session.1
+| make: creating doc/openbox-gnome-session.1
+| make: creating doc/openbox-kde-session.1
+| make: creating doc/obxprop.1
+| mkdir: cannot create directory './data/autostart': File exists
+| Makefile:4329: recipe for target 'data/autostart/autostart' failed
+
+Upstream-Status: Pending
+
+Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
+---
+ Makefile.am | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f25bf8e..306e77d 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -505,14 +505,12 @@ edit = $(SED) \
+
+ data/autostart/autostart: $(top_srcdir)/data/autostart/autostart.in Makefile
+ @echo make: creating $@
+- @test -d $(shell dirname $(top_builddir)/$@) || \
+- mkdir $(shell dirname $(top_builddir)/$@)
++ mkdir -p $(shell dirname $(top_builddir)/$@)
+ @$(edit) $< >$(top_builddir)/$@
+
+ data/autostart/openbox-autostart: $(top_srcdir)/data/autostart/openbox-autostart.in Makefile
+ @echo make: creating $@
+- @test -d $(shell dirname $(top_builddir)/$@) || \
+- mkdir $(shell dirname $(top_builddir)/$@)
++ mkdir -p $(shell dirname $(top_builddir)/$@)
+ @$(edit) $< >$(top_builddir)/$@
+
+ %.desktop: %.desktop.in Makefile
+--
+2.1.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
new file mode 100644
index 000000000..c35a0c723
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openbox/openbox_3.6.1.bb
@@ -0,0 +1,56 @@
+SUMMARY = "openbox Window Manager"
+SECTION = "x11/wm"
+DEPENDS = "glib-2.0 pango libxml2 virtual/libx11 libcroco librsvg gdk-pixbuf"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = " \
+ http://icculus.org/openbox/releases/openbox-${PV}.tar.gz \
+ file://0001-Makefile.am-avoid-race-when-creating-autostart-direc.patch \
+"
+
+SRC_URI[md5sum] = "b72794996c6a3ad94634727b95f9d204"
+SRC_URI[sha256sum] = "8b4ac0760018c77c0044fab06a4f0c510ba87eae934d9983b10878483bde7ef7"
+
+inherit autotools gettext update-alternatives pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+ALTERNATIVE_${PN}-core = "x-window-manager x-session-manager"
+ALTERNATIVE_TARGET[x-window-manager] = "${bindir}/openbox"
+ALTERNATIVE_PRIORITY[x-window-manager] = "10"
+ALTERNATIVE_TARGET[x-session-manager] = "${bindir}/openbox-session"
+ALTERNATIVE_PRIORITY[x-session-manager] = "100"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[imlib2] = "--enable-imlib2,--disable-imlib2,imlib2"
+PACKAGECONFIG[startup-notification] = "--enable-startup-notification,--disable-startup-notification,startup-notification"
+PACKAGECONFIG[xrandr] = "--enable-xrandr,--disable-xrandr,libxrandr"
+PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama"
+PACKAGECONFIG[xcursor] = "--enable-xcursor,--disable-xcursor,libxcursor"
+
+PACKAGES =+ "${PN}-core ${PN}-lxde ${PN}-gnome ${PN}-config"
+
+PACKAGES_DYNAMIC += "^${PN}-theme-.*"
+
+python populate_packages_prepend() {
+ theme_dir = d.expand('${datadir}/themes/')
+ theme_name = d.expand('${PN}-theme-%s')
+ do_split_packages(d, theme_dir, '(.*)', theme_name, '${PN} theme for %s', extra_depends='', allow_dirs=True)
+}
+
+RDEPENDS_${PN} += "${PN}-core ${PN}-config ${PN}-theme-clearlooks"
+FILES_${PN}-core = "${bindir}/openbox ${bindir}/openbox-session ${libdir}/*${SOLIBS}"
+
+FILES_${PN}-lxde += "${datadir}/lxde/ \
+ ${datadir}/lxpanel \
+ ${datadir}/xsessions \
+ ${datadir}/icons"
+
+FILES_${PN}-gnome += " \
+ ${bindir}/openbox-gnome-session \
+ ${datadir}/gnome \
+ ${datadir}/gnome-session \
+"
+
+FILES_${PN}-config += "${sysconfdir}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch
new file mode 100644
index 000000000..866d9aa41
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/files/0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch
@@ -0,0 +1,31 @@
+From 226f07e4b49c2757b181c62e6841000c512054e3 Mon Sep 17 00:00:00 2001
+From: Even Rouault <even.rouault@spatialys.com>
+Date: Mon, 14 Aug 2017 17:26:58 +0200
+Subject: [PATCH] bmp_read_info_header(): reject bmp files with biBitCount == 0
+ (#983)
+
+Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/baf0c1ad4572daa89caa3b12985bdd93530f0dd7]
+CVE: CVE-2017-12982
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ src/bin/jp2/convertbmp.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/bin/jp2/convertbmp.c b/src/bin/jp2/convertbmp.c
+index b49e7a0..2715fdf 100644
+--- a/src/bin/jp2/convertbmp.c
++++ b/src/bin/jp2/convertbmp.c
+@@ -392,6 +392,10 @@ static OPJ_BOOL bmp_read_info_header(FILE* IN, OPJ_BITMAPINFOHEADER* header)
+
+ header->biBitCount = (OPJ_UINT16)getc(IN);
+ header->biBitCount |= (OPJ_UINT16)((OPJ_UINT32)getc(IN) << 8);
++ if (header->biBitCount == 0) {
++ fprintf(stderr, "Error, invalid biBitCount %d\n", 0);
++ return OPJ_FALSE;
++ }
+
+ if (header->biSize >= 40U) {
+ header->biCompression = (OPJ_UINT32)getc(IN);
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb
new file mode 100644
index 000000000..4ef1c408f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/openjpeg/openjpeg_2.2.0.bb
@@ -0,0 +1,21 @@
+DESCRIPTION = "OpenJPEG library is an open-source JPEG 2000 codec"
+HOMEPAGE = "http://www.openjpeg.org"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c648878b4840d7babaade1303e7f108c"
+
+SRC_URI = "https://github.com/uclouvain/${BPN}/archive/v${PV}.tar.gz;downloadfilename=${BP}.tar.gz \
+ file://0001-bmp_read_info_header-reject-bmp-files-with-biBitCoun.patch \
+ "
+SRC_URI[md5sum] = "269bb0b175476f3addcc0d03bd9a97b6"
+SRC_URI[sha256sum] = "6fddbce5a618e910e03ad00d66e7fcd09cc6ee307ce69932666d54c73b7c6e7b"
+
+inherit cmake
+
+DEPENDS = "libpng tiff lcms zlib"
+
+# standard path for *.cmake
+EXTRA_OECMAKE += "-DOPENJPEG_INSTALL_PACKAGE_DIR=${baselib}/cmake \
+ -DOPENJPEG_INSTALL_LIB_DIR:PATH=${libdir}"
+
+FILES_${PN}-dev += "${libdir}/cmake/*.cmake"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb b/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
new file mode 100644
index 000000000..3069d2ded
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/packagegroups/packagegroup-fonts-truetype.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Install one of these tasks to get support for truetype fonts"
+SECTION = "fonts"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+PV = "1.0"
+PR = "r2"
+
+inherit packagegroup
+
+PACKAGES += "\
+ ${PN}-core \
+ ${PN}-chinese \
+ ${PN}-japanese \
+"
+
+RRECOMMENDS_${PN} = "\
+ ${PN}-core \
+ ${PN}-chinese \
+ ${PN}-japanese \
+"
+
+RDEPENDS_${PN}-core = "\
+ fontconfig-utils \
+ \
+ ttf-dejavu-common \
+ ttf-dejavu-sans \
+ ttf-dejavu-sans-mono \
+"
+# ttf-dejavu-serif
+
+RDEPENDS_${PN}-chinese = "\
+ ${PN}-core \
+ ttf-arphic-uming \
+"
+
+RDEPENDS_${PN}-japanese = "\
+ ${PN}-core \
+ ttf-sazanami-gothic \
+ ttf-sazanami-mincho \
+"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
new file mode 100644
index 000000000..e0f72cd58
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/pango/pangomm_2.40.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "C++ bindings for the pango library"
+SECTION = "libs"
+LICENSE = "LGPLv2.1 & GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
+ file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS = "mm-common cairomm glibmm pango"
+
+SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/pangomm/${SHRT_VER}/pangomm-${PV}.tar.xz"
+SRC_URI[md5sum] = "874eadd9434613dbacf0272c82c3ac23"
+SRC_URI[sha256sum] = "9762ee2a2d5781be6797448d4dd2383ce14907159b30bc12bf6b08e7227be3af"
+
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+EXTRA_OECONF = " --disable-documentation "
+
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-dev += "${libdir}/*/include/ ${libdir}/pangomm-*/"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
new file mode 100644
index 000000000..f5397750f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/qrencode/qrencode_git.bb
@@ -0,0 +1,16 @@
+SUMMARY = "C library for encoding data in a QR Code symbol"
+AUTHOR = "Kentaro Fukuchi"
+HOMEPAGE = "http://fukuchi.org/works/qrencode/"
+SECTION = "libs"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
+PV = "4.0.0+git${SRCPV}"
+
+SRCREV = "07f3c5d4bf9136711422cc7dbf28aff469da220a"
+SRC_URI = "git://github.com/fukuchi/libqrencode.git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--without-tools --without-tests"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb b/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb
new file mode 100644
index 000000000..d99ff144b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/takao-fonts/takao-fonts_003.03.01.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Takao Fonts are a community developed derivatives of IPA Fonts."
+DESCRIPTION = "Takao Fonts are a community developed derivatives of IPA Fonts."
+
+HOMEPAGE = "https://launchpad.net/takao-fonts"
+SECTION = "User Interface/X"
+
+LICENSE = "IPA"
+LIC_FILES_CHKSUM = "file://IPA_Font_License_Agreement_v1.0.txt;md5=6cd3351ba979cf9db1fad644e8221276"
+SRC_URI = "https://launchpad.net/${BPN}/trunk/15.03/+download/TakaoFonts_00303.01.tar.xz"
+SRC_URI[md5sum] = "8cd3fe724faa5034a9369e98cf108d2d"
+SRC_URI[sha256sum] = "e9871f72ac69acb3e277aebbee7ca01fbebf54800733e29fafdc46133fc3552f"
+
+S = "${WORKDIR}/TakaoFonts_00303.01"
+do_install() {
+ install -m 0755 -d ${D}/${datadir}/fonts
+ install -m 0644 -p ${S}/*.ttf ${D}/${datadir}/fonts/
+}
+
+FILES_${PN} += "${datadir}/fonts/*.ttf"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
new file mode 100644
index 000000000..c460fc35c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/terminus-font/terminus-font_4.38.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Terminus fonts packages (console and X11)"
+DESCRIPTION = "Terminus Font is a clean, fixed width bitmap font, designed for \
+ long (8 and more hours per day) work with computers."
+HOMEPAGE = "http://terminus-font.sourceforge.net/"
+AUTHOR = "Dimitar Zhekov"
+SECTION = "fonts"
+
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.TXT;md5=9cadb26f4c5c005618c5ae74f041ec54"
+
+DEPENDS = "hostperl-runtime-native gzip-native bdftopcf-native"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI[md5sum] = "a8e792fe6e84c86ed2b6ed3e2a12ba66"
+SRC_URI[sha256sum] = "f6f4876a4dabe6a37c270c20bb9e141e38fb50e0bba200e1b9d0470e5eed97b7"
+
+inherit allarch fontcache
+
+PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
+PACKAGECONFIG[x11] = ""
+
+# Don't use font cache mecanism for console packages
+FONT_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'x11', '${PN}-pcf', '', d)}"
+
+# Hand made configure script. Don't need oe_runconf
+do_configure() {
+ chmod +x ${S}/configure
+ ${S}/configure --prefix=${prefix} \
+ --psfdir=${datadir}/consolefonts \
+ --acmdir=${datadir}/consoletrans \
+ --x11dir=${datadir}/fonts/terminus
+}
+
+do_compile() {
+ oe_runmake DESTDIR=${D} psf txt ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'pcf', '', d)}
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} install-psf install-acm ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'install-pcf', '', d)}
+}
+
+PACKAGES += "${PN}-consolefonts ${PN}-consoletrans ${PN}-pcf"
+FILES_${PN}-consolefonts = "${datadir}/consolefonts"
+FILES_${PN}-consoletrans = "${datadir}/consoletrans"
+FILES_${PN}-pcf = "${datadir}/fonts/terminus"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
new file mode 100644
index 000000000..ac36a91a3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract-lang_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "tesseract-ocr language files"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9648bd7af63bd3cc4f5ac046d12c49e4"
+
+PV = "3.04.00+git${SRCPV}"
+SRCREV = "3cf1e2df1fe1d1da29295c9ef0983796c7958b7d"
+SRC_URI = "git://github.com/tesseract-ocr/tessdata.git"
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+do_install() {
+ install -d ${D}${datadir}/tessdata
+ cp -R --no-dereference --preserve=mode,links -v ${S}/*.traineddata ${S}/*.cube.* ${S}/*.tesseract_cube.* ${D}${datadir}/tessdata
+}
+
+python populate_packages_prepend () {
+ tessdata_dir= d.expand('${datadir}/tessdata')
+ pkgs = do_split_packages(d, tessdata_dir, '^([a-z_]*)\.*', '${BPN}-%s', 'tesseract-ocr language files for %s', extra_depends='')
+ pn = d.getVar('PN')
+ d.appendVar('RDEPENDS_' + pn, ' '+' '.join(pkgs))
+}
+
+PACKAGES_DYNAMIC += "^${BPN}-.*"
+ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb
new file mode 100644
index 000000000..89d09a0f5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tesseract/tesseract_git.bb
@@ -0,0 +1,21 @@
+SUMMARY = "A commercial quality OCR engine "
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=7ea4f9a43aba9d3c849fe5c203a0ed40"
+
+BRANCH = "3.05"
+PV = "${BRANCH}.01+git${SRCPV}"
+SRCREV = "215866151e774972c9502282111b998d7a053562"
+SRC_URI = "git://github.com/${BPN}-ocr/${BPN}.git;branch=${BRANCH}"
+S = "${WORKDIR}/git"
+
+DEPENDS = "leptonica"
+
+EXTRA_OECONF += "LIBLEPT_HEADERSDIR=${STAGING_INCDIR}/leptonica"
+
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${datadir}/tessdata"
+
+RRECOMMENDS_${PN} += "tesseract-lang-eng"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
new file mode 100644
index 000000000..12c437629
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0001-tigervnc-remove-includedir.patch
@@ -0,0 +1,50 @@
+From 4b423cd2e5e4296abca3be553bf64d8cc287180a Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 17:09:05 +0800
+Subject: [PATCH 1/4] tigervnc: remove includedir
+
+Upstream-Status: Pending
+
+Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
+
+It fixes host contamination
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ unix/xserver/hw/vnc/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
+index 0d6a4ac..854f078 100644
+--- a/unix/xserver/hw/vnc/Makefile.am
++++ b/unix/xserver/hw/vnc/Makefile.am
+@@ -22,7 +22,7 @@ libvnccommon_la_SOURCES = $(HDRS) \
+
+ libvnccommon_la_CPPFLAGS = -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
+ -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_H \
+- -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} -I$(includedir) \
++ -I$(TIGERVNC_SRCDIR)/unix/vncconfig $(XVNC_CPPFLAGS) ${XSERVERLIBS_CFLAGS} \
+ -I$(top_srcdir)/include
+
+ bin_PROGRAMS = Xvnc
+@@ -42,7 +42,7 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGERVNC -DNO_MODULE_EXTS \
+ -UHAVE_CONFIG_H \
+ -DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
+ -DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \
+- -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir)
++ -I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS}
+
+ Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
+ $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11
+@@ -62,7 +62,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
+ -I$(top_srcdir)/hw/xfree86/os-support \
+ -I$(top_srcdir)/hw/xfree86/os-support/bus \
+ -I$(top_srcdir)/include \
+- ${XSERVERLIBS_CFLAGS} -I$(includedir)
++ ${XSERVERLIBS_CFLAGS}
+
+ libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
+
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
new file mode 100644
index 000000000..4e875ba82
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0002-do-not-build-tests-sub-directory.patch
@@ -0,0 +1,29 @@
+From c3460d63f0b6cd50b9a64265f420f0439e12a1d5 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 25 Apr 2017 01:36:44 -0400
+Subject: [PATCH 2/4] do not build tests sub directory
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 94ec2ef..fb72a00 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -300,9 +300,6 @@ if(BUILD_VIEWER)
+ add_subdirectory(media)
+ endif()
+
+-add_subdirectory(tests)
+-
+-
+ include(cmake/BuildPackages.cmake)
+
+ # uninstall
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch
new file mode 100644
index 000000000..cfb84ac14
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch
@@ -0,0 +1,28 @@
+From 6369a5be2af2ed1fa443f40f48deaf318d22713e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 05:06:00 -0400
+Subject: [PATCH 3/4] add missing dynamic library to FLTK_LIBRARIES
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fb72a00..5732dc8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -246,6 +246,8 @@ if(UNIX AND NOT APPLE)
+ endif()
+ endif()
+
++set(FLTK_LIBRARIES ${FLTK_LIBRARIES} -lm -ldl -lpng -ljpeg)
++
+ # Check for GNUTLS library
+ option(ENABLE_GNUTLS "Enable protocol encryption and advanced authentication" ON)
+ if(ENABLE_GNUTLS)
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
new file mode 100644
index 000000000..97b0a388a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch
@@ -0,0 +1,62 @@
+From 9563b69640227da2220ee0c39077afb736cc96d1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 20 Jul 2017 17:12:17 +0800
+Subject: [PATCH 4/4] tigervnc: add fPIC option to COMPILE_FLAGS
+
+The static libraries in Xregion/network/rdr/rfb were linked by shared
+library libvnc.so, so we should add fPIC option to COMPILE_FLAGS to fix
+relocation issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ common/Xregion/CMakeLists.txt | 1 +
+ common/network/CMakeLists.txt | 1 +
+ common/rdr/CMakeLists.txt | 1 +
+ common/rfb/CMakeLists.txt | 1 +
+ 4 files changed, 4 insertions(+)
+
+diff --git a/common/Xregion/CMakeLists.txt b/common/Xregion/CMakeLists.txt
+index 40ca97e..9411328 100644
+--- a/common/Xregion/CMakeLists.txt
++++ b/common/Xregion/CMakeLists.txt
+@@ -3,4 +3,5 @@ add_library(Xregion STATIC
+
+ if(UNIX)
+ libtool_create_control_file(Xregion)
++ set_target_properties(Xregion PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+diff --git a/common/network/CMakeLists.txt b/common/network/CMakeLists.txt
+index b624c8e..6c06ec9 100644
+--- a/common/network/CMakeLists.txt
++++ b/common/network/CMakeLists.txt
+@@ -9,4 +9,5 @@ endif()
+
+ if(UNIX)
+ libtool_create_control_file(network)
++ set_target_properties(network PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+diff --git a/common/rdr/CMakeLists.txt b/common/rdr/CMakeLists.txt
+index 989ba2f..20f6489 100644
+--- a/common/rdr/CMakeLists.txt
++++ b/common/rdr/CMakeLists.txt
+@@ -27,4 +27,5 @@ target_link_libraries(rdr ${RDR_LIBRARIES})
+
+ if(UNIX)
+ libtool_create_control_file(rdr)
++ set_target_properties(rdr PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+diff --git a/common/rfb/CMakeLists.txt b/common/rfb/CMakeLists.txt
+index 5047e5e..88838ab 100644
+--- a/common/rfb/CMakeLists.txt
++++ b/common/rfb/CMakeLists.txt
+@@ -98,4 +98,5 @@ target_link_libraries(rfb ${RFB_LIBRARIES})
+
+ if(UNIX)
+ libtool_create_control_file(rfb)
++ set_target_properties(rfb PROPERTIES COMPILE_FLAGS -fPIC)
+ endif()
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch
new file mode 100644
index 000000000..2f342c683
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/files/0005-Remove-INITARGS-from-xserver119.patch.patch
@@ -0,0 +1,27 @@
+From e4ec992984983ac9107efae1f1cc552007e4229e Mon Sep 17 00:00:00 2001
+From: Vishal Biswas <vshlbiswas@ymail.com>
+Date: Mon, 8 May 2017 11:06:11 +0530
+Subject: [PATCH] Remove INITARGS from xserver119.patch
+
+Upstream-Status: Backport
+
+---
+ unix/xserver119.patch | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/unix/xserver119.patch b/unix/xserver119.patch
+index 614f104..7adf314 100644
+--- a/unix/xserver119.patch
++++ b/unix/xserver119.patch
+@@ -66,7 +66,7 @@ diff -up xserver/mi/miinitext.c.xserver116-rebased xserver/mi/miinitext.c
+ #include "globals.h"
+
+ +#ifdef TIGERVNC
+-+extern void vncExtensionInit(INITARGS);
+++extern void vncExtensionInit(void);
+ +#endif
+ +
+ /* The following is only a small first step towards run-time
+--
+2.7.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb
new file mode 100644
index 000000000..469745f2a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tigervnc/tigervnc_1.8.0.bb
@@ -0,0 +1,132 @@
+DESCRIPTION = "TigerVNC remote display system"
+HOMEPAGE = "http://www.tigervnc.com/"
+LICENSE = "GPLv2+"
+SECTION = "x11/utils"
+DEPENDS = "xserver-xorg gnutls jpeg libxtst gettext-native fltk"
+RDEPENDS_${PN} = "chkconfig coreutils hicolor-icon-theme"
+
+LIC_FILES_CHKSUM = "file://LICENCE.TXT;md5=75b02c2872421380bbd47781d2bd75d3"
+
+S = "${WORKDIR}/git"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES = "x11"
+
+inherit autotools cmake
+B = "${S}"
+
+SRCREV = "4d6e1b8306a8cca8ad5e15ff8201f6ea24459cfd"
+
+SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.8-branch \
+ file://0001-tigervnc-remove-includedir.patch \
+ file://0002-do-not-build-tests-sub-directory.patch \
+ file://0003-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
+ file://0004-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
+ file://0005-Remove-INITARGS-from-xserver119.patch.patch \
+"
+
+# Keep sync with xorg-server in oe-core
+XORG_PN ?= "xorg-server"
+XORG_PV ?= "1.19.3"
+SRC_URI += "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${XORG_PV}.tar.bz2;name=xorg"
+XORG_S = "${WORKDIR}/${XORG_PN}-${XORG_PV}"
+SRC_URI[xorg.md5sum] = "015d2fc4b9f2bfe7a626edb63a62c65e"
+SRC_URI[xorg.sha256sum] = "677a8166e03474719238dfe396ce673c4234735464d6dadf2959b600d20e5a98"
+
+# It is the directory containing the Xorg source for the
+# machine on which you are building TigerVNC.
+XSERVER_SOURCE_DIR="${S}/unix/xserver"
+
+do_patch[postfuncs] += "do_patch_xserver"
+do_patch_xserver () {
+ for subdir in Xext xkb GL hw/xquartz/bundle hw/xfree86/common; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ for subdir in hw/dmx/doc man doc hw/dmx/doxygen; do
+ install -d ${XSERVER_SOURCE_DIR}/$subdir
+ done
+
+ sources="hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched \
+ hw/dmx/doxygen/doxygen.conf.in xserver.ent.in xkb/README.compiled \
+ hw/xfree86/xorgconf.cpp hw/xfree86/Xorg.sh.in"
+ for i in ${sources}; do
+ install -m 0644 ${XORG_S}/$i ${XSERVER_SOURCE_DIR}/$i;
+ done
+
+ cd ${XORG_S}
+ find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | \
+ xargs tar cf - | (cd ${XSERVER_SOURCE_DIR} && tar xf -)
+
+ cd ${XSERVER_SOURCE_DIR}
+ xserverpatch="${S}/unix/xserver119.patch"
+ echo "Apply $xserverpatch"
+ patch -p1 -b --suffix .vnc < $xserverpatch
+}
+
+EXTRA_OECONF = "--disable-xorg --disable-xnest --disable-xvfb --disable-dmx \
+ --disable-xwin --disable-xephyr --disable-kdrive --with-pic \
+ --disable-static --disable-xinerama \
+ --with-xkb-output=${localstatedir}/lib/xkb \
+ --disable-glx --disable-dri --disable-dri2 \
+ --disable-config-hal \
+ --disable-config-udev \
+ --without-dtrace \
+ --disable-unit-tests \
+ --disable-devel-docs \
+ --disable-selective-werror \
+ --disable-xshmfence \
+ --disable-config-udev \
+ --disable-dri3 \
+ --disable-libunwind \
+ --without-xmlto \
+ --enable-systemd-logind=no \
+ --disable-xinerama \
+ --disable-xwayland \
+"
+
+do_configure_append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ rm -rf aclocal-copy/
+ rm -f aclocal.m4
+
+ export ACLOCALDIR="${XSERVER_SOURCE_DIR}/aclocal-copy"
+ mkdir -p ${ACLOCALDIR}/
+ if [ -d ${STAGING_DATADIR_NATIVE}/aclocal ]; then
+ cp-noerror ${STAGING_DATADIR_NATIVE}/aclocal/ ${ACLOCALDIR}/
+ fi
+ if [ -d ${STAGING_DATADIR}/aclocal -a "${STAGING_DATADIR_NATIVE}/aclocal" != "${STAGING_DATADIR}/aclocal" ]; then
+ cp-noerror ${STAGING_DATADIR}/aclocal/ ${ACLOCALDIR}/
+ fi
+ ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
+ chmod +x ./configure
+ ${CACHED_CONFIGUREVARS} ./configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
+ cd $olddir
+}
+
+do_compile_append () {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}
+
+ oe_runmake
+
+ cd $olddir
+}
+
+do_install_append() {
+ olddir=`pwd`
+ cd ${XSERVER_SOURCE_DIR}/hw/vnc
+
+ oe_runmake 'DESTDIR=${D}' install
+
+ cd $olddir
+}
+
+FILES_${PN} += " \
+ ${libdir}/xorg/modules/extensions \
+ ${datadir}/icons \
+"
+
+FILES_${PN}-dbg += "${libdir}/xorg/modules/extensions/.debug"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf
new file mode 100644
index 000000000..1b0da937e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/ts.conf
@@ -0,0 +1,25 @@
+# Uncomment if you wish to use the linux input layer event interface
+module_raw input
+
+# Uncomment if you're using a Sharp Zaurus SL-5500/SL-5000d
+# module_raw collie
+
+# Uncomment if you're using a Sharp Zaurus SL-C700/C750/C760/C860
+# module_raw corgi
+
+# Uncomment if you're using a device with a UCB1200/1300/1400 TS interface
+# module_raw ucb1x00
+
+# Uncomment if you're using an HP iPaq h3600 or similar
+# module_raw h3600
+
+# Uncomment if you're using a Hitachi Webpad
+# module_raw mk712
+
+# Uncomment if you're using an IBM Arctic II
+# module_raw arctic2
+
+module pthres pmin=1
+module variance delta=30
+module dejitter delta=100
+module linear
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh
new file mode 100644
index 000000000..7068e8d92
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib/tslib.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+if [ -e /dev/input/touchscreen0 ]; then
+ TSLIB_TSDEVICE=/dev/input/touchscreen0
+
+ export TSLIB_TSDEVICE
+fi
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb
new file mode 100644
index 000000000..7ae941a3c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/tslib/tslib_1.15.bb
@@ -0,0 +1,82 @@
+SUMMARY = "An abstraction layer for touchscreen panel events"
+DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
+events, as well as a filter stack for the manipulation of those events. \
+Tslib is generally used on embedded devices to provide a common user \
+space interface to touchscreen functionality."
+HOMEPAGE = "http://tslib.org/"
+
+AUTHOR = "Martin Kepplinger <martink@posteo.de>"
+SECTION = "base"
+LICENSE = "LGPLv2+ & GPLv2+"
+LIC_FILES_CHKSUM = "\
+ file://COPYING;md5=fc178bcd425090939a8b634d1d6a9594 \
+ file://tests/COPYING;md5=a23a74b3f4caf9616230789d94217acb \
+"
+
+SRC_URI = "https://github.com/kergoth/tslib/releases/download/${PV}/tslib-${PV}.tar.xz;downloadfilename=tslib-${PV}.tar.xz \
+ file://ts.conf \
+ file://tslib.sh \
+"
+SRC_URI[md5sum] = "9ff36788c9ab76a10b58422227b9629e"
+SRC_URI[sha256sum] = "7ce48807cab655076d71a1ceef3ed0ab8a25df98074981d4a8fd1477ee5f710c"
+
+UPSTREAM_CHECK_URI = "https://github.com/kergoth/tslib/releases"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= "debounce dejitter iir linear median pthres skip lowpass invert variance input touchkit waveshare"
+PACKAGECONFIG[debounce] = "--enable-debounce,--disable-debounce"
+PACKAGECONFIG[dejitter] = "--enable-dejitter,--disable-dejitter"
+PACKAGECONFIG[iir] = "--enable-iir,--disable-iir"
+PACKAGECONFIG[linear] = "--enable-linear,--disable-linear"
+PACKAGECONFIG[median] = "--enable-median,--disable-median"
+PACKAGECONFIG[pthres] = "--enable-pthres,--disable-pthres"
+PACKAGECONFIG[skip] = "--enable-skip,--disable-skip"
+PACKAGECONFIG[lowpass] = "--enable-lowpass,--disable-lowpass"
+PACKAGECONFIG[invert] = "--enable-invert,--disable-invert"
+PACKAGECONFIG[variance] = "--enable-variance,--disable-variance"
+PACKAGECONFIG[input] = "--enable-input,--disable-input"
+PACKAGECONFIG[tatung] = "--enable-tatung,--disable-tatung"
+PACKAGECONFIG[touchkit] = "--enable-touchkit,--disable-touchkit"
+PACKAGECONFIG[waveshare] = "--enable-waveshare,--disable-waveshare"
+PACKAGECONFIG[ucb1x00] = "--enable-ucb1x00,--disable-ucb1x00"
+PACKAGECONFIG[mk712] = "--enable-mk712,--disable-mk712"
+PACKAGECONFIG[h3600] = "--enable-h3600,--disable-h3600"
+PACKAGECONFIG[dmc] = "--enable-dmc,--disable-dmc"
+PACKAGECONFIG[linear-h2200] = "--enable-linear-h2200,--disable-linear-h2200"
+PACKAGECONFIG[corgi] = "--enable-corgi,--disable-corgi"
+PACKAGECONFIG[collie] = "--enable-collie,--disable-collie"
+PACKAGECONFIG[arctic2] = "--enable-arctic2,--disable-arctic2"
+PACKAGECONFIG[dmc_dus3000] = "--enable-dmc_dus3000,--disable-dmc_dus3000"
+PACKAGECONFIG[cy8mrln-palmpre] = "--enable-cy8mrln-palmpre,--disable-cy8mrln-palmpre"
+PACKAGECONFIG[galax] = "--enable-galax,--disable-galax"
+PACKAGECONFIG[debug] = "--enable-debug,--disable-debug"
+
+do_install_prepend() {
+ install -m 0644 ${WORKDIR}/ts.conf ${S}/etc/ts.conf
+}
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0755 ${WORKDIR}/tslib.sh ${D}${sysconfdir}/profile.d/
+}
+
+RPROVIDES_tslib-conf = "libts-0.0-conf"
+
+PACKAGES =+ "tslib-conf tslib-tests tslib-calibrate tslib-uinput"
+DEBIAN_NOAUTONAME_tslib-conf = "1"
+DEBIAN_NOAUTONAME_tslib-tests = "1"
+DEBIAN_NOAUTONAME_tslib-calibrate = "1"
+DEBIAN_NOAUTONAME_tslib-uinput = "1"
+
+RDEPENDS_${PN} = "tslib-conf"
+RRECOMMENDS_${PN} = "pointercal"
+
+FILES_${PN}-dev += "${libdir}/ts/*.la"
+FILES_tslib-conf = "${sysconfdir}/ts.conf ${sysconfdir}/profile.d/tslib.sh ${datadir}/tslib"
+FILES_${PN} = "${libdir}/*.so.* ${libdir}/ts/*.so*"
+FILES_tslib-calibrate += "${bindir}/ts_calibrate"
+FILES_tslib-uinput += "${bindir}/ts_uinput"
+
+FILES_tslib-tests = "${bindir}/ts_harvest ${bindir}/ts_print ${bindir}/ts_print_raw ${bindir}/ts_print_mt \
+ ${bindir}/ts_test ${bindir}/ts_test_mt ${bindir}/ts_verify ${bindir}/ts_finddev"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf
new file mode 100644
index 000000000..6855791b4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts/44-source-han-sans-cn.conf
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<fontconfig>
+ <!--
+ - Medium variant is used instead of Regular on Qt apps:
+ https://bugs.launchpad.net/ubuntu-font-family/+bug/744812
+ - Medium and Bold looks the same in certain applications:
+ https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373
+ -->
+ <match target="scan">
+ <test name="fullname" compare="eq">
+ <string>Source Han Sans CN Medium</string>
+ </test>
+ <edit name="weight" mode="assign">
+ <const>demibold</const>
+ </edit>
+ </match>
+</fontconfig>
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb
new file mode 100644
index 000000000..9fbfc8b49
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-cn-fonts_1.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Simplified Chinese"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansCN.zip \
+ file://44-source-han-sans-cn.conf \
+"
+SRC_URI[md5sum] = "d16abc21f6575bb08894efedbed484a2"
+SRC_URI[sha256sum] = "0a0e1d8e52833bc352d454d8242da03b82c0efc41323fb66f7435e5b39734a4f"
+
+S = "${WORKDIR}/SourceHanSansCN"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-cn.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf
new file mode 100644
index 000000000..a7a93feea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts/44-source-han-sans-jp.conf
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<fontconfig>
+ <!--
+ - Medium variant is used instead of Regular on Qt apps:
+ https://bugs.launchpad.net/ubuntu-font-family/+bug/744812
+ - Medium and Bold looks the same in certain applications:
+ https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373
+ -->
+ <match target="scan">
+ <test name="fullname" compare="eq">
+ <string>Source Han Sans JP Medium</string>
+ </test>
+ <edit name="weight" mode="assign">
+ <const>demibold</const>
+ </edit>
+ </match>
+</fontconfig>
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb
new file mode 100644
index 000000000..4a26a2f57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-jp-fonts_1.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Japanese"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansJP.zip \
+ file://44-source-han-sans-jp.conf \
+"
+SRC_URI[md5sum] = "908fbf97f3df04a6838708c093f1e900"
+SRC_URI[sha256sum] = "dc6dbae3fba35f220bac88ba7130b826c7efe1282f472788fae3628b79be3f54"
+
+S = "${WORKDIR}/SourceHanSansJP"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-jp.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf
new file mode 100644
index 000000000..dee73ae77
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts/44-source-han-sans-kr.conf
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<fontconfig>
+ <!--
+ - Medium variant is used instead of Regular on Qt apps:
+ https://bugs.launchpad.net/ubuntu-font-family/+bug/744812
+ - Medium and Bold looks the same in certain applications:
+ https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373
+ -->
+ <match target="scan">
+ <test name="fullname" compare="eq">
+ <string>Source Han Sans KR Medium</string>
+ </test>
+ <edit name="weight" mode="assign">
+ <const>demibold</const>
+ </edit>
+ </match>
+</fontconfig>
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb
new file mode 100644
index 000000000..c91d1671f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-kr-fonts_1.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Korean"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansKR.zip \
+ file://44-source-han-sans-kr.conf \
+"
+SRC_URI[md5sum] = "f8d1bd6c87d8575afdb25e2f46bd81d4"
+SRC_URI[sha256sum] = "38fd15c80f9980492faaa1af39ff873d8a38e45027023fb17d5b10d4b4b0e6af"
+
+S = "${WORKDIR}/SourceHanSansKR"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-kr.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf
new file mode 100644
index 000000000..ae289401b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts/44-source-han-sans-tw.conf
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<fontconfig>
+ <!--
+ - Medium variant is used instead of Regular on Qt apps:
+ https://bugs.launchpad.net/ubuntu-font-family/+bug/744812
+ - Medium and Bold looks the same in certain applications:
+ https://bugs.launchpad.net/ubuntu/+source/gnome-specimen/+bug/813373
+ -->
+ <match target="scan">
+ <test name="fullname" compare="eq">
+ <string>Source Han Sans TWHK Medium</string>
+ </test>
+ <edit name="weight" mode="assign">
+ <const>demibold</const>
+ </edit>
+ </match>
+</fontconfig>
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb
new file mode 100644
index 000000000..728250538
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/source-han-sans-tw-fonts_1.004.bb
@@ -0,0 +1,34 @@
+require ttf.inc
+
+SUMMARY = "Adobe OpenType Pan-CJK font family for Traditional Chinese"
+HOMEPAGE = "https://github.com/adobe-fonts/source-han-sans"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=55719faa0112708e946b820b24b14097"
+
+inherit allarch fontcache
+
+# Download tends to break - so - or not?
+#EXCLUDE_FROM_WORLD = "1"
+
+SRC_URI = " \
+ https://github.com/adobe-fonts/source-han-sans/raw/release/SubsetOTF/SourceHanSansTW.zip \
+ file://44-source-han-sans-tw.conf \
+"
+SRC_URI[md5sum] = "6533b71b31c19e548768f0fc963202f3"
+SRC_URI[sha256sum] = "92ba161921c5cdec5a8f8d5711676f0865b50cee071c25eb4bd4125b5af59fd0"
+
+S = "${WORKDIR}/SourceHanSansTW"
+
+do_install() {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/44-source-han-sans-tw.conf ${D}${sysconfdir}/fonts/conf.d/
+
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.otf' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+FILES_${PN} = " \
+ ${sysconfdir}/fonts \
+ ${datadir}/fonts \
+"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
new file mode 100644
index 000000000..ce003e922
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-abyssinica_1.500.bb
@@ -0,0 +1,17 @@
+require ttf.inc
+
+SUMMARY = "Ethiopia and Eritrea (Amharic) font - TTF Edition"
+HOMEPAGE = "http://software.sil.org/abyssinica/"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=1694c7fc245cdc85c9971db707928159"
+
+SRCNAME = "AbyssinicaSIL"
+SRC_URI = "http://software.sil.org/downloads/r/abyssinica/${SRCNAME}-${PV}.zip"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+SRC_URI[md5sum] = "a3d943d18e303197c8d3d92d2de54d1e"
+SRC_URI[sha256sum] = "e48a77d5ab8ee0b06464a5b29be70f292aa25dc1e73eb39ec933bd7fa47bbd86"
+
+FONT_PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
new file mode 100644
index 000000000..522f0fb7d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-arphic-uming_20080216.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Unicode Mingti (printed) TrueType Font"
+HOMEPAGE = "http://www.freedesktop.org/wiki/Software/CJKUnifonts"
+LICENSE = "Arphic-Public-License"
+LIC_FILES_CHKSUM = "file://README;md5=62be011094b7865ddc4d1a648444d31a"
+SRC_DISTRIBUTE_LICENSES += "${PN}"
+RPROVIDES_${PN} = "virtual-chinese-font"
+PR = "r6"
+
+FONT_PACKAGES = "${PN}"
+
+SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.${PV}.1.orig.tar.gz"
+S = "${WORKDIR}"
+
+require ttf.inc
+
+FILES_${PN} = "${datadir}"
+
+SRC_URI[md5sum] = "d219fcaf953f3eb1889399955a00379f"
+SRC_URI[sha256sum] = "8038a6db9e832456d5da5559aff8d15130243be1091bf24f3243503a6f1bda98"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf
new file mode 100644
index 000000000..9c6e56bf7
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu/30-dejavu-aliases.conf
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>DejaVu Serif</family>
+ <default><family>serif</family></default>
+ </alias>
+ <alias>
+ <family>DejaVu Sans</family>
+ <default><family>sans-serif</family></default>
+ </alias>
+ <alias>
+ <family>DejaVu Sans Mono</family>
+ <default><family>monospace</family></default>
+ </alias>
+</fontconfig>
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
new file mode 100644
index 000000000..f74e5ce6c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-dejavu_2.37.bb
@@ -0,0 +1,47 @@
+require ttf.inc
+
+SUMMARY = "DejaVu font - TTF Edition"
+HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
+LICENSE = "BitstreamVera"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=449b2c30bfe5fa897fe87b8b70b16cfa"
+
+# all subpackages except ${PN}-common itself rdepends on ${PN}-common
+RDEPENDS_${PN}-sans = "${PN}-common"
+RDEPENDS_${PN}-sans-mono = "${PN}-common"
+RDEPENDS_${PN}-sans-condensed = "${PN}-common"
+RDEPENDS_${PN}-serif = "${PN}-common"
+RDEPENDS_${PN}-serif-condensed = "${PN}-common"
+RDEPENDS_${PN}-mathtexgyre = "${PN}-common"
+RDEPENDS_${PN}-common = ""
+PR = "r7"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/dejavu/dejavu-fonts-ttf-${PV}.tar.bz2 \
+ file://30-dejavu-aliases.conf"
+
+S = "${WORKDIR}/dejavu-fonts-ttf-${PV}/ttf"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 ${WORKDIR}/30-dejavu-aliases.conf ${D}${sysconfdir}/fonts/conf.d/
+}
+
+PACKAGES = "\
+ ${PN}-sans \
+ ${PN}-sans-mono \
+ ${PN}-sans-condensed \
+ ${PN}-serif \
+ ${PN}-serif-condensed \
+ ${PN}-mathtexgyre \
+ ${PN}-common"
+FONT_PACKAGES = "${PN}-sans ${PN}-sans-mono ${PN}-sans-condensed ${PN}-serif ${PN}-serif-condensed ${PN}-mathtexgyre"
+
+FILES_${PN}-sans = "${datadir}/fonts/truetype/DejaVuSans.ttf ${datadir}/fonts/truetype/DejaVuSans-*.ttf"
+FILES_${PN}-sans-mono = "${datadir}/fonts/truetype/DejaVuSansMono*.ttf"
+FILES_${PN}-sans-condensed = "${datadir}/fonts/truetype/DejaVuSansCondensed*.ttf"
+FILES_${PN}-serif = "${datadir}/fonts/truetype/DejaVuSerif.ttf ${datadir}/fonts/truetype/DejaVuSerif-*.ttf"
+FILES_${PN}-serif-condensed = "${datadir}/fonts/truetype/DejaVuSerifCondensed*.ttf"
+FILES_${PN}-mathtexgyre = "${datadir}/fonts/truetype/DejaVuMathTeXGyre.ttf"
+FILES_${PN}-common = "${sysconfdir}"
+
+SRC_URI[md5sum] = "d0efec10b9f110a32e9b8f796e21782c"
+SRC_URI[sha256sum] = "fa9ca4d13871dd122f61258a80d01751d603b4d3ee14095d65453b4e846e17d7"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
new file mode 100644
index 000000000..e62badf77
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-droid_git.bb
@@ -0,0 +1,27 @@
+require ttf.inc
+
+SUMMARY = "Droid fonts - TTF Edition"
+HOMEPAGE = "http://www.droidfonts.com/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://README.txt;md5=83544262a86f1f1ec761e75897df92bc"
+SRCREV = "21e6e2de1f0062f949fcc52d0b4559dfa3246e0e"
+PV = "0.1+gitr${SRCPV}"
+PR = "r3"
+
+SRC_URI = "git://github.com/android/platform_frameworks_base.git;branch=master"
+
+S = "${WORKDIR}/git/data/fonts"
+
+do_install_prepend() {
+ rm ${S}/Ahem.ttf MTLc3m.ttf DroidSansArabic.ttf DroidSansThai.ttf Clockopia.ttf MTLmr3m.ttf DroidSansHebrew.ttf DroidSansFallbackLegacy.ttf # we're not packaging it
+}
+
+PACKAGES = "ttf-droid-sans ttf-droid-sans-mono \
+ ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif"
+FONT_PACKAGES = "ttf-droid-sans ttf-droid-sans-mono ttf-droid-sans-fallback ttf-droid-sans-japanese ttf-droid-serif"
+
+FILES_ttf-droid-sans = "${datadir}/fonts/truetype/DroidSans.ttf ${datadir}/fonts/truetype/DroidSans-Bold.ttf"
+FILES_ttf-droid-sans-mono = "${datadir}/fonts/truetype/DroidSansMono.ttf"
+FILES_ttf-droid-sans-fallback = "${datadir}/fonts/truetype/DroidSansFallback.ttf"
+FILES_ttf-droid-sans-japanese = "${datadir}/fonts/truetype/DroidSansJapanese.ttf"
+FILES_ttf-droid-serif = "${datadir}/fonts/truetype/DroidSerif*.ttf"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
new file mode 100644
index 000000000..6a6258add
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-gentium_1.02.bb
@@ -0,0 +1,37 @@
+require ttf.inc
+
+SUMMARY = "Gentium fonts - TTF Version"
+HOMEPAGE = "http://scripts.sil.org/gentium"
+LICENSE = "OFL"
+LICENSE_URL = "http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=OFL"
+LIC_FILES_CHKSUM = "file://OFL;md5=33a5bf7b98a9c0ae87430760ba762295 \
+"
+PR = "r8"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/t/ttf-gentium/ttf-gentium_${PV}.orig.tar.gz "
+
+S = "${WORKDIR}/ttf-sil-gentium-${PV}"
+
+do_install_append() {
+
+ install -d ${D}${datadir}/doc/ttf-gentium/
+ install -d ${D}${datadir}/doc/ttf-gentium-alt/
+
+ install -m 0644 ${S}/OFL ${D}${datadir}/doc/ttf-gentium/
+ install -m 0644 ${S}/OFL ${D}${datadir}/doc/ttf-gentium-alt/
+
+}
+
+PACKAGES = "${PN} ${PN}-alt"
+FONT_PACKAGES = "${PN} ${PN}-alt"
+
+FILES_${PN}-alt = "${datadir}/fonts/truetype/GenAI*.ttf \
+ ${datadir}/fonts/truetype/GenAR*.ttf \
+ ${datadir}/doc/ttf-gentium-alt/*"
+
+FILES_${PN} = "${datadir}/fonts/truetype/GenI*.ttf \
+ ${datadir}/fonts/truetype/GenR*.ttf \
+ ${datadir}/doc/ttf-gentium/*"
+
+SRC_URI[md5sum] = "4c3e6ae586be277537ebb68f2a45b883"
+SRC_URI[sha256sum] = "4746c04c9a4ad9e0788a38e0a2f81919a630d8070ceabc89f156b6d41d8ceb37"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
new file mode 100644
index 000000000..5cd9935d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-hunkyfonts_0.3.0.bb
@@ -0,0 +1,20 @@
+require ttf.inc
+
+SUMMARY = "Hunky fonts - TTF Version"
+HOMEPAGE = "http://sourceforge.net/projects/hunkyfonts"
+LICENSE = "LGPL"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=7fbc338309ac38fefcd64b04bb903e34"
+PR = "r7"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/hunkyfonts/hunkyfonts-${PV}.tar.bz2"
+
+S = "${WORKDIR}/hunkyfonts-${PV}/TTF/"
+
+PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
+FONT_PACKAGES = "ttf-hunky-sans ttf-hunky-serif"
+
+FILES_ttf-hunky-sans = "${datadir}/fonts/truetype/HunkySans*.ttf"
+FILES_ttf-hunky-serif = "${datadir}/fonts/truetype/HunkySerif*.ttf"
+
+SRC_URI[md5sum] = "36444795a356fb8a56c63b2840729bab"
+SRC_URI[sha256sum] = "e0b1849c545b6af276407d93025c73094dd74fc259b07c1d91594fdbb9a0b829"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt
new file mode 100644
index 000000000..1456c1809
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata/OFL.txt
@@ -0,0 +1,97 @@
+Copyright (c) <dates>, <Copyright Holder> (<URL|email>),
+with Reserved Font Name <Reserved Font Name>.
+Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>),
+with Reserved Font Name <additional Reserved Font Name>.
+Copyright (c) <dates>, <additional Copyright Holder> (<URL|email>).
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
new file mode 100644
index 000000000..20041bb7b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-inconsolata_20100526.bb
@@ -0,0 +1,26 @@
+require ttf.inc
+
+SUMMARY = "Inconsolata font - TTF Version"
+HOMEPAGE = "http://www.levien.com/type/myfonts/inconsolata.html"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://../OFL.txt;md5=969851e3a70122069a4d9ee61dd5a2ed"
+
+SRC_URI = "http://levien.com/type/myfonts/Inconsolata.otf \
+ file://OFL.txt"
+
+S = "${WORKDIR}/ttf-inconsolata-${PV}"
+
+FILES_${PN} = "${datadir}/fonts/truetype/Inconsolata.ttf \
+ ${datadir}/doc/ttf-inconsolata/*"
+
+do_configure() {
+ mv ${WORKDIR}/Inconsolata.otf ${S}/Inconsolata.ttf
+}
+
+do_install_append() {
+ install -d ${D}${datadir}/doc/ttf-inconsolata/
+ install -m 0644 ${WORKDIR}/OFL.txt ${D}${datadir}/doc/ttf-inconsolata/
+}
+
+SRC_URI[md5sum] = "0fbe014c1f0fb5e3c71140ff0dc63edf"
+SRC_URI[sha256sum] = "1561e616c414a1b82d6e6dfbd18e5726fd65028913ade191e5fa38b6ec375a1a"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf
new file mode 100644
index 000000000..a4f4da7e3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow/30-0-liberation-sans-narrow.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "../fonts.dtd">
+<fontconfig>
+ <!-- Microsoft -->
+ <alias binding="same">
+ <family>Arial Narrow</family>
+ <accept>
+ <family>Liberation Sans Narrow</family>
+ </accept>
+ </alias>
+ <alias binding="same">
+ <family>Liberation Sans Narrow</family>
+ <default>
+ <family>Arial Narrow</family>
+ </default>
+ </alias>
+</fontconfig>
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
new file mode 100644
index 000000000..5b406bc65
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation-sans-narrow_1.07.4.bb
@@ -0,0 +1,32 @@
+require ttf.inc
+
+SUMMARY = "Liberation(tm) Fonts"
+DESCRIPTION = "The Liberation(tm) Fonts is a font family originally \
+created by Ascender(c) which aims at metric compatibility with \
+Arial, Times New Roman, Courier New."
+
+HOMEPAGE = "https://fedorahosted.org/liberation-fonts/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "https://releases.pagure.org/liberation-fonts/liberation-fonts-ttf-${PV}.tar.gz \
+ file://30-0-liberation-sans-narrow.conf \
+"
+
+SRC_URI[md5sum] = "134d8262145fc793c6af494dcace3e71"
+SRC_URI[sha256sum] = "61a7e2b6742a43c73e8762cdfeaf6dfcf9abdd2cfa0b099a9854d69bc4cfee5c"
+
+S = "${WORKDIR}/liberation-fonts-ttf-${PV}"
+
+do_install_append () {
+ install -d ${D}${datadir}/fonts/TTF/
+ install -d ${D}${sysconfdir}/fonts/conf.d/
+ install -m 0644 LiberationSansNarrow*.ttf ${D}${datadir}/fonts/TTF/
+ install -D -m 0644 ${WORKDIR}/30-0-liberation-sans-narrow.conf ${D}${sysconfdir}/conf.avail/30-${PN}-sans.conf
+ install -D -m 0644 ${S}/License.txt ${D}${datadir}/licenses/${PN}/LICENSE
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/fonts ${sysconfdir} ${datadir}/licenses"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
new file mode 100644
index 000000000..7204c926a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
@@ -0,0 +1,23 @@
+require ttf.inc
+
+SUMMARY = "Liberation fonts - TTF Version"
+HOMEPAGE = "https://www.redhat.com/promo/fonts/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \
+"
+
+PR = "r7"
+
+SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz"
+S = "${WORKDIR}/liberation-fonts-${PV}"
+
+PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
+FONT_PACKAGES = "ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
+
+FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
+FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
+FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
+
+SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8"
+SRC_URI[sha256sum] = "174cf27c57612971434ec8cc4a52bfd37bad8408e9b9219539c6d5113df6ff8f"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
new file mode 100644
index 000000000..2ef6c57e1
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lklug_0.6-14.20090803cvs.fc24.bb
@@ -0,0 +1,24 @@
+require ttf.inc
+
+SUMMARY = "Fonts for Sinhala language - TTF Edition"
+HOMEPAGE = "http://rpms.famillecollet.com/rpmphp/zoom.php?rpm=lklug-fonts"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+SRC_URI = "http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/source/tree/Packages/l/lklug-fonts-0.6-14.20090803cvs.fc24.src.rpm;extract=lklug-20090803.tar.gz"
+SRC_URI[md5sum] = "3341dfb997043d234ab3f6e5a965e759"
+SRC_URI[sha256sum] = "f54c1f3b4df08995982657fed290b562556191fee2a0386afd9e8bf228f72b1a"
+
+DEPENDS = "fontforge-native"
+
+S = "${WORKDIR}"
+FONT_PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
+do_compile() {
+ fontforge ${S}/convert.ff lklug
+}
+
+do_install() {
+ make install DESTDIR=${D}
+}
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
new file mode 100644
index 000000000..f9679d606
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-lohit_2.bb
@@ -0,0 +1,23 @@
+require ttf.inc
+
+SUMMARY = "The project goal is to improve existing offerings of the fonts \
+- making sure the Lohit fonts deliver the best available quality and functions \
+to the community."
+HOMEPAGE = "https://fedorahosted.org/lohit"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = "file://OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402"
+
+SRCREV = "d678f1b1807ea5602586279e90b5db6d62ed475e"
+SRC_URI = "git://github.com/pravins/lohit.git;branch=master"
+
+DEPENDS = "fontforge-native"
+S = "${WORKDIR}/git"
+FONT_PACKAGES = "${PN}"
+FILES_${PN} = "${datadir}"
+
+inherit pythonnative
+
+do_compile() {
+ cd ${S}; make ttf;
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
new file mode 100644
index 000000000..9ad348d9f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-mplus_027.bb
@@ -0,0 +1,28 @@
+require ttf.inc
+
+SUMMARY = "MPlus font - TTF Edition"
+HOMEPAGE = "http://dejavu.sourceforge.net/wiki/"
+LICENSE = "${PN}"
+LIC_FILES_CHKSUM = "file://LICENSE_E;md5=ac161e96eda00db9a3aec7870b5d9658 \
+ file://LICENSE_J;md5=a120ca8d7c8e4a475d5277c9aeb95221 \
+"
+PR = "r4"
+
+SRC_URI = "http://osdn.dl.sourceforge.jp/mplus-fonts/6650/mplus-TESTFLIGHT-${PV}.tar.gz"
+S = "${WORKDIR}/mplus-TESTFLIGHT-${PV}"
+
+PACKAGESPLITFUNCS_prepend = "split_ttf_mplus_packages "
+
+python split_ttf_mplus_packages() {
+ plugindir = d.expand('${datadir}/fonts/ttf-mplus/')
+ packages = do_split_packages(d, plugindir, '^(.*)\.ttf$', 'ttf-%s', 'TTF Font %s')
+ d.setVar('FONT_PACKAGES', ' '.join(packages))
+}
+
+do_install() {
+ install -d ${D}${datadir}/fonts/ttf-mplus
+ install -m 0644 *.ttf ${D}${datadir}/fonts/ttf-mplus/
+}
+
+SRC_URI[md5sum] = "d1400184b51b3871e8d2fca6c50e18ae"
+SRC_URI[sha256sum] = "a20b9b9b03c2a6fb1e2137d29e8a6ce06406ba1e008906ea3c474dc048dc06a6"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
new file mode 100644
index 000000000..ac60a365f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-pt-sans_1.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "PT Sans Fonts"
+DESCRIPTION = "The PT Sans TTF font set"
+HOMEPAGE = "http://www.paratype.com/public/"
+
+SECTION = "x11/fonts"
+
+LICENSE = "ParaTypeFFL-1.3"
+LIC_FILES_CHKSUM = "file://../PT%20Free%20Font%20License_eng.txt;md5=d720f3a281ed81c3f4cfc465e11b1d0d"
+
+inherit allarch fontcache
+
+# Downloading from fedora because upstream doesn't version its zip file
+# and causes hash build failures
+SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/paratype-pt-sans-fonts/PTSans.zip/c3f5a0e20a75cf628387510a720924a7/PTSans.zip"
+
+SRC_URI[md5sum] = "c3f5a0e20a75cf628387510a720924a7"
+SRC_URI[sha256sum] = "0164f824e03c32c99e8a225853ec168893a04a09ade132e93a674e85ae033b2e"
+
+do_install () {
+ install -d ${D}${datadir}/fonts/X11/TTF/
+ cd ..
+ for i in *.ttf; do
+ install -m 0644 $i ${D}${prefix}/share/fonts/X11/TTF/${i}
+ done
+}
+
+FILES_${PN} += "${datadir}"
+
+pkg_postinst_${PN} () {
+ set -x
+ for fontdir in `find $D/usr/lib/X11/fonts -type d`; do
+ mkfontdir $fontdir
+ mkfontscale $fontdir
+ done
+ for fontdir in `find $D/usr/share/fonts/X11 -type d`; do
+ mkfontdir $fontdir
+ mkfontscale $fontdir
+ done
+}
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
new file mode 100644
index 000000000..efdcec840
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-sazanami_20040629.bb
@@ -0,0 +1,35 @@
+require ttf.inc
+
+SUMMARY = "Sazanami Gothic/Mincho Japanese TrueType fonts"
+SUMMARY_ttf-sazanami-gothic = "Sazanami Gothic Japanese TrueType font"
+SUMMARY_ttf-sazanami-mincho = "Sazanami Mincho Japanese TrueType font"
+AUTHOR = "Electronic Font Open Laboratory (/efont/)"
+HOMEPAGE = "http://sourceforge.jp/projects/efont/"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://README;md5=97d739900be6e852830f55aa3c07d4a0"
+SRC_DISTRIBUTE_LICENSES += "${PN}"
+RPROVIDES_${PN} = "virtual-japanese-font"
+PR = "r9"
+
+SRC_URI = "http://osdn.dl.sourceforge.jp/efont/10087/sazanami-20040629.tar.bz2"
+S = "${WORKDIR}/sazanami-20040629"
+
+PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho"
+FONT_PACKAGES = "ttf-sazanami-gothic ttf-sazanami-mincho"
+
+FILES_ttf-sazanami-gothic = "${datadir}/fonts/truetype/sazanami-gothic.ttf \
+ ${datadir}/doc/ttf-sazanami-gothic/README"
+FILES_ttf-sazanami-mincho = "${datadir}/fonts/truetype/sazanami-mincho.ttf \
+ ${datadir}/doc/ttf-sazanami-mincho/README"
+
+do_install_append() {
+ # README contains the redistribution license
+ install -d ${D}${datadir}/doc/
+ install -d ${D}${datadir}/doc/ttf-sazanami-gothic
+ install -d ${D}${datadir}/doc/ttf-sazanami-mincho
+ install -m 0644 ${S}/README ${D}${datadir}/doc/ttf-sazanami-gothic
+ install -m 0644 ${S}/README ${D}${datadir}/doc/ttf-sazanami-mincho
+}
+
+SRC_URI[md5sum] = "ceef10579a75c92483171f3bd7f77df2"
+SRC_URI[sha256sum] = "3467ce2f70a9a3fbbf8d4d97355a2f334a6351baa6722251403637a8cbebf6b7"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
new file mode 100644
index 000000000..06a3fe533
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-tlwg_0.6.1.bb
@@ -0,0 +1,27 @@
+require ttf.inc
+
+SUMMARY = "Thai Linux Working Group Fonts"
+AUTHOR = "Thai Linux Working Group"
+HOMEPAGE = "http://linux.thai.net/projects/fonts-tlwg"
+LICENSE = "GPLv2 & TLWG"
+LIC_FILES_CHKSUM = "file://../fonts-tlwg-${PV}/COPYING;md5=3d20cd7eadf4afd5460c0adb32e387fd"
+
+SRC_URI = "http://linux.thai.net/pub/ThaiLinux/software/fonts-tlwg/fonts-tlwg-${PV}.tar.xz;name=source \
+ http://linux.thai.net/pub/ThaiLinux/software/ttf-tlwg/ttf-tlwg-${PV}.tar.xz;name=ttf"
+SRC_URI[source.md5sum] = "5ea5bc964d992df0428f2e0b85f48400"
+SRC_URI[source.sha256sum] = "77fb9832221fde60c9f683ac3fdce7d45ab6e9c0d83df83da969a3fe9faba537"
+SRC_URI[ttf.md5sum] = "1bc51f45a7b661404a944fab6911261c"
+SRC_URI[ttf.sha256sum] = "aa9cd68969b6f704df3e5b1a2e11204c47f118c8ab052f04c111bd5f299f77c8"
+
+do_install_append () {
+ install -d ${D}${sysconfdir}/fonts/conf.d
+
+ for x in ${S}/etc/fonts/conf.avail/*.conf; do
+ install -m 0644 $x ${D}${sysconfdir}/fonts/conf.d/
+ done
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/fonts ${sysconfdir}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb
new file mode 100644
index 000000000..d5d1b9a17
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-ubuntu-font-family_0.80.bb
@@ -0,0 +1,20 @@
+require ttf.inc
+
+SUMMARY = "Ubuntu Font Family - TTF Version"
+HOMEPAGE = "http://font.ubuntu.com"
+LICENSE = "UFL"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=325a1a9029112a2405e743c7f816427b"
+PR = "r1"
+
+SRC_URI = "http://font.ubuntu.com/download/ubuntu-font-family-${PV}.zip"
+
+SRC_URI[md5sum] = "a1fc70f5a5b1d096ab8310886cddaa1c"
+SRC_URI[sha256sum] = "107170099bbc3beae8602b97a5c423525d363106c3c24f787d43e09811298e4c"
+
+S = "${WORKDIR}/ubuntu-font-family-${PV}"
+
+PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
+FONT_PACKAGES = "ttf-ubuntu-mono ttf-ubuntu-sans"
+
+FILES_ttf-ubuntu-mono = "${datadir}/fonts/truetype/*Mono*"
+FILES_ttf-ubuntu-sans = "${datadir}/fonts/truetype/Ubuntu-*"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
new file mode 100644
index 000000000..62f2bb280
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-vlgothic_20141206.bb
@@ -0,0 +1,28 @@
+require ttf.inc
+
+SUMMARY = "Japanese TrueType fonts from Vine Linux"
+AUTHOR = "Contributor: noonov <noonov@gmail.com>"
+HOMEPAGE = "http://vlgothic.dicey.org/"
+
+LICENSE = "mplus & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.en;md5=66ecd0fd7e4da6246fa30317c7b66755 \
+ file://LICENSE_E.mplus;md5=1c4767416f20215f1e61b970f2117db9 \
+"
+
+SRC_URI = "https://osdn.jp/dl/vlgothic/VLGothic-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "bb7fadb2dff09a4fb6a11dc9dfdc0c36"
+SRC_URI[sha256sum] = "982040db2f9cb73d7c6ab7d9d163f2ed46d1180f330c9ba2fae303649bf8102d"
+
+S = "${WORKDIR}/VLGothic"
+
+do_install_append () {
+ install -D -m644 ${S}/LICENSE_E.mplus ${D}${datadir}/licenses/${PN}/COPYING_MPLUS.txt
+ install -D -m644 ${S}/README.sazanami ${D}${datadir}/licenses/${PN}/COPYING_SAZANAMI.txt
+ install -D -m644 ${S}/LICENSE.en ${D}${datadir}/licenses/${PN}/COPYING_VLGOTHIC.txt
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/fonts/truetype ${datadir}/licenses"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
new file mode 100644
index 000000000..1207a61b8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-wqy-zenhei_0.9.45.bb
@@ -0,0 +1,27 @@
+require ttf.inc
+
+SUMMARY = "WenQuanYi Zen Hei - A Hei-Ti Style Chinese font"
+AUTHOR = "Qianqian Fang and The WenQuanYi Project Contributors"
+HOMEPAGE = "http://wenq.org/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cf540fc7d35b5777e36051280b3a911c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/wqy/wqy-zenhei-${PV}.tar.gz"
+SRC_URI[md5sum] = "4c6c3f4e902dd5ee0a121e8c41d040bd"
+SRC_URI[sha256sum] = "e4b7e306475bf9427d1757578f0e4528930c84c44eaa3f167d4c42f110ee75d6"
+
+S = "${WORKDIR}/wqy-zenhei"
+
+do_install_append () {
+ sed -i -e '/<string>[^W]/d' ${S}/44-wqy-zenhei.conf
+ install -d ${D}${sysconfdir}/fonts/conf.d
+
+ for x in ${S}/*.conf; do
+ install -m 0644 $x ${D}${sysconfdir}/fonts/conf.d/
+ done
+}
+
+PACKAGES = "${PN}"
+FONT_PACKAGES = "${PN}"
+
+FILES_${PN} = "${datadir}/fonts ${sysconfdir}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc
new file mode 100644
index 000000000..c77af3993
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf.inc
@@ -0,0 +1,12 @@
+DESCRIPTION ?= "TrueType font package ${PN}"
+SECTION = "fonts"
+
+# we don't need a compiler nor a c library for these fonts
+INHIBIT_DEFAULT_DEPS = "1"
+
+do_install() {
+ install -d ${D}${datadir}/fonts/truetype/
+ find ./ -name '*.tt[cf]' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/ \;
+}
+
+inherit allarch fontcache
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
new file mode 100644
index 000000000..31bcce066
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/vdpau/libvdpau_git.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Video Decode and Presentation API for UNIX"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=83af8811a28727a13f04132cc33b7f58"
+
+DEPENDS = "virtual/libx11 libxext dri2proto"
+
+PV = "1.1.1+git${SRCPV}"
+
+SRCREV = "a21bf7aa438f5dd40d0a300a3167aa3d6f26dccc"
+SRC_URI = "git://anongit.freedesktop.org/vdpau/libvdpau"
+
+S = "${WORKDIR}/git"
+
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install_append() {
+ rm -f ${D}${libdir}/*/*.la
+}
+
+FILES_${PN}-dbg += "${libdir}/vdpau/.debug"
+FILES_${PN}-dev += "${libdir}/vdpau/lib*${SOLIBSDEV}"
+FILES_${PN} += "${libdir}/vdpau/lib*${SOLIBS}"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
new file mode 100644
index 000000000..f2a538bf6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/endian-fix.patch
@@ -0,0 +1,24 @@
+libvncserver: replace LIBVNCSERVER_WORDS_BIGENDIAN with WORDS_BIGENDIAN
+
+since macro AC_C_BIGENDIAN is used in autoconf and WORDS_BIGENDIAN is
+automatically set for different arch, it is better to use WORDS_BIGENDIAN
+instead of LIBVNCSERVER_WORDS_BIGENDIAN, which cuase issue in mips.
+
+Signed-off-by: Yu Ke <ke.yu@intel.com>
+
+Upstream-Status: Pending
+
+diff --git a/libvncserver/main.c b/libvncserver/main.c
+index b6bd930..8bbb7bf 100644
+--- a/libvncserver/main.c
++++ b/libvncserver/main.c
+@@ -47,7 +47,7 @@ static MUTEX(extMutex);
+
+ static int rfbEnableLogging=1;
+
+-#ifdef LIBVNCSERVER_WORDS_BIGENDIAN
++#ifdef WORDS_BIGENDIAN
+ char rfbEndianTest = (1==0);
+ #else
+ char rfbEndianTest = (1==1);
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
new file mode 100644
index 000000000..8e894bd8e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/remove-redundant-RPATH.patch
@@ -0,0 +1,86 @@
+From 7be055c13c7d0d640941830a3291af3b404928c1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 27 Jun 2016 04:44:14 -0400
+Subject: [PATCH] configure.ac: remove redundant RPATH
+
+It caused oe QA issue:
+...
+|ERROR: QA Issue: x11vnc: work/i586-poky-linux/x11vnc/0.9.13-r0/packages-split/
+x11vnc/usr/bin/x11vnc contains probably-redundant RPATH /usr/lib [useless-rpaths]
+...
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 21 +++++----------------
+ 1 file changed, 5 insertions(+), 16 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 6f664d0..f986686 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -330,10 +330,8 @@ if test "x$with_crypto" != "xno" -a "x$with_ssl" != "xno"; then
+ saved_LDFLAGS="$LDFLAGS"
+ CPPFLAGS="$CPPFLAGS -I$with_ssl/include"
+ LDFLAGS="$LDFLAGS -L$with_ssl/lib"
+- if test "x$ld_minus_R" = "xno"; then
++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ :
+- elif test "x$GCC" = "xyes"; then
+- LDFLAGS="$LDFLAGS -Xlinker -R$with_ssl/lib"
+ else
+ LDFLAGS="$LDFLAGS -R$with_ssl/lib"
+ fi
+@@ -447,10 +445,8 @@ if test ! -z "$with_system_libvncserver" -a "x$with_system_libvncserver" != "xno
+ fi
+ if test "x$with_system_libvncserver" != "xyes"; then
+ rflag=""
+- if test "x$ld_minus_R" = "xno"; then
++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ :
+- elif test "x$GCC" = "xyes"; then
+- rflag="-Xlinker -R$with_system_libvncserver/lib"
+ else
+ rflag="-R$with_system_libvncserver/lib"
+ fi
+@@ -484,10 +480,8 @@ new enough.
+ elif libvncserver-config --version 1>/dev/null 2>&1; then
+ rflag=""
+ rprefix=`libvncserver-config --prefix`
+- if test "x$ld_minus_R" = "xno"; then
++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ :
+- elif test "x$GCC" = "xyes"; then
+- rflag=" -Xlinker -R$rprefix/lib "
+ else
+ rflag=" -R$rprefix/lib "
+ fi
+@@ -541,11 +535,8 @@ if test "x$with_jpeg" != "xno"; then
+ saved_LDFLAGS="$LDFLAGS"
+ CPPFLAGS="$CPPFLAGS -I$with_jpeg/include"
+ LDFLAGS="$LDFLAGS -L$with_jpeg/lib"
+- if test "x$ld_minus_R" = "xno"; then
++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ :
+- elif test "x$GCC" = "xyes"; then
+- # this is not complete... in general a rat's nest.
+- LDFLAGS="$LDFLAGS -Xlinker -R$with_jpeg/lib"
+ else
+ LDFLAGS="$LDFLAGS -R$with_jpeg/lib"
+ fi
+@@ -590,10 +581,8 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
+ saved_LDFLAGS="$LDFLAGS"
+ CPPFLAGS="$CPPFLAGS -I$with_zlib/include"
+ LDFLAGS="$LDFLAGS -L$with_zlib/lib"
+- if test "x$ld_minus_R" = "xno"; then
++ if test "x$ld_minus_R" = "xno" -o "x$GCC" = "xyes"; then
+ :
+- elif test "x$GCC" = "xyes"; then
+- LDFLAGS="$LDFLAGS -Xlinker -R$with_zlib/lib"
+ else
+ LDFLAGS="$LDFLAGS -R$with_zlib/lib"
+ fi
+--
+2.8.1
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
new file mode 100644
index 000000000..f62e405dd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/files/starting-fix.patch
@@ -0,0 +1,25 @@
+"-gui" & "-rfbport" require "wish" installed, or else x11vnc fails to start.
+Removing these 2 parameters makes x11vnc works well on poky sato image.
+
+Add also -skip_lockkeys option to ignore all Caps_Lock, Shift_Lock, Num_Lock,
+Scroll_Lock keysyms received from viewers, in order to leave the lock state on
+the server side unchanged. Yet, the keys will appear correctly.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
+
+Upstream-Status: Inappropriate [configuration]
+
+Index: x11vnc-0.9.12/x11vnc/x11vnc.desktop
+===================================================================
+--- x11vnc-0.9.12.orig/x11vnc/x11vnc.desktop 2011-03-03 10:33:18.000000000 +0800
++++ x11vnc-0.9.12/x11vnc/x11vnc.desktop 2011-03-03 10:35:20.000000000 +0800
+@@ -1,7 +1,7 @@
+ [Desktop Entry]
+ Name=X11VNC Server
+ Comment=Share this desktop by VNC
+-Exec=x11vnc -gui tray=setpass -rfbport PROMPT -bg -o %%HOME/.x11vnc.log.%%VNCDISPLAY
++Exec=x11vnc -bg -rfbport 5900 -skip_lockkeys -o %%HOME/.x11vnc.log.%%VNCDISPLAY
+ Icon=computer
+ Terminal=false
+ Type=Application
diff --git a/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
new file mode 100644
index 000000000..b047bc462
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/x11vnc/x11vnc_0.9.13.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Exports your X session on-the-fly via VNC"
+HOMEPAGE = "http://www.karlrunge.com/x11vnc/"
+
+SECTION = "x11/utils"
+AUTHOR = "Karl Runge"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=361b6b837cad26c6900a926b62aada5f \
+ file://x11vnc/x11vnc.h;endline=33;md5=6f95dc6535467d7ee1563fd434fb372e"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/libvncserver/x11vnc/${PV}/x11vnc-${PV}.tar.gz\
+ file://starting-fix.patch \
+ file://endian-fix.patch \
+ file://remove-redundant-RPATH.patch \
+"
+
+SRC_URI[md5sum] = "a372ec4fe8211221547b1c108cf56e4c"
+SRC_URI[sha256sum] = "f6829f2e629667a5284de62b080b13126a0736499fe47cdb447aedb07a59f13b"
+
+DEPENDS = "openssl virtual/libx11 libxext jpeg zlib libxfixes libxrandr libxdamage libxtst libtasn1 p11-kit"
+
+inherit autotools-brokensep distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} libvncserver"
+PACKAGECONFIG[avahi] = "--with-avahi,--without-avahi,avahi"
+PACKAGECONFIG[xinerama] = "--with-xinerama,--without-xinerama,libxinerama"
+PACKAGECONFIG[libvncserver] = "--with-system-libvncserver,--without-system-libvncserver,libvncserver"
+
+do_prepare_sources () {
+ # Remove old libtool macros from acinclude.m4
+ sed -i -e '/^# libtool.m4/q' ${S}/acinclude.m4
+}
+do_patch[postfuncs] += "do_prepare_sources"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
new file mode 100644
index 000000000..a21dc42a9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xcursorgen/xcursorgen_1.0.5.bb
@@ -0,0 +1,14 @@
+LICENSE = "ManishSingh"
+LIC_FILES_CHKSUM = "file://COPYING;md5=bd1fb9ee90eead85f7b171807b3ab4f2"
+
+DEPENDS = "libpng libxcursor"
+
+SRC_URI = "http://xorg.freedesktop.org/archive/individual/app/${BPN}-${PV}.tar.bz2"
+SRC_URI[md5sum] = "09f56978a62854534deacc8aa8ff3031"
+SRC_URI[sha256sum] = "bc7171a0fa212da866fca2301241630e2009aea8c4ddb75f21b51a31c2e4c581"
+
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb b/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
new file mode 100644
index 000000000..b68e994ab
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xdotool/xdotool_1.20100416.2809.bb
@@ -0,0 +1,23 @@
+SUMMARY = "xdotool - command-line X11 automation tool - utilising X11 XTEST interface"
+HOMEPAGE = "http://www.semicomplete.com/projects/xdotool"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=2f9cbf7e9401cec8a38666a08851ce6b"
+SECTION = "x11"
+DEPENDS = "virtual/libx11 libxtst"
+
+PR = "r1"
+
+inherit distro_features_check pkgconfig
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI = "http://semicomplete.googlecode.com/files/xdotool-${PV}.tar.gz"
+SRC_URI[md5sum] = "1d5be641e512c343abfe5f78b39e6f19"
+SRC_URI[sha256sum] = "42d7271fbc796e53db71bb221f311b9ff3c51d90a71c9487a9bd3101ca39894f"
+
+EXTRA_OEMAKE = "PREFIX=${prefix} INSTALLLIB=${libdir} INSTALLMAN=${mandir}"
+
+do_install() {
+ oe_runmake -e install DESTDIR=${D} PREFIX=${prefix}
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb
new file mode 100644
index 000000000..9116b5f74
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/bdftopcf_1.1.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "bdftopcf is a tool to convert BDF fonts to PCF fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/bdftopcf/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=f9a35333adf75edd1eaef84bca65a490"
+DEPENDS = "libxfont"
+
+SRC_URI[md5sum] = "2a455d3c02390597feb9cefb3fe97a45"
+SRC_URI[sha256sum] = "4b4df05fc53f1e98993638d6f7e178d95b31745c4568cee407e167491fd311a2"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb
new file mode 100644
index 000000000..f40dec884
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/iceauth_1.0.7.bb
@@ -0,0 +1,16 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+
+DESCRIPTION = "A collection of utilities used to tweak and query the runtime configuration\
+of the X server."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=13f70acf3c27f5f834bbc954df775f8e"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += "libice"
+
+SRC_URI[md5sum] = "25dab02f8e40d5b71ce29a07dc901b8c"
+SRC_URI[sha256sum] = "1216af2dee99b318fcf8bf9a259915273bcb37a7f1e7859af4f15d0ebf6f3f0a"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
new file mode 100644
index 000000000..207285373
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg/0001-Makefile.am-Error-Fix.patch
@@ -0,0 +1,33 @@
+From 088bb4cef2c93bef312b076a8c7a3c798cbf2f19 Mon Sep 17 00:00:00 2001
+From: daicy <daicy@cn.fujitsu.com>
+Date: Tue, 8 Dec 2015 11:45:01 +0900
+Subject: [PATCH] Makefile.am: Error Fix
+
+Do not compile man dir since error always occur.
+ | sed: file filenames.sed line 3: unterminated `s' command
+ | make[2]: *** [sessreg.1] Error 1
+It is not a good way.But can remove it from PNBLACKLIST.
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index cddffd0..94f7048 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,7 +18,7 @@
+ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ # PERFORMANCE OF THIS SOFTWARE.
+
+-SUBDIRS = man
++#SUBDIRS = man
+ bin_PROGRAMS = sessreg
+
+ AM_CFLAGS = $(CWARNFLAGS) $(SESSREG_CFLAGS)
+--
+1.8.4.2
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
new file mode 100644
index 000000000..d2afa78f9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/sessreg_1.1.1.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "a simple program for managing utmp/wtmp entries"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d938a70c8280c265a1ccd2954365d185"
+SRC_URI += "file://0001-Makefile.am-Error-Fix.patch"
+SRC_URI[md5sum] = "e475167a892b589da23edf8edf8c942d"
+SRC_URI[sha256sum] = "78a76ae3f3f6a26547a34630d1b740f42344848b5fb6d7c9c7f7da255e35a6e1"
+
+CFLAGS_append_libc-musl = " -D_WTMPX_FILE=WTMP_FILE -D_PATH_WTMPX=_PATH_WTMP -D_UTMPX_FILE=UTMP_FILE -D_PATH_UTMPX=_PATH_UTMP "
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
new file mode 100644
index 000000000..840275387
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.1.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "A program to compile XKB keyboard description"
+
+DESCRIPTION = "The xkbcomp keymap compiler converts a description of an \
+XKB keymap into one of several output formats. The most common use for \
+xkbcomp is to create a compiled keymap file (.xkm extension) which can \
+be read directly by XKB-capable X servers or utilities."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=5feafdbe6dfe9e2bd32325be0cfc86f8"
+
+PE = "1"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "2c47a1b8e268df73963c4eb2316b1a89"
+SRC_URI[sha256sum] = "a9ddb3963f263ba13f0ea105d8c45a531832140530217cc559587bb94f02d3e1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb
new file mode 100644
index 000000000..41c804bb3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/twm_1.0.9.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "tiny window manager"
+DEPENDS += " libxext libxt libxmu bison-native"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4c6d42ef60e8166aa26606524c0b9586"
+
+SRC_URI[md5sum] = "59a6f076cdacb5f6945dac809bcf4906"
+SRC_URI[sha256sum] = "c575167ac33edf3bd1592f1bedfe0559debb128ed5fb4873c1278e3be166310a"
+
+FILES_${PN} += "${datadir}/X11/twm/system.twmrc"
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_PATH = "${bindir}/twm"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PRIORITY = "1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
new file mode 100644
index 000000000..cf970d5d6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xclock_1.0.5.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "analog / digital clock for X"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=857759ade8f2ddde5c7b32ef7356ea36"
+
+DEPENDS += " libxaw libxrender libxft libxkbfile libxt"
+
+SRC_URI[md5sum] = "eaf124bbc9d13e1a12a29faaa2ed3612"
+SRC_URI[sha256sum] = "53a9169e24f3814fbfcfee3ca0b98637840a3156ed7c7e36ae03940fabae4c9a"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
new file mode 100644
index 000000000..c74b29194
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xfontsel_1.0.5.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xfontsel provides point and click selection of X11 font names"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xfontsel/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+DEPENDS += " libxaw"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4669d2703c60d585cc29ba7e9a69bcb3"
+
+SRC_URI[md5sum] = "a40302b88c599b63e3d3d412e02871e6"
+SRC_URI[sha256sum] = "170d8550b96fb47b04db6181b947e6f6b8b97f4df5d691c351a278480cc931bf"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb
new file mode 100644
index 000000000..4949616dd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xgamma_1.0.6.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+
+DESCRIPTION = "xgamma allows X users to query and alter the gamma \
+correction of a monitor via the X video mode extension."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ac9801b8423fd7a7699ccbd45cf134d8"
+
+DEPENDS += "libxxf86vm"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "90b4305157c2b966d5180e2ee61262be"
+SRC_URI[sha256sum] = "0ef1c35b5c18b1b22317f455c8df13c0a471a8efad63c89c98ae3ce8c2b222d3"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb
new file mode 100644
index 000000000..a6fc9e755
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbevd_1.1.4.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "The xkbevd event daemon listens for specified XKB \
+events and executes requested commands if they occur. "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=208668fa9004709ba22c2b748140956c"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "c747faf1f78f5a5962419f8bdd066501"
+SRC_URI[sha256sum] = "2430a2e5302a4cb4a5530c1df8cb3721a149bbf8eb377a2898921a145197f96a"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb
new file mode 100644
index 000000000..26977bea5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbprint_1.0.4.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "A program to compile XKB keyboard description"
+DESCRIPTION = "xkbprint generates a printable or encapsulated PostScript \
+description of an XKB keyboard description."
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=20f28f97555b220fde762bc2a4406a8f"
+
+DEPENDS += "libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "3c25b40de530112c08bf7d229c5c6a28"
+SRC_URI[sha256sum] = "0b3faab8fefad03dfb7e866f634cf859822801de6b5fc6cf5e0a62857ed93e12"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
new file mode 100644
index 000000000..6a05e98e3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xkbutils_1.0.4.bb
@@ -0,0 +1,19 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "XKeyboard (XKB) extension to the X11 protocol"
+DESCRIPTION = " \
+xkbutils is a collection of small utilities utilizing the XKeyboard (XKB) \
+extension to the X11 protocol. \
+It includes: \
+ xkbbell - generate XKB bell events \
+ xkbvleds - display the state of LEDs on an XKB keyboard in a window \
+ xkbwatch - reports changes in the XKB keyboard state \
+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=64322fab5239f5c8d97cf6e0e14f1c62"
+
+DEPENDS += "libxaw libxkbfile"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "502b14843f610af977dffc6cbf2102d5"
+SRC_URI[sha256sum] = "d2a18ab90275e8bca028773c44264d2266dab70853db4321bdbc18da75148130"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb
new file mode 100644
index 000000000..723d4e211
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsatoms_1.1.2.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsatoms/"
+DESCRIPTION = "Xlsatoms lists the interned atoms defined on an X11 server"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "5dcb6e6c4b28c8d7aeb45257f5a72a7d"
+SRC_URI[sha256sum] = "47e5dc7c3dbda6db2cf8c00cedac1722835c1550aa21cfdbc9ba83906694dea4"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
new file mode 100644
index 000000000..42bda7ea3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsclients_1.1.4.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsclients/"
+DESCRIPTION = "xlsclients is a utility for listing information about the \
+client applications running on a X11 server."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=350e1b718a56df39cfe8ca9345ea4575"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "4fa92377e0ddc137cd226a7a87b6b29a"
+SRC_URI[sha256sum] = "773f2af49c7ea2c44fba4213bee64325875c1b3c9bc4bbcd8dac9261751809c1"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
new file mode 100644
index 000000000..76b76e4b3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xlsfonts_1.0.6.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "server font list displayer for X"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xlsfonts/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5ec74dd7ea4d10c4715a7c44f159a40b"
+
+SRC_URI[md5sum] = "5774fd4f518b3f338f2b28f270e04bfc"
+SRC_URI[sha256sum] = "89b80b3a030006ab6cef717be286c12f2477894b227158b1e6133274f6ebd368"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
new file mode 100644
index 000000000..d57742180
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmag_1.0.5.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xmag is a tool to magnify parts of the screen"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xmag/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3413fe6832380b44b69b172d2d1b2387"
+DEPENDS += " libxaw libxt"
+
+SRC_URI[md5sum] = "280b81cb09d1903aa868a058d90128ad"
+SRC_URI[sha256sum] = "4ace8795cf756be4ba387f30366045594ce26adda2f5ffe1f8e896825d0932c6"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
new file mode 100644
index 000000000..9960706d0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xmessage_1.0.4.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "Display a message or query in a window"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=73c7f696a728de728d7446cbca814cc5"
+
+DEPENDS += "libxaw"
+
+SRC_URI[md5sum] = "2dd5ae46fa18abc9331bc26250a25005"
+SRC_URI[sha256sum] = "bcdf4b461c439bb3ade6e1e41c47d6218b912da8e9396b7ad70856db2f95ab68"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb
new file mode 100644
index 000000000..85957e056
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrdb_1.1.0.bb
@@ -0,0 +1,9 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "X server resource database utility"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d1167c4f586bd41f0c62166db4384a69"
+
+DEPENDS += "libxmu"
+
+SRC_URI[md5sum] = "b54c7e3e53b4f332d41ed435433fbda0"
+SRC_URI[sha256sum] = "73827b6bbfc9d27ca287d95a1224c306d7053cd7b8156641698d7dc541ca565b"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
new file mode 100644
index 000000000..a2a4941e9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xrefresh_1.0.5.bb
@@ -0,0 +1,13 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xrefresh/"
+DESCRIPTION = "xrefresh - refresh all or part of an X screen"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=dad633bce9c3cd0e3abf72a16e0057cf"
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "a896382bc53ef3e149eaf9b13bc81d42"
+SRC_URI[sha256sum] = "3213671b0a8a9d1e8d1d5d9e3fd86842c894dd9acc1be2560eda50bc1fb791d6"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
new file mode 100644
index 000000000..b757329d9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetmode_1.0.0.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetmode/"
+DESCRIPTION = "xsetmode sets the mode of an XInput device to either absolute \
+or relative."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=9b37e00e7793b667cbc64f9df7b6d733"
+
+DEPENDS += "libxi"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "d074e79d380b031d2f60e4cd56538c93"
+SRC_URI[sha256sum] = "988b47cd922991c6e6adbce15dc386ac75690b61744b526c3af5a4eaa9afa0aa"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
new file mode 100644
index 000000000..2c79f27ca
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xsetroot_1.1.1.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xsetroot/"
+DESCRIPTION = "xsetroot is a root window parameter setting utility for X"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ea29dbee22324787c061f039e0529de"
+
+DEPENDS += "xbitmaps libxcursor"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "7211b31ec70631829ebae9460999aa0b"
+SRC_URI[sha256sum] = "ba215daaa78c415fce11b9e58c365d03bb602eaa5ea916578d76861a468cc3d9"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
new file mode 100644
index 000000000..99f70364b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xstdcmap_1.0.3.bb
@@ -0,0 +1,16 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xstdcmap"
+DESCRIPTION = "The xstdcmap utility can be used to selectively define \
+standard colormap properties."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b08d9e2e718ac83e6fe2b974d4b5fd8"
+
+DEPENDS += "libxmu"
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "eb5473acaef15a5db9b50df29c6a7f90"
+SRC_URI[sha256sum] = "f648e2b0cf16aa29856de998e2c7204be39dc1f8daeda9464d32288e0b580fc1"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
new file mode 100644
index 000000000..16f9b7882
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xterm_330.bb
@@ -0,0 +1,34 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+SUMMARY = "xterm is the standard terminal emulator for the X Window System"
+DEPENDS = "libxaw xproto xextproto libxext libxau libxinerama libxpm ncurses"
+
+LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=f02ab9ebda87b770ecf711dbb3784a33"
+
+SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+
+SRC_URI[md5sum] = "9a6db7974aa4ccbb50eabebf72618467"
+SRC_URI[sha256sum] = "7aeef9f29f6b95e09f481173c8c3053357bf5ffe162585647f690fd1707556df"
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
+
+EXTRA_OECONF = " --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+ FREETYPE_CONFIG=${STAGING_BINDIR_CROSS}/freetype-config \
+ --disable-imake \
+ --disable-rpath-hack \
+ --disable-setuid"
+
+B = "${S}"
+
+do_configure() {
+ gnu-configize --force
+ sed -e "s%/usr/contrib/X11R6%${STAGING_LIBDIR}%g" -i configure
+ oe_runconf
+}
+
+FILES_${PN} += "/usr/lib/X11"
+
+# busybox can supply resize too
+inherit update-alternatives
+
+ALTERNATIVE_${PN} = "resize"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
new file mode 100644
index 000000000..694bf57ac
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwd_1.0.6.bb
@@ -0,0 +1,11 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "xwd is a tool to capture an X window or screen to file"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwd/"
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c0cdb783e9a0198237371fdaa26a18bf"
+DEPENDS = "libxmu libxkbfile"
+
+SRC_URI[md5sum] = "6b5d48464c5f366e91efd08b62b12d94"
+SRC_URI[sha256sum] = "3bb396a2268d78de4b1c3e5237a85f7849d3434e87b3cd1f4d57eef614227d79"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
new file mode 100644
index 000000000..7cb550d27
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-app/xwud_1.0.5.bb
@@ -0,0 +1,12 @@
+require recipes-graphics/xorg-app/xorg-app-common.inc
+
+SUMMARY = "X.Org X11 X client utilities"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/app/xwud/"
+DESCRIPTION = "xwud allows X users to display in a window an image saved \
+in a specially formatted dump file, such as produced by xwd."
+SECTION = "x11/app"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=31e8892c80b7a0c1c5f37c8e8ae6d794"
+
+SRC_URI[md5sum] = "79972093bb0766fcd0223b2bd6d11932"
+SRC_URI[sha256sum] = "99997051f8a892313f22edf41dab45864e86e7062ee9012d5dbb6a40fc6b10a9"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb
new file mode 100644
index 000000000..8647f038e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xbitmaps_1.1.1.bb
@@ -0,0 +1,11 @@
+require xorg-data-common.inc
+
+SUMMARY = "Common X11 Bitmaps"
+LICENSE = "MIT"
+DEPENDS += "libxmu"
+RDEPENDS_${PN}-dev = ""
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=dbd075aaffa4a60a8d00696f2e4b9a8f"
+
+SRC_URI[md5sum] = "7444bbbd999b53bec6a60608a5301f4c"
+SRC_URI[sha256sum] = "3671b034356bbc4d32d052808cf646c940ec8b2d1913adac51b1453e41aa1e9d"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
new file mode 100644
index 000000000..cb6b5ac77
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-data/xorg-data-common.inc
@@ -0,0 +1,12 @@
+HOMEPAGE = "http://www.x.org"
+SECTION = "x11/data"
+LICENSE = "MIT-X"
+
+XORG_PN = "${BPN}"
+
+SRC_URI = "${XORG_MIRROR}/individual/data/${BP}.tar.bz2"
+S = "${WORKDIR}/${XORG_PN}-${PV}"
+
+inherit distro_features_check autotools pkgconfig
+
+REQUIRED_DISTRO_FEATURES = "x11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
new file mode 100644
index 000000000..f4b8b00de
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
@@ -0,0 +1,12 @@
+DESCRIPTION = "X documentation"
+HOMEPAGE = "http://www.x.org"
+SECTION = "x11/docs"
+LICENSE = "MIT-X"
+
+SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+INC_PR = "r1"
+
+inherit autotools pkgconfig
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
new file mode 100644
index 000000000..80f1f008b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
@@ -0,0 +1,12 @@
+require xorg-doc-common.inc
+PE = "1"
+PR = "${INC_PR}.0"
+
+DEPENDS += "util-macros"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=c8c6c808cd3c797a07b24e443af1c449"
+
+SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e"
+SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8"
+
+FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
new file mode 100644
index 000000000..906043947
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deviceinfo version="0.2">
+ <device>
+ <match key="info.capabilities" contains="input.touchpad">
+ <merge key="input.x11_driver" type="string">tslib</merge>
+ </match>
+ <match key="info.capabilities" contains="input.touchscreen">
+ <merge key="input.x11_driver" type="string">tslib</merge>
+ </match>
+ </device>
+</deviceinfo>
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules
new file mode 100644
index 000000000..ec130c257
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules
@@ -0,0 +1,5 @@
+# create /dev/input/touchscreenX symlink, tag xf86-input-tslib as driver
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib"
+SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib"
+
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
new file mode 100644
index 000000000..07754731d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
@@ -0,0 +1,20 @@
+xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code
+causing a double free crash on chvt or exit:
+
+ /* This should *really* be handled in drv->UnInit(dev) call instead, but
+ * if the driver forgets about it make sure we free it or at least crash
+ * with flying colors */
+ if (pInp->private)
+ xfree(pInp->private);
+Index: xf86-input-tslib-0.0.6/src/tslib.c
+===================================================================
+--- xf86-input-tslib-0.0.6.orig/src/tslib.c
++++ xf86-input-tslib-0.0.6/src/tslib.c
+@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu
+ xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
+ ts_close(priv->ts);
+ xfree(pInfo->private);
++ pInfo->private = NULL;
+ xf86DeleteInput(pInfo, 0);
+ }
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
new file mode 100644
index 000000000..d16b4a53c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch
@@ -0,0 +1,31 @@
+Fixes crash when a touchscreen event is received with xserver 1.12 and later:
+X: symbol lookup error: /usr/lib/xorg/modules/input/tslib_drv.so: undefined symbol: xf86XInputSetScreen
+
+Upstream-Status: Pending
+
+Taken from Gentoo:
+https://bugs.gentoo.org/show_bug.cgi?id=446432
+
+diff -ur xf86-input-tslib-0.0.6.orig/src/tslib.c xf86-input-tslib-0.0.6/src/tslib.c
+--- xf86-input-tslib-0.0.6.orig/src/tslib.c 2012-12-05 01:12:16.286597071 +0100
++++ xf86-input-tslib-0.0.6/src/tslib.c 2012-12-05 01:11:02.686598595 +0100
+@@ -75,6 +75,19 @@
+ #define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
+ #endif
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 13
++static void
++xf86XInputSetScreen(InputInfoPtr pInfo,
++ int screen_number,
++ int x,
++ int y)
++{
++ if (miPointerGetScreen(pInfo->dev) !=
++ screenInfo.screens[screen_number]) {
++ miPointerSetScreen(pInfo->dev, screen_number, x, y);
++ }
++}
++#endif
+
+ enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
new file mode 100644
index 000000000..6a6d5b92c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xf86-input-tslib-port-ABI-12-r48.patch
@@ -0,0 +1,196 @@
+Upstream-Status: Pending
+
+Taken from debian:
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627075
+
+Index: xf86-input-tslib-trunk/src/tslib.c
+===================================================================
+--- xf86-input-tslib-trunk/src/tslib.c (revision 48)
++++ xf86-input-tslib-trunk/src/tslib.c (working copy)
+@@ -69,6 +69,13 @@
+ #define DEFAULT_HEIGHT 240
+ #define DEFAULT_WIDTH 320
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
++#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL)
++#else
++#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
++#endif
++
++
+ enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
+
+ enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 };
+@@ -106,7 +113,7 @@
+ }
+
+ static Bool
+-ConvertProc( LocalDevicePtr local,
++ConvertProc( InputInfoPtr local,
+ int first,
+ int num,
+ int v0,
+@@ -135,7 +142,7 @@
+ return t;
+ }
+
+-static void ReadInput (LocalDevicePtr local)
++static void ReadInput (InputInfoPtr local)
+ {
+ struct ts_priv *priv = (struct ts_priv *) (local->private);
+ struct ts_sample samp;
+@@ -382,7 +389,11 @@
+ axiswidth - 1, /* max val */
+ axiswidth, /* resolution */
+ 0, /* min_res */
+- axiswidth); /* max_res */
++ axiswidth /* max_res */
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
++ ,Absolute
++#endif
++ );
+
+ InitValuatorAxisStruct(device, 1,
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+@@ -392,7 +403,11 @@
+ axisheight - 1, /* max val */
+ axisheight, /* resolution */
+ 0, /* min_res */
+- axisheight); /* max_res */
++ axisheight /* max_res */
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
++ ,Absolute
++#endif
++ );
+
+ if (InitProximityClassDeviceStruct (device) == FALSE) {
+ ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
+@@ -434,7 +449,7 @@
+ ErrorF("%s\n", __FUNCTION__);
+ xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
+ ts_close(priv->ts);
+- xfree(pInfo->private);
++ free(pInfo->private);
+ pInfo->private = NULL;
+ xf86DeleteInput(pInfo, 0);
+ }
+@@ -444,47 +459,57 @@
+ *
+ * called when the module subsection is found in XF86Config
+ */
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
++static int
++xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
++#else
+ static InputInfoPtr
+ xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags)
++#endif
+ {
+ struct ts_priv *priv;
+ char *s;
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+ InputInfoPtr pInfo;
++#endif
+
+- priv = xcalloc (1, sizeof (struct ts_priv));
++ priv = calloc (1, sizeof (struct ts_priv));
+ if (!priv)
+- return NULL;
++ return BadValue;
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+ if (!(pInfo = xf86AllocateInput(drv, 0))) {
+- xfree(priv);
+- return NULL;
++ free(priv);
++ return BadValue;
+ }
+
+ /* Initialise the InputInfoRec. */
+ pInfo->name = dev->identifier;
+- pInfo->type_name = XI_TOUCHSCREEN;
+ pInfo->flags =
+ XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE |
+ XI86_SEND_DRAG_EVENTS;
+- pInfo->device_control = xf86TslibControlProc;
+- pInfo->read_input = ReadInput;
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
+ pInfo->motion_history_proc = xf86GetMotionEvents;
+ pInfo->history_size = 0;
+ #endif
+- pInfo->control_proc = NULL;
++ pInfo->conf_idev = dev;
+ pInfo->close_proc = NULL;
+- pInfo->switch_mode = NULL;
+ pInfo->conversion_proc = ConvertProc;
+ pInfo->reverse_conversion_proc = NULL;
+- pInfo->dev = NULL;
+ pInfo->private_flags = 0;
+ pInfo->always_core_feedback = 0;
+- pInfo->conf_idev = dev;
++#endif
++
++ pInfo->type_name = XI_TOUCHSCREEN;
++ pInfo->control_proc = NULL;
++ pInfo->read_input = ReadInput;
++ pInfo->device_control = xf86TslibControlProc;
++ pInfo->switch_mode = NULL;
+ pInfo->private = priv;
++ pInfo->dev = NULL;
+
+ /* Collect the options, and process the common options. */
+- xf86CollectInputOptions(pInfo, NULL, NULL);
++ COLLECT_INPUT_OPTIONS(pInfo, NULL);
+ xf86ProcessCommonOptions(pInfo, pInfo->options);
+
+ priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
+@@ -510,23 +535,31 @@
+ priv->rotate = TSLIB_ROTATE_NONE;
+ }
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+ s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
++#else
++ s = xf86CheckStrOption(pInfo->options, "path", NULL);
++#endif
+ if (!s)
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+ s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
++#else
++ s = xf86CheckStrOption(pInfo->options, "Device", NULL);
++#endif
+
+ priv->ts = ts_open(s, 1);
+- xfree(s);
++ free(s);
+
+ if (!priv->ts) {
+ ErrorF("ts_open failed (device=%s)\n",s);
+ xf86DeleteInput(pInfo, 0);
+- return NULL;
++ return BadValue;
+ }
+
+ if (ts_config(priv->ts)) {
+ ErrorF("ts_config failed\n");
+ xf86DeleteInput(pInfo, 0);
+- return NULL;
++ return BadValue;
+ }
+
+ pInfo->fd = ts_fd(priv->ts);
+@@ -536,11 +569,13 @@
+ priv->state = BUTTON_EMULATION_OFF;
+ }
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+ /* Mark the device configured */
+ pInfo->flags |= XI86_CONFIGURED;
++#endif
+
+ /* Return the configured device */
+- return (pInfo);
++ return Success;
+ }
+
+ _X_EXPORT InputDriverRec TSLIB = {
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
new file mode 100644
index 000000000..a1f6ba8f9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
@@ -0,0 +1,34 @@
+From Grazvydas Ignotas
+
+At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib:
+
+Program received signal SIGSEGV, Segmentation fault.
+#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122
+#1 0x00062fa8 in Dispatch () at dispatch.c:439
+#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285
+
+This happens because ptrfeed field is not set in device structure from tslib.
+To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers).
+
+---
+diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c
+--- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200
++++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200
+@@ -103,8 +103,6 @@
+ static void
+ PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl)
+ {
+- ErrorF("%s\n", __FUNCTION__);
+- return;
+ }
+
+ static Bool
+@@ -406,6 +404,8 @@
+ xf86MotionHistoryAllocate(pInfo);
+ #endif
+
++ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc))
++ return !Success;
+ break;
+
+ case DEVICE_ON:
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
new file mode 100644
index 000000000..6a3689a2e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
@@ -0,0 +1,35 @@
+require recipes-graphics/xorg-driver/xorg-driver-input.inc
+SUMMARY = "X.Org X server -- tslib input driver"
+DEPENDS += "tslib"
+RRECOMMENDS_${PN} += "tslib-calibrate"
+RSUGGESTS_${PN} += "hal"
+
+# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING
+LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \
+ file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
+PR = "${INC_PR}.1"
+
+SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
+ file://double-free-crash.patch \
+ file://10-x11-input-tslib.fdi \
+ file://xserver-174-XGetPointerControl.patch \
+ file://99-xf86-input-tslib.rules \
+ file://xf86-input-tslib-port-ABI-12-r48.patch \
+ file://xf86-input-tslib-0.0.6-xf86XInputSetScreen.patch \
+"
+
+SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f"
+SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105"
+
+do_configure_prepend() {
+ rm -rf ${S}/m4/ || true
+}
+do_install_append() {
+ install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
+ install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
+ install -d ${D}${nonarch_base_libdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}${nonarch_base_libdir}/udev/rules.d/
+}
+
+FILES_${PN} += "${datadir}/hal ${nonarch_base_libdir}/udev"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb
new file mode 100644
index 000000000..ca0b48634
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-input-void_1.4.1.bb
@@ -0,0 +1,8 @@
+require recipes-graphics/xorg-driver/xorg-driver-input.inc
+SUMMARY = "X.Org X server -- void input driver"
+PR = "${INC_PR}.0"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4be6a915bfbf111cd88706fc6a6f141b"
+
+SRC_URI[md5sum] = "5227013b52b3ca85d6b7ec8adea988d4"
+SRC_URI[sha256sum] = "f96e4f0a622821bf43a74bd419f2a18423343996c9d243c7e1430ba2d142339c"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb
new file mode 100644
index 000000000..d409a1863
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-ati_7.8.0.bb
@@ -0,0 +1,23 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=aabff1606551f9461ccf567739af63dc"
+
+SUMMARY = "X.Org X server -- ATI Radeon video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for ATI Radeon graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
+ virtual/libgl xineramaproto libpciaccess"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "f34d04a755e761e03b459155fa3ddcbb"
+SRC_URI[sha256sum] = "401f5de772928f3dc4ce43a885adb0a47a2f61aa4a9e45d2ab3d184136a9d6fa"
+
+EXTRA_OECONF += "--disable-glamor"
+
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+RRECOMMENDS_${PN} += "linux-firmware-radeon"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
new file mode 100644
index 000000000..ceae6dfba
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga/checkfile.patch
@@ -0,0 +1,68 @@
+Upstream-Status: Submitted [https://bugs.freedesktop.org/show_bug.cgi?id=57606]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From c9014a8f3c9b691b5aa7b1f3ec66cf7c84b8211b Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Thu, 29 Nov 2012 11:00:43 +0000
+Subject: [PATCH] build: dont use AC_CHECK_FILE when enabling DRI
+
+Automatically enabling or disabling a feature based on installed files isn't
+deterministic, and AC_CHECK_FILE returns an error when cross-compiling.
+
+Fix this by enabling DRI by default, and removing the explicit file checks as
+pkg-config is good enough.
+
+(#57606)
+
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+---
+ configure.ac | 25 ++-----------------------
+ 1 file changed, 2 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index fca1a9c..d2aa2ed 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,9 +55,9 @@ AC_ARG_WITH(xorg-module-dir,
+ [moduledir="$libdir/xorg/modules"])
+
+ AC_ARG_ENABLE(dri, AS_HELP_STRING([--disable-dri],
+- [Disable DRI support [[default=auto]]]),
++ [Disable DRI support [[default=enabled]]]),
+ [DRI="$enableval"],
+- [DRI=auto])
++ [DRI=yes])
+ AC_ARG_ENABLE(exa,
+ AS_HELP_STRING([--disable-exa],
+ [Disable EXA support [[default=enabled]]]),
+@@ -76,27 +76,6 @@ sdkdir=`$PKG_CONFIG --variable=sdkdir xorg-server`
+
+ # Checks for libraries.
+
+-if test "x$DRI" != xno; then
+- AC_CHECK_FILE([${sdkdir}/dri.h],
+- [have_dri_h="yes"], [have_dri_h="no"])
+- AC_CHECK_FILE([${sdkdir}/sarea.h],
+- [have_sarea_h="yes"], [have_sarea_h="no"])
+- AC_CHECK_FILE([${sdkdir}/dristruct.h],
+- [have_dristruct_h="yes"], [have_dristruct_h="no"])
+-fi
+-
+-AC_MSG_CHECKING([whether to include DRI support])
+-if test "x$DRI" = xauto; then
+- if test "x$have_dri_h" = xyes && \
+- test "x$have_sarea_h" = xyes && \
+- test "x$have_dristruct_h" = xyes; then
+- DRI="yes"
+- else
+- DRI="no"
+- fi
+-fi
+-AC_MSG_RESULT([$DRI])
+-
+ AM_CONDITIONAL(DRI, test "x$DRI" = xyes)
+ if test "x$DRI" = xyes; then
+ PKG_CHECK_MODULES(DRI, [libdrm >= 2.0 xf86driproto])
+--
+1.7.10.4
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
new file mode 100644
index 000000000..cd680597c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-mga_1.6.5.bb
@@ -0,0 +1,21 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+SUMMARY = "X.Org X server -- Matrox MGA display driver"
+
+DESCRIPTION = "mga is an Xorg driver for Matrox video cards"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=bc1395d2cd32dfc5d6c57d2d8f83d3fc"
+
+SRC_URI += "file://checkfile.patch"
+
+DEPENDS += "virtual/libx11 libpciaccess"
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+SRC_URI[md5sum] = "3ee2549247e01de3e7bce52c27483118"
+SRC_URI[sha256sum] = "b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422"
+
+PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri', '', d)}"
+PACKAGECONFIG[dri] = "--enable-dri,--disable-dri,drm xf86driproto,xserver-xorg-extension-dri"
+
+RDEPENDS_${PN} = "xserver-xorg-module-exa"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
new file mode 100644
index 000000000..2746821cd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-driver/xf86-video-nouveau_1.0.15.bb
@@ -0,0 +1,20 @@
+require recipes-graphics/xorg-driver/xorg-driver-video.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+
+SUMMARY = "X.Org X server -- nouveau video driver"
+
+DESCRIPTION = "Open-source X.org graphics driver for NVIDIA graphics"
+
+DEPENDS += "virtual/libx11 libxvmc drm xf86driproto glproto \
+ virtual/libgl xineramaproto libpciaccess"
+RDEPENDS_${PN} += "xserver-xorg-module-exa"
+
+inherit distro_features_check
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+SRC_URI[md5sum] = "717203cb87029cddcbccf7398f9ad8c3"
+SRC_URI[sha256sum] = "aede10fd395610a328697adca3434fb14e9afbd79911d6c8545cfa2c0e541d4c"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
new file mode 100644
index 000000000..29229bb51
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-100dpi_1.0.3.bb
@@ -0,0 +1,18 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "Adobe 100 DPI fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/adobe-100dpi/"
+SECTION = "x11/font"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=5dfa0fdf45473b4ca0acf37d854df10e"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
+RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS_${PN}_class-native = "font-util-native"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "1347c3031b74c9e91dc4dfa53b12f143"
+SRC_URI[sha256sum] = "b2c08433eab5cb202470aa9f779efefce8d9cab2534f34f3aa4a31d05671c054"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
new file mode 100644
index 000000000..898850bbc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-adobe-utopia-100dpi_1.0.4.bb
@@ -0,0 +1,18 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "Adobe Utopia 100 DPI fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/adobe-utopia-100dpi/"
+SECTION = "x11/font"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=fa13e704b7241f60ef9105cc041b9732"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
+RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS_${PN}_class-native = "font-util-native"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "66fb6de561648a6dce2755621d6aea17"
+SRC_URI[sha256sum] = "d16f5e3f227cc6dd07a160a71f443559682dbc35f1c056a5385085aaec4fada5"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
new file mode 100644
index 000000000..4976e527f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-100dpi_1.0.3.bb
@@ -0,0 +1,18 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "Bigelow & Holmes 100 DPI fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/bh-100dpi/"
+SECTION = "x11/font"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=cffd5e9c4b61b3d74166ca74b99e460e"
+
+DEPENDS += "util-macros-native font-util-native bdftopcf-native font-util"
+RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS_${PN}_class-native = "font-util-native"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "9f11ade089d689b9d59e0f47d26f39cd"
+SRC_URI[sha256sum] = "23c07162708e4b79eb33095c8bfa62c783717a9431254bbf44863734ea239481"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
new file mode 100644
index 000000000..6e0b33ca3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bh-lucidatypewriter-100dpi_1.0.3.bb
@@ -0,0 +1,18 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "Bigelow & Holmes Lucida Typewriter 100 DPI fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/bh-lucidatypewriter-100dpi/"
+SECTION = "x11/font"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0d221a9cd144806cb469735cc4775939"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
+RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS_${PN}_class-native = "font-util-native"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "c8b73a53dcefe3e8d3907d3500e484a9"
+SRC_URI[sha256sum] = "62a83363c2536095fda49d260d21e0847675676e4e3415054064cbdffa641fbb"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
new file mode 100644
index 000000000..e8cfb615a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-bitstream-100dpi_1.0.3.bb
@@ -0,0 +1,18 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "Bitstream 100 DPI fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/bitstream-100dpi/"
+SECTION = "x11/font"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=30330812324ff9d9bd9ea645bb944427"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+RDEPENDS_${PN} = "encodings font-util"
+RDEPENDS_${PN}_class-native = "font-util-native"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "6b223a54b15ecbd5a1bc52312ad790d8"
+SRC_URI[sha256sum] = "ebe0d7444e3d7c8da7642055ac2206f0190ee060700d99cd876f8fc9964cb6ce"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
new file mode 100644
index 000000000..d425ce515
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-cursor-misc_1.0.3.bb
@@ -0,0 +1,17 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "X.org cursor fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/cursor-misc/"
+SECTION = "x11/font"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=8b32ccac3ad25e75e68478deb7780265"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native"
+RDEPENDS_${PN} = "encodings font-util"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "3e0069d4f178a399cffe56daa95c2b63"
+SRC_URI[sha256sum] = "17363eb35eece2e08144da5f060c70103b59d0972b4f4d77fd84c9a7a2dba635"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
new file mode 100644
index 000000000..e4cd90a7a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/font-misc-misc_1.1.2.bb
@@ -0,0 +1,17 @@
+require recipes-graphics/xorg-font/xorg-font-common.inc
+
+SUMMARY = "X.org miscellaneous fonts"
+HOMEPAGE = "http://cgit.freedesktop.org/xorg/font/misc-misc/"
+SECTION = "x11/font"
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=200c507f595ee97008c7c5c3e94ab9a8"
+
+DEPENDS = "util-macros-native font-util-native bdftopcf-native font-util"
+RDEPENDS_${PN} = "encodings font-util"
+
+inherit distro_features_check
+# depends on bdftopcf-native -> virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "c88eb44b3b903d79fb44b860a213e623"
+SRC_URI[sha256sum] = "b8e77940e4e1769dc47ef1805918d8c9be37c708735832a07204258bacc11794"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
new file mode 100644
index 000000000..45e3f7b59
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-font/xorg-fonts-100dpi.bb
@@ -0,0 +1,14 @@
+SUMMARY = "Xorg 100 DPI font set"
+LICENSE = "Custom"
+
+inherit packagegroup distro_features_check
+# rdepends on font recipes with this restriction
+REQUIRED_DISTRO_FEATURES = "x11"
+
+RDEPENDS_${PN} = "\
+ font-adobe-100dpi \
+ font-adobe-utopia-100dpi \
+ font-bh-100dpi \
+ font-bh-lucidatypewriter-100dpi \
+ font-bitstream-100dpi \
+"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
new file mode 100644
index 000000000..f9f4a6382
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
@@ -0,0 +1,55 @@
+diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac
+--- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100
++++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100
+@@ -50,4 +50,5 @@
+
+ AC_OUTPUT([Makefile
+ src/Makefile
++ src/image/Makefile
+ lbxutil.pc])
+diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am
+--- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100
++++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100
+@@ -0,0 +1,15 @@
++# evil hack
++CFLAGS=$(CFLAGS_FOR_BUILD)
++CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
++LDFLAGS=$(LDFLAGS_FOR_BUILD)
++
++CC=$(CC_FOR_BUILD)
++LIBTOOL = @LIBTOOL@ --tag=CC
++
++noinst_PROGRAMS = mkg3states
++
++mkg3states_SOURCES = \
++ mkg3states.c
++
++mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD)
++mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am
+--- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100
++++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100
+@@ -3,10 +3,7 @@
+ AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS)
+ INCLUDES = -I$(top_srcdir)/include
+
+-noinst_PROGRAMS = mkg3states
+-
+-mkg3states_SOURCES = \
+- $(srcdir)/image/mkg3states.c
++SUBDIRS = image
+
+ liblbxutil_la_SOURCES = \
+ $(srcdir)/lbx_zlib/reqstats.h \
+@@ -38,9 +35,8 @@
+
+ $(srcdir)/image/dfaxg42d.c: g3states.h
+
+-g3states.h: mkg3states
+- -rm -f g3states.h
+- $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
++g3states.h: image/mkg3states
++ $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
+
+ liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
new file mode 100644
index 000000000..7d26d141f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
@@ -0,0 +1,14 @@
+require recipes-graphics/xorg-lib/xorg-lib-common.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907"
+
+SUMMARY = "XFIXES Extension"
+DEPENDS += " xextproto xproto zlib"
+PE = "1"
+PR = "r11"
+
+SRC_URI += "file://mkg3states-1.1.patch"
+SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1"
+SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae"
+
+export CC_FOR_BUILD = "gcc"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb
new file mode 100644
index 000000000..8ba5ac354
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.13.bb
@@ -0,0 +1,28 @@
+require recipes-graphics/xorg-lib/xorg-lib-common.inc
+SUMMARY = "X Athena Widget Set"
+DEPENDS += "xproto virtual/libx11 libxext xextproto libxt libxmu libxpm libxau xmlto-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=1c65719d42900bb81b83e8293c20a364"
+
+PE = "1"
+PR = "r2"
+
+SRC_URI[md5sum] = "e5e06eb14a608b58746bdd1c0bd7b8e3"
+SRC_URI[sha256sum] = "8ef8067312571292ccc2bbe94c41109dcf022ea5a4ec71656a83d8cce9edb0cd"
+
+do_install_append () {
+ ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6
+ ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7
+ ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so
+}
+
+PACKAGES =+ "libxaw6 libxaw7 libxaw8"
+
+FILES_libxaw6 = "${libdir}/libXaw*.so.6*"
+FILES_libxaw7 = "${libdir}/libXaw*.so.7*"
+FILES_libxaw8 = "${libdir}/libXaw8.so.8*"
+
+# Avoid dependency on libxaw as it is not build
+RDEPENDS_${PN}-dev = ""
+
+XORG_PN = "libXaw"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
new file mode 100644
index 000000000..103da1f08
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
@@ -0,0 +1,10 @@
+require recipes-graphics/xorg-lib/xorg-lib-common.inc
+SUMMARY = "X11 keyboard UI presentation library"
+LICENSE = "SGI-1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
+DEPENDS += "virtual/libx11 libxt libxkbfile"
+PE = "1"
+PR = "r10"
+
+SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1"
+SRC_URI[sha256sum] = "20c23101d63234ee5f6d696dfa069b29c6c58e39eff433bcd7705b50b3ffa214"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
new file mode 100644
index 000000000..2bfe85b28
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-COPYING-add-GPLv2-license-file.patch
@@ -0,0 +1,362 @@
+From f919725918fad2b32504f89a28310fcae4ab0406 Mon Sep 17 00:00:00 2001
+From: Yu Ke <ke.yu@intel.com>
+Date: Wed, 11 Apr 2012 14:26:16 +0200
+Subject: [PATCH] COPYING: add GPLv2 license file
+
+this is a local file recipe and the license file is missing.In order
+to pass the license checksum checking, the license file is needed. So
+this patch add the GPLv2 license file.
+
+Signed-off-by: Yu Ke <ke.yu@intel.com>
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ COPYING | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 339 insertions(+)
+ create mode 100644 COPYING
+
+diff --git a/COPYING b/COPYING
+new file mode 100644
+index 0000000..d511905
+--- /dev/null
++++ b/COPYING
+@@ -0,0 +1,339 @@
++ GNU GENERAL PUBLIC LICENSE
++ Version 2, June 1991
++
++ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
++ Everyone is permitted to copy and distribute verbatim copies
++ of this license document, but changing it is not allowed.
++
++ Preamble
++
++ The licenses for most software are designed to take away your
++freedom to share and change it. By contrast, the GNU General Public
++License is intended to guarantee your freedom to share and change free
++software--to make sure the software is free for all its users. This
++General Public License applies to most of the Free Software
++Foundation's software and to any other program whose authors commit to
++using it. (Some other Free Software Foundation software is covered by
++the GNU Lesser General Public License instead.) You can apply it to
++your programs, too.
++
++ When we speak of free software, we are referring to freedom, not
++price. Our General Public Licenses are designed to make sure that you
++have the freedom to distribute copies of free software (and charge for
++this service if you wish), that you receive source code or can get it
++if you want it, that you can change the software or use pieces of it
++in new free programs; and that you know you can do these things.
++
++ To protect your rights, we need to make restrictions that forbid
++anyone to deny you these rights or to ask you to surrender the rights.
++These restrictions translate to certain responsibilities for you if you
++distribute copies of the software, or if you modify it.
++
++ For example, if you distribute copies of such a program, whether
++gratis or for a fee, you must give the recipients all the rights that
++you have. You must make sure that they, too, receive or can get the
++source code. And you must show them these terms so they know their
++rights.
++
++ We protect your rights with two steps: (1) copyright the software, and
++(2) offer you this license which gives you legal permission to copy,
++distribute and/or modify the software.
++
++ Also, for each author's protection and ours, we want to make certain
++that everyone understands that there is no warranty for this free
++software. If the software is modified by someone else and passed on, we
++want its recipients to know that what they have is not the original, so
++that any problems introduced by others will not reflect on the original
++authors' reputations.
++
++ Finally, any free program is threatened constantly by software
++patents. We wish to avoid the danger that redistributors of a free
++program will individually obtain patent licenses, in effect making the
++program proprietary. To prevent this, we have made it clear that any
++patent must be licensed for everyone's free use or not licensed at all.
++
++ The precise terms and conditions for copying, distribution and
++modification follow.
++
++ GNU GENERAL PUBLIC LICENSE
++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
++
++ 0. This License applies to any program or other work which contains
++a notice placed by the copyright holder saying it may be distributed
++under the terms of this General Public License. The "Program", below,
++refers to any such program or work, and a "work based on the Program"
++means either the Program or any derivative work under copyright law:
++that is to say, a work containing the Program or a portion of it,
++either verbatim or with modifications and/or translated into another
++language. (Hereinafter, translation is included without limitation in
++the term "modification".) Each licensee is addressed as "you".
++
++Activities other than copying, distribution and modification are not
++covered by this License; they are outside its scope. The act of
++running the Program is not restricted, and the output from the Program
++is covered only if its contents constitute a work based on the
++Program (independent of having been made by running the Program).
++Whether that is true depends on what the Program does.
++
++ 1. You may copy and distribute verbatim copies of the Program's
++source code as you receive it, in any medium, provided that you
++conspicuously and appropriately publish on each copy an appropriate
++copyright notice and disclaimer of warranty; keep intact all the
++notices that refer to this License and to the absence of any warranty;
++and give any other recipients of the Program a copy of this License
++along with the Program.
++
++You may charge a fee for the physical act of transferring a copy, and
++you may at your option offer warranty protection in exchange for a fee.
++
++ 2. You may modify your copy or copies of the Program or any portion
++of it, thus forming a work based on the Program, and copy and
++distribute such modifications or work under the terms of Section 1
++above, provided that you also meet all of these conditions:
++
++ a) You must cause the modified files to carry prominent notices
++ stating that you changed the files and the date of any change.
++
++ b) You must cause any work that you distribute or publish, that in
++ whole or in part contains or is derived from the Program or any
++ part thereof, to be licensed as a whole at no charge to all third
++ parties under the terms of this License.
++
++ c) If the modified program normally reads commands interactively
++ when run, you must cause it, when started running for such
++ interactive use in the most ordinary way, to print or display an
++ announcement including an appropriate copyright notice and a
++ notice that there is no warranty (or else, saying that you provide
++ a warranty) and that users may redistribute the program under
++ these conditions, and telling the user how to view a copy of this
++ License. (Exception: if the Program itself is interactive but
++ does not normally print such an announcement, your work based on
++ the Program is not required to print an announcement.)
++
++These requirements apply to the modified work as a whole. If
++identifiable sections of that work are not derived from the Program,
++and can be reasonably considered independent and separate works in
++themselves, then this License, and its terms, do not apply to those
++sections when you distribute them as separate works. But when you
++distribute the same sections as part of a whole which is a work based
++on the Program, the distribution of the whole must be on the terms of
++this License, whose permissions for other licensees extend to the
++entire whole, and thus to each and every part regardless of who wrote it.
++
++Thus, it is not the intent of this section to claim rights or contest
++your rights to work written entirely by you; rather, the intent is to
++exercise the right to control the distribution of derivative or
++collective works based on the Program.
++
++In addition, mere aggregation of another work not based on the Program
++with the Program (or with a work based on the Program) on a volume of
++a storage or distribution medium does not bring the other work under
++the scope of this License.
++
++ 3. You may copy and distribute the Program (or a work based on it,
++under Section 2) in object code or executable form under the terms of
++Sections 1 and 2 above provided that you also do one of the following:
++
++ a) Accompany it with the complete corresponding machine-readable
++ source code, which must be distributed under the terms of Sections
++ 1 and 2 above on a medium customarily used for software interchange; or,
++
++ b) Accompany it with a written offer, valid for at least three
++ years, to give any third party, for a charge no more than your
++ cost of physically performing source distribution, a complete
++ machine-readable copy of the corresponding source code, to be
++ distributed under the terms of Sections 1 and 2 above on a medium
++ customarily used for software interchange; or,
++
++ c) Accompany it with the information you received as to the offer
++ to distribute corresponding source code. (This alternative is
++ allowed only for noncommercial distribution and only if you
++ received the program in object code or executable form with such
++ an offer, in accord with Subsection b above.)
++
++The source code for a work means the preferred form of the work for
++making modifications to it. For an executable work, complete source
++code means all the source code for all modules it contains, plus any
++associated interface definition files, plus the scripts used to
++control compilation and installation of the executable. However, as a
++special exception, the source code distributed need not include
++anything that is normally distributed (in either source or binary
++form) with the major components (compiler, kernel, and so on) of the
++operating system on which the executable runs, unless that component
++itself accompanies the executable.
++
++If distribution of executable or object code is made by offering
++access to copy from a designated place, then offering equivalent
++access to copy the source code from the same place counts as
++distribution of the source code, even though third parties are not
++compelled to copy the source along with the object code.
++
++ 4. You may not copy, modify, sublicense, or distribute the Program
++except as expressly provided under this License. Any attempt
++otherwise to copy, modify, sublicense or distribute the Program is
++void, and will automatically terminate your rights under this License.
++However, parties who have received copies, or rights, from you under
++this License will not have their licenses terminated so long as such
++parties remain in full compliance.
++
++ 5. You are not required to accept this License, since you have not
++signed it. However, nothing else grants you permission to modify or
++distribute the Program or its derivative works. These actions are
++prohibited by law if you do not accept this License. Therefore, by
++modifying or distributing the Program (or any work based on the
++Program), you indicate your acceptance of this License to do so, and
++all its terms and conditions for copying, distributing or modifying
++the Program or works based on it.
++
++ 6. Each time you redistribute the Program (or any work based on the
++Program), the recipient automatically receives a license from the
++original licensor to copy, distribute or modify the Program subject to
++these terms and conditions. You may not impose any further
++restrictions on the recipients' exercise of the rights granted herein.
++You are not responsible for enforcing compliance by third parties to
++this License.
++
++ 7. If, as a consequence of a court judgment or allegation of patent
++infringement or for any other reason (not limited to patent issues),
++conditions are imposed on you (whether by court order, agreement or
++otherwise) that contradict the conditions of this License, they do not
++excuse you from the conditions of this License. If you cannot
++distribute so as to satisfy simultaneously your obligations under this
++License and any other pertinent obligations, then as a consequence you
++may not distribute the Program at all. For example, if a patent
++license would not permit royalty-free redistribution of the Program by
++all those who receive copies directly or indirectly through you, then
++the only way you could satisfy both it and this License would be to
++refrain entirely from distribution of the Program.
++
++If any portion of this section is held invalid or unenforceable under
++any particular circumstance, the balance of the section is intended to
++apply and the section as a whole is intended to apply in other
++circumstances.
++
++It is not the purpose of this section to induce you to infringe any
++patents or other property right claims or to contest validity of any
++such claims; this section has the sole purpose of protecting the
++integrity of the free software distribution system, which is
++implemented by public license practices. Many people have made
++generous contributions to the wide range of software distributed
++through that system in reliance on consistent application of that
++system; it is up to the author/donor to decide if he or she is willing
++to distribute software through any other system and a licensee cannot
++impose that choice.
++
++This section is intended to make thoroughly clear what is believed to
++be a consequence of the rest of this License.
++
++ 8. If the distribution and/or use of the Program is restricted in
++certain countries either by patents or by copyrighted interfaces, the
++original copyright holder who places the Program under this License
++may add an explicit geographical distribution limitation excluding
++those countries, so that distribution is permitted only in or among
++countries not thus excluded. In such case, this License incorporates
++the limitation as if written in the body of this License.
++
++ 9. The Free Software Foundation may publish revised and/or new versions
++of the General Public License from time to time. Such new versions will
++be similar in spirit to the present version, but may differ in detail to
++address new problems or concerns.
++
++Each version is given a distinguishing version number. If the Program
++specifies a version number of this License which applies to it and "any
++later version", you have the option of following the terms and conditions
++either of that version or of any later version published by the Free
++Software Foundation. If the Program does not specify a version number of
++this License, you may choose any version ever published by the Free Software
++Foundation.
++
++ 10. If you wish to incorporate parts of the Program into other free
++programs whose distribution conditions are different, write to the author
++to ask for permission. For software which is copyrighted by the Free
++Software Foundation, write to the Free Software Foundation; we sometimes
++make exceptions for this. Our decision will be guided by the two goals
++of preserving the free status of all derivatives of our free software and
++of promoting the sharing and reuse of software generally.
++
++ NO WARRANTY
++
++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
++REPAIR OR CORRECTION.
++
++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
++POSSIBILITY OF SUCH DAMAGES.
++
++ END OF TERMS AND CONDITIONS
++
++ How to Apply These Terms to Your New Programs
++
++ If you develop a new program, and you want it to be of the greatest
++possible use to the public, the best way to achieve this is to make it
++free software which everyone can redistribute and change under these terms.
++
++ To do so, attach the following notices to the program. It is safest
++to attach them to the start of each source file to most effectively
++convey the exclusion of warranty; and each file should have at least
++the "copyright" line and a pointer to where the full notice is found.
++
++ <one line to give the program's name and a brief idea of what it does.>
++ Copyright (C) <year> <name of author>
++
++ This program is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++
++ You should have received a copy of the GNU General Public License along
++ with this program; if not, write to the Free Software Foundation, Inc.,
++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++
++Also add information on how to contact you by electronic and paper mail.
++
++If the program is interactive, make it output a short notice like this
++when it starts in an interactive mode:
++
++ Gnomovision version 69, Copyright (C) year name of author
++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
++ This is free software, and you are welcome to redistribute it
++ under certain conditions; type `show c' for details.
++
++The hypothetical commands `show w' and `show c' should show the appropriate
++parts of the General Public License. Of course, the commands you use may
++be called something other than `show w' and `show c'; they could even be
++mouse-clicks or menu items--whatever suits your program.
++
++You should also get your employer (if you work as a programmer) or your
++school, if any, to sign a "copyright disclaimer" for the program, if
++necessary. Here is a sample; alter the names:
++
++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
++ `Gnomovision' (which makes passes at compilers) written by James Hacker.
++
++ <signature of Ty Coon>, 1 April 1989
++ Ty Coon, President of Vice
++
++This General Public License does not permit incorporating your program into
++proprietary programs. If your program is a subroutine library, you may
++consider it more useful to permit linking proprietary applications with the
++library. If this is what you want to do, use the GNU Lesser General
++Public License instead of this License.
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
new file mode 100644
index 000000000..0ed12d106
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0001-Don-t-install-Xsession-or-Xserver.patch
@@ -0,0 +1,28 @@
+From 1002a1137b140dad3319bf3206fec5b6c6b74fea Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Thu, 10 Nov 2016 14:33:05 +0200
+Subject: [PATCH] Don't install Xsession or Xserver
+
+The goal is to use Xsession and Xserver from xserver-nodm-init.
+Xsession scripts and xserver-common from this recipe will still
+be used as before.
+
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+---
+ Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index caa5de1..9428205 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,8 +20,6 @@ install-program:
+ install -m 755 run-calibrate.sh $(DESTDIR)$(PREFIX)/bin/run-calibrate.sh
+ install -m 644 X11/Xdefaults $(DESTDIR)/etc/X11/Xdefaults
+ install -m 755 X11/Xinit $(DESTDIR)/etc/X11/Xinit
+- install -m 755 X11/Xserver $(DESTDIR)/etc/X11/Xserver
+- install -m 755 X11/Xsession $(DESTDIR)/etc/X11/Xsession
+ install -m 755 X11/xserver-common $(DESTDIR)/etc/X11/xserver-common
+ install -m 755 X11/functions $(DESTDIR)/etc/X11/functions
+ install -d $(DESTDIR)/etc/X11/xmodmap
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
new file mode 100644
index 000000000..0be3fa5b3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0002-add-setdpi-Xinit.d-script.patch
@@ -0,0 +1,110 @@
+From 3b5f431a370054bfc090796e8d55de8c8cea46f4 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:28:45 +0200
+Subject: [PATCH] add setdpi Xinit.d script
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/Xinit.d/50setdpi | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 92 insertions(+)
+ create mode 100644 X11/Xinit.d/50setdpi
+
+diff --git a/X11/Xinit.d/50setdpi b/X11/Xinit.d/50setdpi
+new file mode 100644
+index 0000000..04a2edd
+--- /dev/null
++++ b/X11/Xinit.d/50setdpi
+@@ -0,0 +1,92 @@
++#! /bin/sh
++#
++# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
++# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
++#
++# Filename: setDPI.sh
++# Date: 09-Apr-06
++
++# This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size
++# setting of 7 can be used on all machines.
++
++
++XDEFAULTS="/etc/X11/Xdefaults"
++
++
++
++set_dpi() {
++
++ CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`"
++
++ if test "$CURRENT_SETTING" != "$1"
++ then
++ echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen"
++
++ if grep -q "Xft.dpi" "$XDEFAULTS"
++ then
++ cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_"
++ mv "${XDEFAULTS}_" "${XDEFAULTS}"
++ else
++ echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS"
++ fi
++ else
++ echo "Your $SCREEN_DPI DPI screen is already configured."
++ fi
++}
++
++set_rxvt_font() {
++
++ CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`"
++
++ if test "$1" -gt 100
++ then
++
++ # Configure the rxvt font-size for your screen here:
++ test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16
++
++ if test -z "$RXVT_FONT_SIZE"
++ then
++ echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!"
++ echo "Defaulting to size 9"
++ RXVT_FONT_SIZE=9
++ fi
++
++ if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE"
++ then
++ echo "Using a rxvt font-size of $RXVT_FONT_SIZE"
++ cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_
++ mv ${XDEFAULTS}_ ${XDEFAULTS}
++ else
++ echo "The rxvt font-size is already configured"
++ fi
++ fi
++}
++
++if test -z "$DISPLAY"
++then
++ echo "DISPLAY is not set, aborting..."
++ exit 0
++fi
++
++SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`"
++
++if test -z "$SCREEN_DPI"
++then
++ echo "WARNING: Couldn't read your screens DPI, defaulting to 100"
++ SCREEN_DPI=100
++fi
++
++# Configure your screen here:
++test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160
++test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100
++
++
++if test -z "$SET_SCREEN_DPI"
++then
++ echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!"
++ echo "Using 100 DPI"
++ SET_SCREEN_DPI=100
++fi
++
++set_dpi "$SET_SCREEN_DPI"
++set_rxvt_font "$SCREEN_DPI"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
new file mode 100644
index 000000000..53a283fea
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0006-add-support-for-etc-X11-xserver-system.patch
@@ -0,0 +1,24 @@
+From b60e364c35d56a2a3164254d98c9931bfa3feed4 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:34:43 +0200
+Subject: [PATCH] add support for /etc/X11/xserver-system
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index 52655cb..bb7c2ff 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -204,3 +204,8 @@ fi
+ if [ "$XSERVER" != "Xorg" ] ; then
+ ARGS="$ARGS $MOUSE $KDRIVEARGS"
+ fi
++
++# let a local script modify the variables
++if [ -e /etc/X11/xserver-system ] ; then
++ . /etc/X11/xserver-system
++fi
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
new file mode 100644
index 000000000..94a35407a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0007-use-own-functions-file-instead-etc-init.d-functions.patch
@@ -0,0 +1,85 @@
+From 492c65a32a4ae44c34580ed8ac5d3f50a155cfef Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:36:02 +0200
+Subject: [PATCH] use own functions file instead /etc/init.d/functions
+
+* so we don't have to depend on initscripts
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ Makefile | 1 +
+ X11/Xinit.d/11zaurus | 2 +-
+ X11/Xinit.d/12keymap | 2 +-
+ X11/functions | 11 +++++++++++
+ X11/xserver-common | 2 +-
+ 5 files changed, 15 insertions(+), 3 deletions(-)
+ create mode 100644 X11/functions
+
+diff --git a/Makefile b/Makefile
+index e2d9af9..caa5de1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,6 +23,7 @@ install-program:
+ install -m 755 X11/Xserver $(DESTDIR)/etc/X11/Xserver
+ install -m 755 X11/Xsession $(DESTDIR)/etc/X11/Xsession
+ install -m 755 X11/xserver-common $(DESTDIR)/etc/X11/xserver-common
++ install -m 755 X11/functions $(DESTDIR)/etc/X11/functions
+ install -d $(DESTDIR)/etc/X11/xmodmap
+ install -m 644 X11/xmodmap/*.xmodmap $(DESTDIR)/etc/X11/xmodmap
+ install -m 644 X11/xmodmap/xmodmap-* $(DESTDIR)/etc/X11/xmodmap
+diff --git a/X11/Xinit.d/11zaurus b/X11/Xinit.d/11zaurus
+index 54ea6f5..23e7713 100644
+--- a/X11/Xinit.d/11zaurus
++++ b/X11/Xinit.d/11zaurus
+@@ -8,7 +8,7 @@ else
+ CHCK=chkhinge
+ fi
+
+-. /etc/init.d/functions
++. /etc/X11/functions
+
+ $CHCK -e
+ if [ $? = 12 ]; then
+diff --git a/X11/Xinit.d/12keymap b/X11/Xinit.d/12keymap
+index 7eac296..b7a7f2d 100644
+--- a/X11/Xinit.d/12keymap
++++ b/X11/Xinit.d/12keymap
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. /etc/init.d/functions
++. /etc/X11/functions
+
+ # since kdrive 1.4 there is no default keymap in server
+ xmodmap - </etc/X11/xmodmap/default.xmodmap
+diff --git a/X11/functions b/X11/functions
+new file mode 100644
+index 0000000..a1311ad
+--- /dev/null
++++ b/X11/functions
+@@ -0,0 +1,11 @@
++# -*-Shell-script-*-
++#
++# functions This file contains functions shared by few X11 scripts
++# machine_id also exists in /etc/init.d/functions but some
++# people don't use initscripts anymore
++#
++
++machine_id() { # return the machine ID
++ awk 'BEGIN { FS=": " } /Hardware/ \
++ { gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
++}
+diff --git a/X11/xserver-common b/X11/xserver-common
+index bb7c2ff..d622f2a 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -30,7 +30,7 @@ if [ -f /etc/profile ]; then
+ . /etc/profile
+ fi
+
+-. /etc/init.d/functions
++. /etc/X11/functions
+
+ fallback_screen_arg() {
+ geom=`fbset | grep geometry`
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
new file mode 100644
index 000000000..90d0f2584
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch
@@ -0,0 +1,38 @@
+From e2abbe110e71a7b4b56564e6b9d58ffa7f34a9e8 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:37:29 +0200
+Subject: [PATCH] xserver-common: add dpi and nocursor params for gta01 and
+ gta02
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index d622f2a..a2c0591 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -133,15 +133,19 @@ else
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
+ DPI="225" ;;
+ "gta01" )
+- DPI="285"
++ DPI="280"
+ if [ "$XSERVER" != "Xorg" ] ; then
+ ARGS="$ARGS -screen 480x640"
++ else
++ ARGS="$ARGS -dpi ${DPI} -nocursor"
+ fi
+ ;;
+ "gta02")
+- DPI="285"
++ DPI="280"
+ if [ "$XSERVER" != "Xorg" ] ; then
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
++ else
++ ARGS="$ARGS -dpi ${DPI} -nocursor"
+ fi
+ ;;
+ "motorola_ezx_platform")
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
new file mode 100644
index 000000000..8fb69b356
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch
@@ -0,0 +1,29 @@
+From f2d808cea5b9f69158f82e16c06f882a6db10d63 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:40:14 +0200
+Subject: [PATCH] xserver-common: add support for n900 alias nokia_rx-51_board
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index a2c0591..b8c37e6 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -132,6 +132,13 @@ else
+ "nokia_n800" | "nokia_rx-44" | "nokia_n770")
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
+ DPI="225" ;;
++ "nokia_rx-51_board" )
++ DPI="267"
++ if [ "$XSERVER" != "Xorg" ] ; then
++ ARGS="$ARGS -screen ${SCREEN_SIZE}"
++ else
++ ARGS="$ARGS -dpi ${DPI} -nocursor"
++ fi ;;
+ "gta01" )
+ DPI="280"
+ if [ "$XSERVER" != "Xorg" ] ; then
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
new file mode 100644
index 000000000..d30c7bbdc
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0010-xserver-common-add-support-for-nexus-S-alias-herring.patch
@@ -0,0 +1,25 @@
+From a194ba2013f9e58cf73cd39b57be68386e501eda Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:40:44 +0200
+Subject: [PATCH] xserver-common: add support for nexus S alias herring
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index b8c37e6..9aa6b24 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -126,6 +126,9 @@ else
+ "htc_tornado")
+ ARGS="$ARGS -hide-cursor"
+ DPI="100" ;;
++ "herring")
++ DPI="235"
++ ARGS="$ARGS -dpi ${DPI} -nocursor";;
+ "generic_omap1510/1610/1710")
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
+ DPI="225" ;;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
new file mode 100644
index 000000000..23e17f098
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch
@@ -0,0 +1,25 @@
+From dfd832b35b6cb4cf2b6f2b51df7b0999f10c8ca1 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:41:06 +0200
+Subject: [PATCH] xserver-common: add support for nexus one alias mahimahi
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index 9aa6b24..8da926e 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -129,6 +129,9 @@ else
+ "herring")
+ DPI="235"
+ ARGS="$ARGS -dpi ${DPI} -nocursor";;
++ "mahimahi")
++ DPI="254"
++ ARGS="$ARGS -dpi ${DPI}";;
+ "generic_omap1510/1610/1710")
+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
+ DPI="225" ;;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
new file mode 100644
index 000000000..5e794f6b3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch
@@ -0,0 +1,30 @@
+From d9e05e53b30c66705852256ff5c603252aa94b2c Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Wed, 11 Apr 2012 14:41:52 +0200
+Subject: [PATCH] xserver-common: add support for gta04 alias OpenPhoenux
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index 8da926e..d9325dd 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -161,6 +161,14 @@ else
+ ARGS="$ARGS -dpi ${DPI} -nocursor"
+ fi
+ ;;
++ "gta04")
++ DPI="280"
++ if [ "$XSERVER" != "Xorg" ] ; then
++ ARGS="$ARGS -screen ${SCREEN_SIZE}"
++ else
++ ARGS="$ARGS -dpi ${DPI} -nocursor"
++ fi
++ ;;
+ "motorola_ezx_platform")
+ ARGS="$ARGS -screen 240x320"
+ DPI="170" ;;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
new file mode 100644
index 000000000..78d2e4029
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch
@@ -0,0 +1,30 @@
+From 57ab521ffc1024f21105ca14be2d041a477942b1 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Fri, 17 Aug 2012 13:00:56 +0200
+Subject: [PATCH] xserver-common: add support for tuna alias Galaxy Nexus
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
+---
+ X11/xserver-common | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index d9325dd..017e5ae 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -169,6 +169,14 @@ else
+ ARGS="$ARGS -dpi ${DPI} -nocursor"
+ fi
+ ;;
++ "tuna")
++ DPI="316"
++ if [ "$XSERVER" != "Xorg" ] ; then
++ ARGS="$ARGS -screen ${SCREEN_SIZE}"
++ else
++ ARGS="$ARGS -dpi ${DPI} -nocursor"
++ fi
++ ;;
+ "motorola_ezx_platform")
+ ARGS="$ARGS -screen 240x320"
+ DPI="170" ;;
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
new file mode 100644
index 000000000..a73191700
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/0015-xserver-common-disable-TCP-connections.patch
@@ -0,0 +1,26 @@
+From 5236209e30e0f45113e140f0667c8ffcfe621536 Mon Sep 17 00:00:00 2001
+From: Javier Viguera <javier.viguera@digi.com>
+Date: Wed, 26 Nov 2014 09:24:44 +0100
+Subject: [PATCH] xserver-common: disable TCP connections
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Javier Viguera <javier.viguera@digi.com>
+
+---
+ X11/xserver-common | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/X11/xserver-common b/X11/xserver-common
+index 017e5ae..4dc48c4 100644
+--- a/X11/xserver-common
++++ b/X11/xserver-common
+@@ -44,7 +44,7 @@ SCREEN_SIZE=`fallback_screen_arg`
+ export USER=root
+ export XSERVER_DEFAULT_ORIENTATION=normal
+
+-ARGS="-br -pn $INPUT_EXTRA_ARGS"
++ARGS="-br -pn -nolisten tcp $INPUT_EXTRA_ARGS"
+ DPI="100"
+ MOUSE=""
+ KDRIVEARGS=""
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
new file mode 100644
index 000000000..a5ed21d45
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Common X11 scripts and support files"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
+
+PR = "r9"
+
+# we are using a gpe-style Makefile
+inherit distro_features_check gpe
+
+REQUIRED_DISTRO_FEATURES = "x11"
+
+SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14"
+SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210"
+
+SRC_URI_append = " \
+ file://0001-COPYING-add-GPLv2-license-file.patch \
+ file://0002-add-setdpi-Xinit.d-script.patch \
+ file://0006-add-support-for-etc-X11-xserver-system.patch \
+ file://0007-use-own-functions-file-instead-etc-init.d-functions.patch \
+ file://0008-xserver-common-add-dpi-and-nocursor-params-for-gta01.patch \
+ file://0009-xserver-common-add-support-for-n900-alias-nokia_rx-5.patch \
+ file://0010-xserver-common-add-support-for-nexus-S-alias-herring.patch \
+ file://0011-xserver-common-add-support-for-nexus-one-alias-mahim.patch \
+ file://0012-xserver-common-add-support-for-gta04-alias-OpenPhoen.patch \
+ file://0013-xserver-common-add-support-for-tuna-alias-Galaxy-Nex.patch \
+ file://0015-xserver-common-disable-TCP-connections.patch \
+ file://0001-Don-t-install-Xsession-or-Xserver.patch \
+"
+
+do_install_append() {
+ sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common
+ # Rename all Xsession files not ending with .sh
+ # Unfortunatelly when xinput-calibrator was moved to oe-core
+ # its Xsession file got name 30xinput_calibrate.sh and ls -X sorts it
+ # last, not respecting numbers for sorting them
+ for i in ${D}/${sysconfdir}/X11/Xsession.d/*; do
+ echo $i | grep '.sh$' || mv $i $i.sh
+ done
+}
+
+RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo fbset xinput-calibrator"
+
+RCONFLICTS_${PN} = "xserver-kdrive-common x11-common"
+RREPLACES_${PN} = "xserver-kdrive-common x11-common"
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh
new file mode 100644
index 000000000..fa43617bd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/30xTs_Calibrate.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+. /etc/formfactor/config
+
+if [ "$HAVE_TOUCHSCREEN" = "1" ]; then
+ n=1
+ while [ ! -z $TSLIB_TSDEVICE ] && [ ! -f /etc/pointercal ] && [ $n -le 5 ]
+ do
+ /usr/bin/xtscal
+ sleep 1
+ n=$(($n+1))
+ done
+fi
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch
new file mode 100644
index 000000000..1da771786
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/change-cross.patch
@@ -0,0 +1,18 @@
+Upstream-Status: Pending
+
+--- tmp/main.c.orig 2007-01-02 15:39:54.000000000 +0000
++++ tmp/main.c 2007-01-02 15:39:54.000000000 +0000
+@@ -131,9 +131,10 @@
+ {
+ XRenderFillRectangles (dpy, PictOpSrc, pict, &rect_color, rectangles, 2);
+
+- XFillArc (dpy, crosshair_w, crosshair_gc, (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1,
+- (CROSSHAIR_SIZE / 2) - (WIDTH / 2) - 1,
+- WIDTH + 1, WIDTH + 1, 0, 360 * 64);
++ XFillRectangle (dpy, crosshair_w, crosshair_gc,
++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2),
++ (CROSSHAIR_SIZE / 2) - (WIDTH / 2),
++ WIDTH, WIDTH);
+ }
+
+ void
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch
new file mode 100644
index 000000000..f7b0854c3
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/cleanup.patch
@@ -0,0 +1,621 @@
+---
+ Makefile.am | 9 --
+ configure.ac | 3
+ gpe-dist.am | 12 ---
+ h3600_ts.h | 216 -----------------------------------------------------------
+ main.c | 210 ++-------------------------------------------------------
+ xtscal.in | 19 -----
+ 6 files changed, 14 insertions(+), 455 deletions(-)
+
+Upstream-Status: Pending
+
+Index: xtscal-0.6.3/xtscal.in
+===================================================================
+--- xtscal-0.6.3.orig/xtscal.in 2004-09-10 20:10:36.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,19 +0,0 @@
+-#!/bin/sh
+-
+-module_id() {
+- # Get model name
+- echo `grep "^Hardware" /proc/cpuinfo | sed -e "s/.*: *//" | tr a-z A-Z`
+-}
+-
+-case `module_id` in
+- "HP IPAQ H3100" | "HP IPAQ H3800" )
+- ARGS="-rotate 90" ;;
+- "HP IPAQ H3600" | "HP IPAQ H3700" | "HP IPAQ H3900" | *COLLIE | *POODLE)
+- ARGS="-rotate 270" ;;
+- # H2200: works without rotation
+-esac
+-
+-# the things we do for autoconf
+-prefix=@prefix@
+-exec_prefix=@exec_prefix@
+-exec @libexecdir@/xtscal.bin $ARGS $*
+Index: xtscal-0.6.3/main.c
+===================================================================
+--- xtscal-0.6.3.orig/main.c 2007-07-01 01:12:52.000000000 +0100
++++ xtscal-0.6.3/main.c 2007-07-01 01:12:55.000000000 +0100
+@@ -22,12 +22,10 @@
+ #include <X11/Xlib.h>
+
+ #include <X11/extensions/Xrender.h>
+-#include <X11/extensions/Xrandr.h>
+ #include <X11/Xft/Xft.h>
+ #include <X11/extensions/xcalibrate.h>
+ #include <X11/keysym.h>
+
+-#include "h3600_ts.h"
+ #include "calibrate.h"
+
+ Display *dpy;
+@@ -45,15 +43,11 @@ XftColor xftcol;
+ XftDraw *xftdraw;
+ XftFont *xftfont;
+ int screen_x, screen_y;
+-int ts_fd;
+ int samples;
+ Pixmap bg_pixmap;
+ int flag_debug;
+-int rotation = 0;
+ int error_base, event_base;
+
+-int using_xcalibrate;
+-
+ int moving;
+
+ #define CROSSHAIR_SIZE 25
+@@ -63,7 +57,6 @@ int moving;
+ #define ENOUGH 5
+ #define MAX_SAMPLES 40
+
+-#define RAW_DEVICE "/dev/h3600_tsraw"
+ #define FONTNAME "sans-10"
+
+ struct point
+@@ -287,12 +280,8 @@ sort_by_y (const void* a, const void *b)
+ void
+ set_calibration (calibration *cal)
+ {
+- TS_CAL tc;
+- int xtrans, ytrans, xscale, yscale, xyscale, yxscale;
+ calibration ocal = *cal;
+
+- if (using_xcalibrate)
+- {
+ FILE *fp;
+ if (flag_debug)
+ printf ("constants are: %d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]);
+@@ -304,29 +293,6 @@ set_calibration (calibration *cal)
+ }
+ fprintf (fp, "%d %d %d %d %d %d %d\n", cal->a[1], cal->a[2], cal->a[0], cal->a[4], cal->a[5], cal->a[3], cal->a[6]);
+ fclose (fp);
+- return;
+- }
+-
+- xtrans = cal->a[0] / cal->a[6];
+- ytrans = cal->a[3] / cal->a[6];
+- xscale = cal->a[1] * 256 / cal->a[6];
+- yscale = cal->a[5] * 256 / cal->a[6];
+- xyscale = cal->a[2] * 256 / cal->a[6];
+- yxscale = cal->a[4] * 256 / cal->a[6];
+-
+- tc.xtrans = xtrans;
+- tc.ytrans = ytrans;
+- tc.xscale = xscale;
+- tc.yscale = yscale;
+- tc.xyswap = 0;
+-
+- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap);
+-
+- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0)
+- {
+- perror ("TS_SET_CAL");
+- exit (1);
+- }
+ }
+
+ void
+@@ -398,80 +364,13 @@ handle_ts_event (int x, int y, int press
+ }
+
+ void
+-read_ts (void)
+-{
+- TS_EVENT ts_ev;
+- int r;
+-
+- r = read (ts_fd, &ts_ev, sizeof (ts_ev));
+- if (r == sizeof (ts_ev))
+- handle_ts_event (ts_ev.x, ts_ev.y, ts_ev.pressure);
+-}
+-
+-void
+-do_cal (char **args)
+-{
+- TS_CAL tc;
+-
+- tc.xscale = atoi (args[0]);
+- tc.xtrans = atoi (args[1]);
+- tc.yscale = atoi (args[2]);
+- tc.ytrans = atoi (args[3]);
+- tc.xyswap = atoi (args[4]);
+-
+- if (flag_debug)
+- fprintf (stderr, "setting: %d %d %d %d %d\n",
+- tc.xtrans, tc.ytrans, tc.xscale, tc.yscale, tc.xyswap);
+-
+- if (ioctl (ts_fd, TS_SET_CAL, (void *)&tc) != 0)
+- {
+- perror ("TS_SET_CAL");
+- exit (1);
+- }
+-
+- exit (0);
+-}
+-
+-void
+-show_cal (void)
+-{
+- TS_CAL tc;
+-
+- if (ioctl (ts_fd, TS_GET_CAL, (void *)&tc) != 0)
+- {
+- perror ("TS_GET_CAL");
+- exit (1);
+- }
+-
+- printf ("%d %d %d %d %d\n", tc.xscale, tc.xtrans, tc.yscale, tc.ytrans, tc.xyswap);
+-}
+-
+-void
+ usage (const char *name)
+ {
+- fprintf (stderr, "usage: %s -view\n", name);
+- fprintf (stderr, " %s [-rotate <0 | 90 | 180 | 270>]\n", name);
+- fprintf (stderr, " %s -cal <xs> <xt> <ys> <yt> <xyswap>\n", name);
+-
++ fprintf (stderr, "usage: %s [-debug]\n", name);
+ exit (1);
+ }
+
+ int
+-xrr_supported (void)
+-{
+- int xrr_event_base, xrr_error_base;
+- int xrr_major, xrr_minor;
+-
+- if (XRRQueryExtension (dpy, &xrr_event_base, &xrr_error_base) == False
+- || XRRQueryVersion (dpy, &xrr_major, &xrr_minor) == 0
+- || xrr_major != 1
+- || xrr_minor < 1)
+- return 0;
+-
+- return 1;
+-}
+-
+-int
+ main (int argc, char *argv[])
+ {
+ XSetWindowAttributes attributes;
+@@ -480,31 +379,11 @@ main (int argc, char *argv[])
+ int max_fd;
+ GC bg_gc;
+ int i;
+- int have_xrandr;
+
+ for (i = 1; i < argc; i++)
+ {
+- if (!strcmp (argv[i], "-view"))
+- {
+- show_cal ();
+- exit (0);
+- }
+- else if (!strcmp (argv[i], "-debug"))
++ if (!strcmp (argv[i], "-debug"))
+ flag_debug = 1;
+- else if (!strcmp (argv[i], "-cal"))
+- {
+- if (argc > (i + 5))
+- do_cal (argv + i + 1);
+- else
+- usage (argv[0]);
+- }
+- else if (!strcmp (argv[i], "-rotate"))
+- {
+- if (argc > (i + 1))
+- rotation = atoi (argv[++i]);
+- else
+- usage (argv[0]);
+- }
+ else
+ usage (argv[0]);
+ }
+@@ -531,48 +410,11 @@ main (int argc, char *argv[])
+ fprintf (stderr, "failed to set raw mode: error %d\n", r);
+ exit (1);
+ }
+-
+- using_xcalibrate = 1;
+- }
+-
+- have_xrandr = xrr_supported ();
+- if (have_xrandr)
+- {
+- XRRScreenConfiguration *rr_screen;
+- Rotation current_rotation;
+-
+- if (flag_debug)
+- fprintf (stderr, "XRANDR is supported\n");
+-
+- rr_screen = XRRGetScreenInfo (dpy, RootWindow (dpy, screen));
+-
+- XRRRotations (dpy, screen, &current_rotation);
+-
+- XRRFreeScreenConfigInfo (rr_screen);
+-
+- if (flag_debug)
+- fprintf (stderr, "Current RANDR rotation is %d\n", current_rotation);
+-
+- switch (current_rotation)
+- {
+- case RR_Rotate_270:
+- rotation += 90;
+- case RR_Rotate_180:
+- rotation += 90;
+- case RR_Rotate_90:
+- rotation += 90;
+- rotation %= 360;
+- case RR_Rotate_0:
+- break;
+- default:
+- fprintf (stderr, "Unknown RANDR rotation: %d\n", current_rotation);
+- break;
+- }
+ }
+ else
+ {
+- if (flag_debug)
+- fprintf (stderr, "XRANDR not supported\n");
++ perror ("XCALIBRATE extension missing");
++ exit (1);
+ }
+
+ attributes.override_redirect = flag_debug ? False : True;
+@@ -666,45 +508,17 @@ main (int argc, char *argv[])
+
+ for (i = 0; i < NR_POINTS; i++)
+ {
+- switch (rotation)
+- {
+- case 0:
+- cal.xfb[i] = cal.xscr[i];
+- cal.yfb[i] = cal.yscr[i];
+- break;
+- case 90:
+- cal.xfb[i] = cal.yscr[i];
+- cal.yfb[i] = screen_x - cal.xscr[i];
+- break;
+- case 180:
+- cal.xfb[i] = screen_x - cal.xscr[i];
+- cal.yfb[i] = screen_y - cal.yscr[i];
+- break;
+- case 270:
+- cal.xfb[i] = screen_y - cal.yscr[i];
+- cal.yfb[i] = cal.xscr[i];
+- break;
+- }
++ cal.xfb[i] = cal.xscr[i];
++ cal.yfb[i] = cal.yscr[i];
++ XCalibrateScreenToCoord (dpy, &cal.xfb[i], &cal.yfb[i]);
+
+ if (flag_debug)
+- printf ("rotation %d: (%d,%d) -> (%d,%d)\n", rotation,
++ printf ("rotation conversion: (%d,%d) -> (%d,%d)\n",
+ cal.xscr[i], cal.yscr[i], cal.xfb[i], cal.yfb[i]);
+ }
+
+ next_event ();
+
+- if (!using_xcalibrate)
+- {
+- ts_fd = open (RAW_DEVICE, O_RDONLY);
+- if (ts_fd < 0)
+- {
+- perror (RAW_DEVICE);
+- exit (1);
+- }
+- }
+-
+- max_fd = (xfd > ts_fd) ? xfd : ts_fd;
+-
+ for (;;)
+ {
+ fd_set fds;
+@@ -713,12 +527,8 @@ main (int argc, char *argv[])
+
+ FD_ZERO (&fds);
+ FD_SET (xfd, &fds);
+- if (ts_fd != -1)
+- FD_SET (ts_fd, &fds);
+
+- select (max_fd + 1, &fds, NULL, NULL, NULL);
+-
+- if (ts_fd != -1 && FD_ISSET (ts_fd, &fds))
+- read_ts ();
++ select (xfd + 1, &fds, NULL, NULL, NULL);
+ }
+ }
++
+Index: xtscal-0.6.3/configure.ac
+===================================================================
+--- xtscal-0.6.3.orig/configure.ac 2004-09-10 20:11:12.000000000 +0100
++++ xtscal-0.6.3/configure.ac 2007-07-01 01:12:55.000000000 +0100
+@@ -9,8 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ # Checks for programs.
+ AC_PROG_CC
+
+-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xrandr xcalibrate)
++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate)
+
+ AC_CONFIG_FILES([Makefile])
+-AC_CONFIG_FILES([xtscal])
+ AC_OUTPUT
+Index: xtscal-0.6.3/gpe-dist.am
+===================================================================
+--- xtscal-0.6.3.orig/gpe-dist.am 2004-06-02 23:07:13.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,12 +0,0 @@
+-CVSTAG := $(shell echo $(PACKAGE)-$(VERSION) | tr [a-z.] [A-Z_])
+-
+-dist-upload: dist
+- scp $(PACKAGE)-$(VERSION).tar.bz2 $(USER)@handhelds.org:/home/ftp/pub/projects/gpe/source/
+-
+-tag:
+- cvs tag $(CVSTAG)
+-
+-retag:
+- cvs tag -F $(CVSTAG)
+-
+-source: tag dist-upload
+Index: xtscal-0.6.3/h3600_ts.h
+===================================================================
+--- xtscal-0.6.3.orig/h3600_ts.h 2003-07-05 17:27:10.000000000 +0100
++++ /dev/null 1970-01-01 00:00:00.000000000 +0000
+@@ -1,216 +0,0 @@
+-/*
+-*
+-* Driver for the H3600 Touch Screen and other Atmel controlled devices.
+-*
+-* Copyright 2000 Compaq Computer Corporation.
+-*
+-* Use consistent with the GNU GPL is permitted,
+-* provided that this copyright notice is
+-* preserved in its entirety in all copies and derived works.
+-*
+-* COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED,
+-* AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS
+-* FITNESS FOR ANY PARTICULAR PURPOSE.
+-*
+-* Author: Charles Flynn.
+-*
+-*/
+-
+-
+-#ifndef __H3600_TS_H__
+-#define __H3600_TS_H__
+-
+-#include <linux/ioctl.h>
+-
+-enum h3600_ts_minor_devices {
+- TS_MINOR = 0,
+- TSRAW_MINOR = 1,
+- KEY_MINOR = 2
+-};
+-
+-typedef struct h3600_ts_calibration {
+- int xscale;
+- int xtrans;
+- int yscale;
+- int ytrans;
+- int xyswap;
+-} TS_CAL;
+-
+-typedef struct h3600_ts_event {
+- unsigned short pressure;
+- unsigned short x;
+- unsigned short y;
+- unsigned short pad;
+-} TS_EVENT;
+-
+-/* Deprecated - do not use */
+-typedef struct h3600_ts_return {
+- unsigned short pressure;
+- unsigned short x;
+- unsigned short y;
+- unsigned short pad;
+-} TS_RET;
+-
+-enum power_button_mode {
+- PBM_SUSPEND = 0,
+- PBM_GENERATE_KEYPRESS = 1
+-};
+-
+-
+-/* ++++++++++++++ +++++++++++++++++++++++++++++++++++++ */
+-
+-typedef struct therm_dev {
+- short data;
+-} THERM_DEV;
+-
+-#define H3600_BATT_CHEM_ALKALINE 0x01
+-#define H3600_BATT_CHEM_NICD 0x02
+-#define H3600_BATT_CHEM_NIMH 0x03
+-#define H3600_BATT_CHEM_LION 0x04
+-#define H3600_BATT_CHEM_LIPOLY 0x05
+-#define H3600_BATT_CHEM_NOT_INSTALLED 0x06
+-#define H3600_BATT_CHEM_UNKNOWN 0xff
+-
+-/* These should match the apm_bios.h definitions */
+-#define H3600_AC_STATUS_AC_OFFLINE 0x00
+-#define H3600_AC_STATUS_AC_ONLINE 0x01
+-#define H3600_AC_STATUS_AC_BACKUP 0x02 /* What does this mean? */
+-#define H3600_AC_STATUS_AC_UNKNOWN 0xff
+-
+-/* These bitfields are rarely "or'd" together */
+-#define H3600_BATT_STATUS_HIGH 0x01
+-#define H3600_BATT_STATUS_LOW 0x02
+-#define H3600_BATT_STATUS_CRITICAL 0x04
+-#define H3600_BATT_STATUS_CHARGING 0x08
+-#define H3600_BATT_STATUS_CHARGE_MAIN 0x10
+-#define H3600_BATT_STATUS_DEAD 0x20 /* Battery will not charge */
+-#define H3600_BATT_NOT_INSTALLED 0x20 /* For expansion pack batteries */
+-#define H3600_BATT_STATUS_FULL 0x40 /* Battery fully charged (and connected to AC) */
+-#define H3600_BATT_STATUS_NOBATT 0x80
+-#define H3600_BATT_STATUS_UNKNOWN 0xff
+-
+-struct battery_data {
+- unsigned char chemistry;
+- unsigned char status;
+- unsigned short voltage; /* Voltage for battery #0; unknown for battery #1 */
+- unsigned short percentage; /* Percentage of full charge */
+- unsigned short life; /* Life remaining in minutes */
+-};
+-
+-struct h3600_battery {
+- unsigned char ac_status;
+- unsigned char battery_count; /* How many batteries we have */
+- struct battery_data battery[2];
+-};
+-
+-/* -------- EEPROM and SPI Interfaces ---------------*/
+-
+-#define EEPROM_RD_BUFSIZ 6 /* EEPROM reads are 16 bits */
+-#define EEPROM_WR_BUFSIZ 5 /* Allow room for 8bit 'addr' field in buffer*/
+-#define SPI_RD_BUFSIZ 16 /* SPI reads are 8 bits */
+-#define SPI_WR_BUFSIZ 7
+-
+-/* The EEPROM is where internal programs are stored on the Amtel.
+- You probably don't want to read or write these values */
+-
+-typedef struct h3600_eeprom_read_request {
+- unsigned char addr; /* 8bit Address Offset 0-255 */
+- unsigned char len; /* Number of 16bit words to read 0-128 */
+- unsigned short buff[EEPROM_RD_BUFSIZ];
+-} EEPROM_READ;
+-
+-typedef struct h3600_eeprom_write_request {
+- unsigned char len; /* used only to compute the number of bytes to send */
+- unsigned char addr; /* 0-128 */
+- unsigned short buff[EEPROM_WR_BUFSIZ];
+-} EEPROM_WRITE;
+-
+-/* The SPI bus connects to EEPROMs located on sleeves plugged into
+- the iPAQ. You may want to read these values */
+-
+-typedef struct h3600_spi_read_request {
+- unsigned short addr; /* 16bit Address Offset 0-128 */
+- unsigned char len; /* Number of bytes to read */
+- unsigned char buff[SPI_RD_BUFSIZ];
+-} SPI_READ;
+-
+-#define SPI_READ_STATUS_BYTE 0xffff /* Use this address to read the status byte */
+-
+-typedef struct h3600_spi_write_request {
+- unsigned short len; /* used only to compute the number of bytes to send */
+- unsigned short addr; /* this 16bit address accesses a single byte */
+- unsigned char buff[SPI_WR_BUFSIZ];
+-} SPI_WRITE;
+-
+-
+-/* -------- end of EEPROM and SPI Interfaces ---------------*/
+-
+-/* User space structures for IOCTL calls */
+-
+-typedef struct h3600_ts_version {
+- unsigned char host_version[8]; /* ascii "x.yy" */
+- unsigned char pack_version[8]; /* ascii "x.yy" */
+- unsigned char boot_type; /* TODO ?? */
+-} VER_RET;
+-
+-typedef struct h3600_ts_led {
+- unsigned char OffOnBlink; /* 0=off 1=on 2=Blink */
+- unsigned char TotalTime; /* Units of 5 seconds */
+- unsigned char OnTime; /* units of 100m/s */
+- unsigned char OffTime; /* units of 100m/s */
+-} LED_IN;
+-
+-enum flite_mode {
+- FLITE_MODE1 = 1,
+- FLITE_AUTO_MODE = 1, /* for reference only */
+- FLITE_MANUAL_MODE = 2, /* Use this normally? */
+- FLITE_GET_LIGHT_SENSOR = 3 /* Returns light reading in "brightness" field */
+-};
+-enum flite_pwr {
+- FLITE_PWR_OFF = 0,
+- FLITE_PWR_ON = 1
+-};
+-
+-typedef struct h3600_ts_flite {
+- unsigned char mode;
+- unsigned char pwr;
+- unsigned char brightness;
+-} FLITE_IN;
+-
+-/*************************** Updated "universal" structures *******************/
+-
+-/* Sets backlight for both H3100 and H3600 models - technically "frontlight" for H3600 */
+-struct h3600_ts_backlight {
+- enum flite_pwr power; /* 0 = off, 1 = on */
+- unsigned char brightness; /* 0 - 255 */
+-};
+-
+-struct h3600_ts_contrast { /* Only useful on H3100 model */
+- unsigned char contrast; /* 0 - 255 */
+-};
+-
+-/* IOCTL cmds user or kernel space */
+-
+-/* Use 'f' as magic number */
+-#define IOC_H3600_TS_MAGIC 'f'
+-
+-/* TODO: Some of these IOWR values are just plain wrong */
+-#define GET_VERSION _IOR(IOC_H3600_TS_MAGIC, 1, struct h3600_ts_version )
+-#define READ_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 2, struct h3600_eeprom_read_request)
+-#define WRITE_EEPROM _IOWR(IOC_H3600_TS_MAGIC, 3, struct h3600_eeprom_write_request)
+-#define GET_THERMAL _IOR(IOC_H3600_TS_MAGIC, 4, struct therm_dev)
+-#define LED_ON _IOW(IOC_H3600_TS_MAGIC, 5, struct h3600_ts_led)
+-#define GET_BATTERY_STATUS _IOR(IOC_H3600_TS_MAGIC, 6, struct h3600_battery)
+-#define FLITE_ON _IOW(IOC_H3600_TS_MAGIC, 7, struct h3600_ts_flite)
+-#define READ_SPI _IOWR(IOC_H3600_TS_MAGIC, 8, struct h3600_spi_read_request)
+-#define WRITE_SPI _IOWR(IOC_H3600_TS_MAGIC, 9, struct h3600_spi_write_request)
+-#define TS_GET_CAL _IOR(IOC_H3600_TS_MAGIC, 10, struct h3600_ts_calibration)
+-#define TS_SET_CAL _IOW(IOC_H3600_TS_MAGIC, 11, struct h3600_ts_calibration)
+-
+-/* New IOCTL interfaces - defined to be more user friendly */
+-#define TS_GET_BACKLIGHT _IOR(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
+-#define TS_SET_BACKLIGHT _IOW(IOC_H3600_TS_MAGIC, 20, struct h3600_ts_backlight)
+-#define TS_GET_CONTRAST _IOR(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast)
+-#define TS_SET_CONTRAST _IOW(IOC_H3600_TS_MAGIC, 21, struct h3600_ts_contrast)
+-
+-#endif
+Index: xtscal-0.6.3/Makefile.am
+===================================================================
+--- xtscal-0.6.3.orig/Makefile.am 2004-06-02 23:07:13.000000000 +0100
++++ xtscal-0.6.3/Makefile.am 2007-07-02 12:51:02.000000000 +0100
+@@ -1,11 +1,8 @@
+-libexec_PROGRAMS = xtscal.bin
+-bin_SCRIPTS = xtscal
++bin_PROGRAMS = xtscal
+
+-xtscal_bin_SOURCES = main.c calibrate.c calibrate.h h3600_ts.h
++xtscal_SOURCES = main.c calibrate.c calibrate.h
+
+-xtscal_bin_LDADD = @XTSCAL_LIBS@
++xtscal_LDADD = @XTSCAL_LIBS@
+
+ INCLUDES = @XTSCAL_CFLAGS@ -DNR_POINTS=5
+
+-include gpe-dist.am
+-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch
new file mode 100644
index 000000000..3e4533f78
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal/dso_linking_change_build_fix.patch
@@ -0,0 +1,27 @@
+after gcc linking has changed, all the libraries must be explicitely specified
+This patch avoids this linking error:
+
+| ccache i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -ggdb -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o xtscal main.o calibrate.o -lX11 -lXft -lXext -lXcalibrate^M
+| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: ^?: invalid DSO for symbol `XRenderChangePicture' definition^M
+| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/libXrender.so.1: could not read symbols: Bad value^M
+| collect2: ld returned 1 exit status^M
+| make: *** [xtscal] Error 1
+
+Nitin A Kamble <nitin.a.kamble@intel.com>
+Date: 2011/01/11
+
+Upstream-Status: Pending
+
+Index: xtscal-0.6.3/configure.ac
+===================================================================
+--- xtscal-0.6.3.orig/configure.ac
++++ xtscal-0.6.3/configure.ac
+@@ -9,7 +9,7 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2])
+ # Checks for programs.
+ AC_PROG_CC
+
+-PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate)
++PKG_CHECK_MODULES(XTSCAL, x11 xft xext xcalibrate xrender)
+
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
diff --git a/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb
new file mode 100644
index 000000000..4bfddf06b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/xtscal/xtscal_0.6.3.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Touchscreen calibration utility"
+
+DESCRIPTION = "Basic touchscreen calibration utility"
+
+HOMEPAGE = "http://gpe.linuxtogo.org"
+BUGTRACKER = "http://bugs.linuxtogo.org"
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
+ file://main.c;endline=10;md5=8721bcb08ae9f24e5fe4c82941873c87"
+
+SECTION = "x11/base"
+
+DEPENDS = "virtual/libx11 libxft libxcalibrate"
+
+PR = "r13"
+
+SRC_URI = "${GPE_MIRROR}/xtscal-${PV}.tar.bz2 \
+ file://change-cross.patch \
+ file://cleanup.patch \
+ file://dso_linking_change_build_fix.patch \
+ file://30xTs_Calibrate.sh"
+
+SRC_URI[md5sum] = "9bcab80b474d5454477d1ca166a68c34"
+SRC_URI[sha256sum] = "27b9dc2203de9b1706ca39fa6ca80ecab8807909ec901c4a345b8e41178800a1"
+
+inherit autotools pkgconfig distro_features_check
+# depends on virtual/libx11
+REQUIRED_DISTRO_FEATURES = "x11"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/X11/Xsession.d/
+ install -m 0755 ${WORKDIR}/30xTs_Calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/
+}
OpenPOWER on IntegriCloud