AndroLyze

Release:1.0
Date:October 17, 2016

About

AndroLyze is a distributed framework for android app analysis with unified logging and reporting functionality to perform security checks on large numbers of applications in an efficient manner.

It provides optimized scheduling algorithms for distributing static code analysis tasks across several machines. Moreover, it can handle several versions of a single mobile application to generate a security track record over many versions.

The code and documentation is related to the following paper (link will follow):

https://raw.githubusercontent.com/nachtmaar/androlyzedoc/master/gfx/androlyze_paper.png

Features

  • Static android code analysis based on Androguard
  • Unified logging and reporting framework backed by mongoDB
  • Efficient Android app analysis on a single machine | local cluster | cloud
  • APK distribution via mongoDB, Amazon S3 or serialization of the local .apk files
  • Code-Size Scheduling: Schedule long running tasks first based on the size of the classes.dex file
  • Download APKs from Google play with the help of Google Play Crawler
  • Update your APK collection by downloading the newest APK version to create a security track record over several versions

Try it out!

Still interested? Try it out! We provide an easy way to install AndroLyze using Docker containers.

License

AndroLyze is licensed under the MIT license.

Documentation

The documentation is hosted at readthedocs.org and opensource available at github. Feel free to contribute! Edit the docs on github, commit it and it will be automatically built by readthedocs!

Installation

Docker

For ease of use, we enable the deployment with Docker.

AndroLyze comes with a few docker images which ship the distributed system, consisting of a message queue ( RabbitMQ ), a NoSQL database ( mongoDB ) and the actual worker node.

Before you can start playing with Docker you need to clone the repository:

$ git clone --recursive https://github.com/nachtmaar/androlyze.git
$ cd androlyze
Config

AndroLyze has one important config file which lets you customize the distributed system. The credentials defined there are used by the rabbitmq and mongodb container. At startup, they grab the relevant information from the config file and set up the appropriate user/access.

The IPs and Ports specified in the config don’t have to be set when using Docker due to the Docker linking system.

If you plan to use AndroLyze on Amazon EC2, you should consider using S3 for APK storage. For this purpose you have to set the Amazon access id and key!

Docker installation

The installation with Docker requires Linux. On Mac have a look at boot2docker which uses a linux virtual machine to enable the usage of Docker.

Linux:

$ sudo apt-get install docker.io

Mac:

$ brew install boot2docker
$ boot2docker init
$ boot2docker up

Now set the environment variables as instructed by the output of the up command.

Note

The following docker commands require sudo on Linux but not OS X!

Data container

The config file, APKs and import databases are shared with all containers through a data container.

Note

For OS X be aware that folders mounted with the “-v” switch have to live in your home folder as a restriction of boot2docker!

Create and adopt your AndroLyze config file to your needs:

$ cp androlyze/settings/defaults/config.conf data_container/
$ vim data_container/config.conf

The default config is suitable for a local run using Docker. Nothing has to be changed, but can of course.

Start the data container (and supply a custom directory for the APKs and import databases which shall be mounted into the container and lives inside the host os):

$ docker create -v $PWD/data_container:/etc/androlyze  -v <Full Path to APK Directory>:/home/worker/androlyze/apks -v <Full Path to Import Databases>:/home/worker/androlyze/dbs --name data nachtmaar/androlyze_worker:latest /bin/true
fc0abfe19883fd48657275a16c988195a49a94fac8aaf52e1d07a8b67a371507
Create X.509 certificates

AndroLyze can be secured with X.509 certificates. The following container creates the necessary CA, server and client certificates and stores them in conf/distributed/ssl of the AndroLyze source folder.

Note

By default AndroLyze is setup with randomly created self-signed certificates!

If you want to use your own PKI, just place androlyze_ca.pem, androlyze_server.crt, androlyze_server.key, androlyze_client.key and androlyze_client.crt into the data_container folder.

Moreover you should pin the AndroLyze Certificate Authority! On Mac OS just double click the androlyze_ca.pem file.

Start a container which sets up the whole Public Key Infrastructure:

$ docker run --rm -it -v $PWD/data_container:/usr/share/easy-rsa/keys_androlyze nachtmaar/androlyze_x_509:latest
$ ls data_container
01.pem                  androlyze_client.key    ca.crt                  index.txt               serial
02.pem                  androlyze_server.crt    ca.key                  index.txt.attr          serial.old
androlyze_client.crt    androlyze_server.csr    config.conf             index.txt.attr.old
androlyze_client.csr    androlyze_server.key    dh2048.pem              index.txt.old
Other containers

For the first try, we run the containers interactively so that we can follow the stdout/stderr of each container. For each of the 4 shell commands spawn a new shell and execute the command. If you stop a container with CTLR-C the image of the container gets deleted (removing the “–rm” switch keeps the images)

Run the NoSQL database (mongoDB):

# The command exposes port 27017 so that mongoDB can be accessed from the containers host system
$ docker run -it --rm --name mongodb -p 27017:27017 --volumes-from data nachtmaar/androlyze_mongodb:latest

Run the message queue (RabbitMQ):

# The command exposes port 15672 so that the rabbitmq management webui can be accessed from the containers host system
$ docker run -it --rm --name rabbitmq -p 15672:15672 --volumes-from data nachtmaar/androlyze_rabbitmq:latest

Run celery flower, a monitoring tool for the distributed system.

# The command exposes port 5555 so the webui of celery flower can be accessed from the containers host system
$ docker run -it --rm --name flower -p 5555:5555 --volumes-from data --link rabbitmq:rabbitmq --link mongodb:mongodb nachtmaar/androlyze_flower:latest

Run the worker and link the database as well as the message queue so that they know from each other

$ docker run -it --rm --name worker --volumes-from data --link rabbitmq:rabbitmq --link mongodb:mongodb nachtmaar/androlyze_worker:latest
That’s it

All containers need some time to initialize themselves. Especially the worker and flower container need to pull code from git (secured with https or ssh key verification for private repos).

In the status section you can check how the logs of the containers should look like if you encounter any error.

If everything went right, you can connect to the frontend container:

$ docker exec -it worker bash
export TERM=xterm

Moreover, you should be able to visit the RabbitMQ management service on port 15672 and the flower monitoring service on port 5555 (see the Monitoring / Management section)

Status

Afterwards the following containers should run:

$ docker ps
CONTAINER ID        IMAGE                                  COMMAND                CREATED             STATUS              PORTS                                NAMES
e3f1673b2c9d        nachtmaar/androlyze_worker:latest     "/bin/sh -c ./start.   5 seconds ago       Up 3 seconds                                             worker
31ac00f6fc35        nachtmaar/androlyze_flower:latest     "/bin/sh -c ./start.   9 seconds ago       Up 7 seconds        0.0.0.0:5555->5555/tcp               flower
3ec8edb7ce56        nachtmaar/androlyze_rabbitmq:latest   "/sbin/my_init"        13 seconds ago      Up 11 seconds       5672/tcp, 0.0.0.0:15672->15672/tcp   rabbitmq
e91abaa7d1da        nachtmaar/androlyze_mongodb:latest    "/sbin/my_init"        18 seconds ago      Up 16 seconds       0.0.0.0:27017->27017/tcp             mongodb

The output of the containers look like this:

MongoDB
configuring mongodb [done]

configuring ssl ...
configuring ssl [done]
starting mongodb ...
Sat Jun 20 11:38:35.385 [initandlisten] MongoDB starting : pid=14 port=27017 dbpath=/data/db/ 64-bit host=55d3e0780db4
Sat Jun 20 11:38:35.385 [initandlisten] db version v2.4.9
Sat Jun 20 11:38:35.386 [initandlisten] git version: nogitversion
Sat Jun 20 11:38:35.386 [initandlisten] build info: Linux orlo 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 17:37:58 UTC 2013 x86_64 BOOST_LIB_VERSION=1_54
Sat Jun 20 11:38:35.386 [initandlisten] allocator: tcmalloc
Sat Jun 20 11:38:35.386 [initandlisten] options: { dbpath: "/data/db/", smallfiles: true, sslCAFile: "/etc/androlyze/androlyze_ca.pem", sslOnNormalPorts: true, sslPEMKeyFile: "/etc/ssl/private/mongodb.pem", sslWeakCertificateValidation: true }
Sat Jun 20 11:38:35.388 [initandlisten] journal dir=/data/db/journal
Sat Jun 20 11:38:35.388 [initandlisten] recover : no journal files present, no recovery needed
Sat Jun 20 11:38:35.457 [initandlisten] waiting for connections on port 27017 ssl
Sat Jun 20 11:38:35.459 [websvr] admin web console waiting for connections on port 28017 ssl
RabbitMQ
Server startup complete; 6 plugins started.
 * amqp_client
 * mochiweb
 * rabbitmq_management
 * rabbitmq_management_agent
 * rabbitmq_web_dispatch
 * webmachine
 completed with 6 plugins.

=INFO REPORT==== 20-Jun-2015::14:25:31 ===
accepting AMQP connection <0.331.0> (172.17.0.229:59456 -> 172.17.0.228:5671)

=INFO REPORT==== 20-Jun-2015::14:25:31 ===
accepting AMQP connection <0.337.0> (172.17.0.229:59457 -> 172.17.0.228:5671)
Flower
[I 150617 17:29:49 command:114] Visit me at http://0.0.0.0:5555
[I 150617 17:29:49 command:116] Broker: amqp://androlyze:**@172.17.0.177:5672/androlyze_vhost
[I 150617 17:29:49 command:119] Registered tasks:
    ['androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask',
     'celery.backend_cleanup',
     'celery.chain',
     'celery.chord',
     'celery.chord_unlock',
     'celery.chunks',
     'celery.group',
     'celery.map',
     'celery.starmap']
[I 150617 17:29:49 mixins:225] Connected to amqp://androlyze:**@172.17.0.177:5672/androlyze_vhost
Worker
 -------------- celery@31fb65be6c49 v3.1.18 (Cipater)
---- **** -----
--- * ***  * -- Linux-3.18.11-tinycore64-x86_64-with-Ubuntu-14.04-trusty
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         AndroLyze:0x7f57d457b3d0
- ** ---------- .> transport:   amqp://androlyze:**@172.17.1.111:5671/androlyze_vhost
- ** ---------- .> results:     rpc
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
 -------------- .> analyze_apk      exchange=celery(direct) key=analyze_apk
                .> celery           exchange=celery(direct) key=celery

[2015-06-18 21:20:54,523: WARNING/MainProcess] celery@31fb65be6c49 ready.
Starting/stopping

All containers can be simply stopped and start after they have been created the first time. But for this you need to create all the containers without the “–rm” switch!

Stop them:

docker stop flower worker rabbitmq mongodb data

Start them:

# be sure to start the services before flower and the worker (they need the correct ip and port of the services)
docker start data mongodb rabbitmq flower worker
Development

Docker can also be used to ease development. For this purpose, it is necessary to have a local clone of AndroLyze so that the development code can be mounted into /home/worker/anrolyze of the container. If a repository is already existing in the container, it won’t clone the code from git again as it normally does if no source code is mounted into the container.

Changes in the source code (done outside the container) affect the source in the container. Otherwise one would need to push changes to git and check it out then. Or develop in the container itself.

docker run -it --rm --name worker -v /Users/nils/Desktop/androlyze/:/home/worker/androlyze --volumes-from data --link rabbitmq:rabbitmq --link mongodb:mongodb nachtmaar/androlyze_worker:latest

Manually

Install AndroLyze
# clone recursive to fetch submodules
git clone --recursive https://github.com/nachtmaar/androlyze.git

cd androlyze

# copy the sample config file
cp androlyze/settings/defaults/config.conf conf/
cp androlyze/settings/defaults/script_settings.json conf/

# copy config for google-play-crawler (needed for playstore.py)
cp google-play-crawler/googleplay/crawler.conf conf/

# revoke not needed permissions for config files (contains credentials)
chmod 600 -R conf/
Install other requirements
# install pip
sudo apt-get install python-pip

# install python requirements
pip install --user -r docker/worker/requirements.txt
Distributed Environment
# only for task server
sudo apt-get install rabbitmq-server

# only for result database
sudo apt-get install mongodb
MongoDB

Also see MongoDB installation

Authentication and SSL

Note

The user creation shown below is for MongoDB version 2.4, 2.2 is a different API ! For version 3 one has to use db.createUser instead of db.addUser but with the same arguments!

First we need to add an account. One for user administration, second for database r/w access.

# start the mongo shell
mongo <host>
use admin
# add useradmin
db.addUser( { user: "useradmin",
              pwd: "pwd",
              roles: [ "userAdminAnyDatabase"] } )

# add androlyze user (needs full access to create user supplied databases via config file)
db.addUser( { user: "androlyze",
              pwd: "pwd",
              roles: [ "readWriteAnyDatabase"] } )

Enable authentication in config file (/etc/mongodb.conf)

# mongodb.conf

# Where to store the data.
dbpath=/var/lib/mongodb

#where to log
logpath=/var/log/mongodb/mongodb.log

logappend=true

bind_ip = 127.0.0.1
port = 27017

# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true

auth = true

For X509 certificate creation have a look at RabbitMQ website. For SSL add these values too:

# SSL options
sslMode = requireSSL

# SSL Key file and certificate
sslPEMKeyFile = /etc/ssl/private/mongodb/mongodb.pem

sslOnNormalPorts = true

# ca certificate
sslCAFile = /etc/ssl/certs/androlyze_ca.pem

# client don't need a certificate
sslWeakCertificateValidation = true

Restart server

sudo /etc/init.d/mongodb restart

Warning

If you are encountering any troubles with starting the mongodb server, try to start it manually with mongod –config /etc/mongodb.conf and have a look at the log file.

or test with sudo -u mongodb mongod –config /etc/mongodb.conf

RabbitMQ

RabbitMQ configuration (see this for more details):

sudo rabbitmqctl add_user androlyze <pw>
sudo rabbitmqctl add_vhost androlyze_vhost
sudo rabbitmqctl set_permissions -p androlyze_vhost androlyze  ".*" ".*" ".*"
Extra space

We need a big task storage, so if your root disk is not big enough use some different path. Default is /var/lib/rabbitmq.

Set in file “/etc/rabbitmq/rabbitmq-env.conf”

RABBITMQ_MNESIA_BASE=/custompath/lib/rabbitmq/
SSL

For X509 certificate creation have a look at RabbitMQ website.

File: /etc/rabbitmq/rabbitmq.config

[
  {rabbit, [
     {tcp_listeners, []},
     {ssl_listeners, [5671]},
     {ssl_options, [{cacertfile,"/etc/ssl/certs/androlyze_ca.pem"},
                    {certfile,"/etc/ssl/certs/androlyze_server.pem"},
                    {keyfile,"/etc/ssl/private/rabbitmq/androlyze_server.key"},
                    {verify,verify_peer},
                    {fail_if_no_peer_cert,true}]}
   ]}
].

Warning

For errors have a look at the log file:

tail -n 50 /var/log/rabbitmq/rabbit....log

Deployment and Management

AndroLyze follows a classical cluster design. Therefore our deployment and manegement is automized with the help of Fabric which uses ssh to connect to the workers and executes the tasks locally on them.

Therefore you need to do set a few values in the Deployment section of the distributed config file.

Available fabric commands:

    cnt_processes         Cnt "celery worker" processes
    deploy_project        If `user` and/or `passwd` given, use them to authenticate when cloning via http.
    deploy_scripts        Deploy the scripts on the workers. `scripts_src` is the script folder what shall be synced
    deploy_testing        Deploy the testing code on the workers. Intended for usage where changes have not been comitted (or not to master)
    initial_worker_setup  Initial worker setup. Needs root access.
    install_dependencies  Set up the workers
    kill_processes        Kill the workers by sending the kill signal.
    list_processes        List "celery worker" processes
    restart_workers       Restart workers on registered hosts with specified concurrency.
    start_workers         Start workers on registered hosts with specified concurrency.
    stop_workers          Stop all workers.
# uses the username specified in config file or your username
fab start_workers

# don't try public-key auth
fab start_workers -k

# use worker as username
# otherwise
fab start_workers -u worker

# you can also use hosts other than in the config file
fab start_workers -H user@worker

# restart workers with default concurrency=#number of cores
fab restart_workers

# custom conurrency
fab restart_workers:concurrency=16

# use autoscaling, min: #number of cores, max: min * multiplicator
fab restart_workers:autoscale=True,autoscale_mult=2

# kill workers
fab kill_processes

# deploy scripts on workers
fab deploy_scripts:scripts_user/nils/

Warning

# don't use! it will wipe the scripts from other users!
fab deploy_scripts:scripts_user

AndroLyze can be installed either using Docker or manually.

Usage

Import

At first, we create an import database so that we can easily manage our APKs. Importing is not necessary, but enables an improved scheduling which is based on the size of the dex code.

# Import APKs and copy them to the distributed APK storage (mongoDB or Amazon S3 atm.)
# This enables us to send only the id of APK and fetch if from the storage via network
./androimport -cdb apks/

# Copy the APKs to the result dir defined in the config sorted by package name, hash and version name
./androimport -cd apks/

# Do both
./androimport -cd -cdb apks/

# Use a custom import database
./androimport -idb dbs/foo.db -cdb apks/
Manual
worker@cf0c3ee3e7ca:/home/worker/androlyze$ ./androimport --help
INFO: appending "androguard/" to sys.path
usage: androimport [-h] [-idb IMPORT_DATABASE] [-rdb RESULT_DATABASE_NAME]
                   [-c CONFIG] [-q] [-v] [-vl VLOG] [-V] [--yes] [-cd] [-cdb]
                   [-t TAG] [-u] [--concurrency CONCURRENCY]
                   apks [apks ...]

positional arguments:
  apks                  The apk files or directories (with .apk files). Apk
                        files and directories can also be mixed.

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Load a custom config file [default: conf/config.conf].
  -V, --version         show program's version number and exit
  --yes, -y             Autoconfirm question(s) on the command-line interface.
  -t TAG, --tag TAG     Tag the apks
  -u, --update          Update already imported apks
  --concurrency CONCURRENCY
                        Number of processes

database:
  -idb IMPORT_DATABASE, --import-database IMPORT_DATABASE
                        You can supply a custom import database [default:
                        conf/config.conf]
  -rdb RESULT_DATABASE_NAME, --result-database-name RESULT_DATABASE_NAME
                        You can supply a custom result database name.
                        [default: conf/config.conf]

logging:
  -q, --quiet           Be quiet and do not log anything to stdout
  -v, --verbose         Set verbosity [default: 3], 1 -> CRITICAL, 2 -> ERROR,
                        3 -> WARN, 4 -> INFO, 5 -> DEBUG
  -vl VLOG, --verbose-log VLOG
                        Log stdout and stderr to file

apk copying:
  -cd, --copy-disk      Import the .apk file(s) to the storage dir defined in
                        the config file.
  -cdb, --copy-db       Import the .apk file(s) into the database. Optional
                        for the distributed analysis!

Querying

Now that we imported the APKs we can query the import database:

worker@cf0c3ee3e7ca:/home/worker/androlyze$ ./androquery import infos-all
INFO: appending "androguard/" to sys.path
air.de.fahren_lernen.app 3.2.19
    sha256: 913d779289eae02c6712515ce42f89b353f4f2faf645d398ccbe484f662439da
    import date: 2015-06-20 20:07:33
    path: /home/worker/androlyze/apks/02.03.2015_top_free_4/apps_topselling_free/EDUCATION/air.de.fahren_lernen.app.apk
    code size: 435352
    build date: 2015-01-19 12:19:18
air.nn.mobile.app.main 1.4.20
    sha256: 52c7c1974fc4d87821e88a28a36a66f4e78aa23ca0693d88a7bb00ffa1869fb7
    import date: 2015-06-20 20:07:35
    path: /home/worker/androlyze/apks/02.03.2015_top_free_4/apps_topselling_free/EDUCATION/air.nn.mobile.app.main.apk
    code size: 2852236
    build date: 2014-12-05 17:50:42

...
Manual
worker@cf0c3ee3e7ca:/home/worker/androlyze$ ./androquery import --help
INFO: appending "androguard/" to sys.path
usage: androquery import [-h] [--all]
                         {infos,infos-all,versions,paths,package-names,hashes}
                         ...

positional arguments:
  {infos,infos-all,versions,paths,package-names,hashes}
                        Available query commands for import db
    infos               List apks (short description)
    infos-all           List apks (detailed description)
    versions            List versions
    paths               List paths
    package-names       List package names
    hashes              List hashes of apks

optional arguments:
  -h, --help            show this help message and exit
  --all                 Select whole database.

Analysis

The following section shows by example how to trigger the analysis process and how to view the results. All built-in scripts are located in the scripts_builtin folder. User written scripts can be placed in scripts_user.

Decompile

We start by decompiling the APKs (which we previously imported) with androguard’s DAD decompiler. A batch job analyzes one APK after another parallel on all available cores.

./androanalyze scripts_builtin/DecompileClassesText.py -pm parallel
INFO: appending "androguard/" to sys.path
Welcome to AndroLyze!

Using Code Size Scheduling for faster analysis!
Loaded scripts:
DecompileClassesText 0.1
=> [2/101 (1.98 %) | 0:09:30 | com.infraware.office.link 6.0.9]

Because the DecompileClassesText may exceed 16MB - the maximum size of mongoDB documents - the source code is stored binary. This is signaled by the “-nd” switch

$ ./androquery result -sn DecompileClassesText -nd

{
    "chunkSize": 261120,
    "filename": "com.ebay.mobile_2.8.2.1_DecompileClassesText.java",
    "length": 25931939,
    "uploadDate": "2015-06-20T20:46:43.703000",
    "md5": "521bbd5e9ec78a263ddabbd60f921e45",
    "metadata": {
        "decompiled_classes": null,
        "apk meta": {
            "build_date": "2014-11-12T09:57:38",
            "version name": "2.8.2.1",
            "package name": "com.ebay.mobile",
            "tag": null,
            "path": "/home/worker/androlyze/apks/02.03.2015_top_free_4/apps_topselling_free/SHOPPING/com.ebay.mobile.apk",
            "import date": "2015-06-17T17:43:16.024000",
            "sha256": "9e6bf1cb31f5cff3a3d8e39a16ca8c34590ad68ae840b4bb7995f185af0f0994"
        },
        "script meta": {
            "version": "0.1",
            "sha256": "c52a19607c2db12034d409bf3e15546d10199d724a939a63a9699ad0daa14f3f",
            "name": "DecompileClassesText",
            "analysis date": "2015-06-20T20:38:54.705000"
        }
    }
}

MongoDB stores binary files in two collections. One contains the meta information, the other the binary chunks. The last command only showed the meta data. To view the actual content, one has to append the “-r” or “–raw” switch. The following command stores the disassembly of the ebay application in a text file called “com.ebay.mobile.java”.

./androquery result -sn DecompileClassesText -nd -r -pn com.ebay.mobile > com.ebay.mobile.java
Code Permissions

The CodePermissions scripts checks where the app uses which permissions and lists the locations in the code as well as the decompiled code using them. This time we don’t perform the analysis local. Instead we use the distributed system of AndroLyze signaled with the “-pm distributed switch. The default parallelization mode can be customized in the config file.

If the APKs have been imported to MongoDB or Amazon S3 one should use the “-si” switch so that only the hashes of the APKs are send.

The following command insteads serializes the APKs and includes them in the message, stored in the distributed task queue:

worker@06f5e795c279:/home/worker/androlyze$ ./androanalyze scripts_builtin/CodePermissions.py -pm distributed
INFO: appending "androguard/" to sys.path
Welcome to AndroLyze!

Using Code Size Scheduling for faster analysis!
Loaded scripts:
CodePermissions 0.1
Will serialize .apk data!
Registered workers: celery@06f5e795c279
Number of apks to analyze: 101
Task publishing progress:
Send tasks: 101, current task id: 5c9f66e7-678d-4d7e-a252-79f44938a303, queue: analyze_apk
Analysis progress:
Successful: 100, Failed: 0, Total: 100/101 (99.01 %) -- Time elapsed: 0:49:08
analysis done ...
Successful: 101, Failed: 0, Total: 101/101 (100.00 %) -- Time elapsed: 0:49:09
WARNING: Analyzed 101 apks
done
WARNING: Took 0:49:10 (h/m/s)

The result can be queried like this:

{
    "apk meta": {
        "package name": "com.ebay.mobile",
        "version name": "2.8.2.1",
        "sha256": "9e6bf1cb31f5cff3a3d8e39a16ca8c34590ad68ae840b4bb7995f185af0f0994",
        "import date": "2015-06-20T20:08:07.745000",
        "build_date": "2014-11-12T09:57:38",
        "path": "/home/worker/androlyze/apks/02.03.2015_top_free_4/apps_topselling_free/SHOPPING/com.ebay.mobile.apk",
        "tag": null
    },
    "script meta": {
        "name": "CodePermissions",
        "sha256": "9fae70af3c3ec7693a1f454d67633442da7d5173aab304b25f04be49f6459e47",
        "analysis date": "2015-06-21T15:59:23.837000",
        "version": "0.1"
    },
    "code permissions": {
        "listing": {
            "ACCESS_NETWORK_STATE": [
                "Lcom.ebay.mobile.notifications.PushService$LogNotificationRequest.buildXmlRequest",
                "Lcom.ebay.common.net.api.cal.LogMessage$LogMessageClientDetails.createLogMessageClientDetail",
                "Lcom.google.android.gms.internal.ec.<init>",
                "LRLSDK.a.a",
                "Lcom.ebay.nautilus.kernel.net.Connector.getConnectedNetworkInfo",
                "Lcom.ebay.mobile.analytics.mts.MtsAnalyticsAdapter.getNetworkType",
                "Lcom.paypal.android.lib.riskcomponent.RiskComponent.getRefreshedRiskBlob",
                "Lcom.google.android.gms.internal.ec.a"
            ],
            "NFC": [
                "Lcom.ebay.mobile.NfcCompat.isBeamPushEnabled"
            ],
        },
        ...
    "code": {
        "ACCESS_NETWORK_STATE": [
            {
                "Lcom_ebay_mobile_analytics_mts_MtsAnalyticsAdapter_getNetworkType": [
                    "    public static String getNetworkType(android.content.Context p3)",
                    "    {",
                    "        String v1;",
                    "        android.net.NetworkInfo v0 = com.ebay.nautilus.kernel.net.Connector.getConnectedNetworkInfo(p3);",
                    "        if (v0 != null) {",
                    "            switch (v0.getType()) {",
                    "                case 0:",
                    "                    v1 = \"cell\";",
                    "                    break;",
                    "                case 1:",
                    "                    v1 = \"wifi\";",
                    "                    break;",
                    "                case 9:",
                    "                    v1 = \"ethernet\";",
                    "                    break;",
                    "                default:",
                    "                    v1 = \"Unknown\";",
                    "            }",
                    "        } else {",
                    "            v1 = \"Unknown\";",
                    "        }",
                    "        return v1;",
                    "    }"
                ]
            },
    ...
    }
}
Manual
worker@cf0c3ee3e7ca:/home/worker/androlyze$ ./androanalyze -h
INFO: appending "androguard/" to sys.path
usage: androanalyze [-h] [-idb IMPORT_DATABASE] [-rdb RESULT_DATABASE_NAME]
                    [-c CONFIG] [-q] [-v] [-vl VLOG] [-V] [--yes]
                    [--apks APKS [APKS ...] | --hashes HASHES [HASHES ...] |
                    --package-names PACKAGE_NAMES [PACKAGE_NAMES ...] | --tags
                    TAGS [TAGS ...]] [-pm {parallel,distributed,non-parallel}]
                    [--no-sort-code-size] [--concurrency CONCURRENCY] [-si]
                    [scripts [scripts ...]]

positional arguments:
  scripts               The scripts to use for the security audit. If nothing
                        given, use defaults read from
                        conf/script_settings.json

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Load a custom config file [default: conf/config.conf].
  -V, --version         show program's version number and exit
  --yes, -y             Autoconfirm question(s) on the command-line interface.

database:
  -idb IMPORT_DATABASE, --import-database IMPORT_DATABASE
                        You can supply a custom import database [default:
                        conf/config.conf]
  -rdb RESULT_DATABASE_NAME, --result-database-name RESULT_DATABASE_NAME
                        You can supply a custom result database name.
                        [default: conf/config.conf]

logging:
  -q, --quiet           Be quiet and do not log anything to stdout
  -v, --verbose         Set verbosity [default: 3], 1 -> CRITICAL, 2 -> ERROR,
                        3 -> WARN, 4 -> INFO, 5 -> DEBUG
  -vl VLOG, --verbose-log VLOG
                        Log stdout and stderr to file

filter:
  --apks APKS [APKS ...]
                        The apk files or directories (with .apk files). Apk
                        files and directories can also be mixed. If non given,
                        use the imported apks. Will not import the apks into
                        the import database!
  --hashes HASHES [HASHES ...]
                        The hash of the apk from which you want to retrieve
                        information. If hash(es) are supplied, given package
                        names will be ignored !
  --package-names PACKAGE_NAMES [PACKAGE_NAMES ...]
                        The package names of the apks from which you want to
                        retrieve information.
  --tags TAGS [TAGS ...]
                        Only show infos for apks with specified tag(s)

Parallelization parameters:
  -pm {parallel,distributed,non-parallel}, --parallelization-mode {parallel,distributed,non-parallel}
                        Choose the parallelization mode. If none supplied,
                        default value from config file will be used!
  --no-sort-code-size, -nscs
                        By default sort apks by code size (descending) ->
                        Analyze bigger code first. Use this switch to disable
                        this behavior
  --concurrency CONCURRENCY
                        Number of workers to spawn. Only for parallel mode
  -si, --send-id        Send id of apk file rather than actual file. Needs
                        import with -cdb first!

Result evaluation

In the same way you can write a script you can also define how to perform queries against the result database. Have a look at the Eval class of the script template.

The class enables a direct way to the API of the MongoDB driver as well as the simplified query API from AndroLyze.

But be sure you have ran it before:

worker@ee6ff2ae704e:/home/worker/androlyze$ ./androanalyze androlyze/model/script/ScriptTemplate.py --apks apks/
INFO: appending "androguard/" to sys.path
Welcome to AndroLyze!

Loaded scripts:
ScriptTemplate 0.1
WARNING: Analyzed 1 apks
done
WARNING: Took 0:00:01 (h/m/s)

The script can be evaluated by running:

worker@ee6ff2ae704e:/home/worker/androlyze$ ./androeval androlyze/model/script/ScriptTemplate.py
INFO: appending "androguard/" to sys.path
evaluating 'ScriptTemplate' version: 0.1
{u'_id': u'5d3e57fdbea31b2f0f1fa0e30b6df866d7b25b60bda3a6ccfd77f0490fa36c12',
 u'apk meta': OrderedDict([(u'package name', u'de.uni_marburg.ipcinetcallee'), (u'version name', u'1.0'), (u'sha256', u'2289f4ec4d4c753e920f7841a5f329ecc6abec3d2865b85bb9a55467cb056877'), (u'import date', None), (u'build_date', datetime.datetime(2015, 4, 21, 19, 35, 56)), (u'path', None), (u'tag', None)])}
WARNING: Took 0:00:00 (h/m/s)

The result shows the query performed in ScriptTemplate._evaluate() directly using the mongodb driver and shows an equivalent query using AndroLyze.

Manual
worker@06f5e795c279:/home/worker/androlyze$ ./androeval -h
INFO: appending "androguard/" to sys.path
usage: androeval [-h] [-idb IMPORT_DATABASE] [-rdb RESULT_DATABASE_NAME]
                 [-c CONFIG] [-q] [-v] [-vl VLOG] [-V] [--yes]
                 [scripts [scripts ...]]

positional arguments:
  scripts               Scripts for the db analysis

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Load a custom config file [default: conf/config.conf].
  -V, --version         show program's version number and exit
  --yes, -y             Autoconfirm question(s) on the command-line interface.

database:
  -idb IMPORT_DATABASE, --import-database IMPORT_DATABASE
                        You can supply a custom import database [default:
                        conf/config.conf]
  -rdb RESULT_DATABASE_NAME, --result-database-name RESULT_DATABASE_NAME
                        You can supply a custom result database name.
                        [default: conf/config.conf]

logging:
  -q, --quiet           Be quiet and do not log anything to stdout
  -v, --verbose         Set verbosity [default: 3], 1 -> CRITICAL, 2 -> ERROR,
                        3 -> WARN, 4 -> INFO, 5 -> DEBUG
  -vl VLOG, --verbose-log VLOG
                        Log stdout and stderr to file

Writing A Script

Script requirements

For performance issues, you need to define which features your script needs.

The Analyzer checks the minimum requirements to run all supplied scripts. You can see it at the beginning of the analysis if you set the logging level to info (via the -vvvv switch).

The more features a script requires, the longer it will take.

Currently, there are 5 possible ones:

Have a look at the links to get further information or simply test wether you need them (AndroScript.test()).

Logging

AndroLyzeLab comes with a built-in logging object which is directly connected to MongoDB. Internally the logging object is represented as an collections.OrderedDict.

Before you can use it, you have to register the basic structure. This is intended for better comparison of the results afterwards.

If you try to log to some key that hasn’t been registered, an exception will be raised. Therefore you should test your script locally before you run it on a cluster!

During the script development you should use the the static function AndroScript.test() to test if your script runs correctly.

There are three different keys that you can register and/or log to:

  • bool: Registers a boolean key. Will be set to False by default.
  • enum: Register an enumeration key. Will create a list internally which can be used to append iterative.
  • normal: Will register None as default. You can log any JSON Serializable data.
Demo

The logging is pretty self-explenatory. So we don’t have to spend much time here. Just have a look at the logging of this very simple script and the produced output:


# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

#categories
CAT_CLASS_DETAILS = "class details"
CAT_METHODS = "methods"
CAT_FIELDS = "fields"

class ShowLoggingFuncs(AndroScript):
    ''' Example for demonstrating available logging options and to do some query checks '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        res = self.res

        CAT_UNLOGGED = "category1", "category2", "unlogged"
        CAT_LOGGED = "category1", "category2", "logged"

        res.register_keys(["normal"], *CAT_LOGGED)
        res.register_keys(["normal"], *CAT_UNLOGGED)
        res.register_bool_keys(["bool"], *CAT_LOGGED)
        res.register_bool_keys(["bool"], *CAT_UNLOGGED)
        res.register_enum_keys(["enum"], *CAT_LOGGED)
        res.register_enum_keys(["enum"], *CAT_UNLOGGED)

        res.log("normal", "some value", *CAT_LOGGED)
        res.log_true("bool", *CAT_LOGGED)
        res.log_append_to_enum("enum", "list element", *CAT_LOGGED)

There are a few things to notice. First there is a static and a dynamic part of the result. The categories “apk meta” and “script meta” are part of every result. The dynamic part is the data you log. Second it shows the result layout before and after logging values to it. The layout after registering the basic layout can be seen at (“category1”, “category2”, “unlogged”). The final result after logging some values to it can be seen at (“category1”, “category2”, “logged”).

{
        "apk meta": {
                "package name": "com.myfitnesspal.android",
                "version name": "3.7.3",
                "sha256": "4d2afc03880795a561e8eb762314d135d7a777d50daa72fafbcb64b1cbb7ae4d",
                "import date": "2015-06-20T20:07:49.775000",
                "build_date": "2015-02-09T07:47:10",
                "path": "/home/worker/androlyze/apks/02.03.2015_top_free_4/apps_topselling_free/HEALTH_AND_FITNESS/com.myfitnesspal.android.apk",
                "tag": null
        },
        "script meta": {
                "name": "ShowLoggingFuncs",
                "sha256": "2331b99382b960948d38c7ba85789ca903c02d0e42ddda7603138d413c78e889",
                "analysis date": "2015-06-21T19:26:40.158000",
                "version": "0.1"
        },
        "category1": {
                "category2": {
                        "logged": {
                                "normal": "some value",
                                "bool": true,
                                "enum": [
                                        "list element"
                                ]
                        },
                        "unlogged": {
                                "normal": null,
                                "bool": false,
                                "enum": []
                        }
                }
        }
}

Note

The fact that you need to register a structure doesn’t mean you can’t log to dynamic keys. It just means you have to register the key before you try to log to it!

Using different output formats

You don’t have to use the built-in ResultObject for logging. You can also supply your custom log object and specify a custom file name extension.

Just have a look at the following example which creates a control flow graph and store’s it as .gexf file:


# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

class GVMAnalysisExample(AndroScript):
    ''' Example that uses the `GVMAnalysis` object from `androguard` to create a graph '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        self.cres = gvm_analysis.export_to_gexf()

    def custom_result_object(self):
        '''
        Overwrite this method, if you want to use your own result logging framework/object,
        You can supply it here and access it via `self.cres`.
        
        E.g. you could return ("", "txt") for simply logging with a string to a .txt file.
        
        Returns
        -------
        tuple<object, str>
            First argument is the result object you want to use,
            the second is the file name extension used for storage (without a leading point)
        '''
        # Simply use str for logging
        # The first parameter isn't needed at all,
        # because we only set the result at the end of the _analyze method
        return ("", "gexf")
    
    def needs_gvmanalysis(self):
        return True
    
Common mistakes
  • Forgetting to unpack tuple for category usage!

    res.log("key", "value", ("foo", "bar"))
    

instead of

res.log("key", "value", *("foo", "bar"))

Script Template

Use the following as a template to write your custom script.

The basics steps for writing a custom scripts are:

  • rename the script class (has to be the same name as the module!)
  • change the AndroScript._analyze() method to reflect your custom analysis
  • define the script requirements needed (by default everything is disabled allowing only to access the basic Apk class)

Optional:

  • use a custom logging object (e.g. to store the data to a file)
  • save the results in MongoDBs gridFS if they may exceed 16MB

Note

There is a utility class for disassembling, decompiling, accessing the abstract syntrax tree etc. Have a look at AnaUtil

This is the template:


# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

# TODO: RENAME THE SCRIPT AND MODULE NAME!!
from androlyze.model.script.dblyze.DBLyze import DBLyze
from pprint import pprint

class ScriptTemplate(AndroScript):
    ''' Template for writing a custom `AndroScript` '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        '''
        Overwrite this function in apk subclass to build your own script!
        Use the `ResultObject` for logging.

        Parameters
        ----------
        apk: EAndroApk
        dalvik_vm_format: DalvikVMFormat
            Parsed .dex file.
            Only available if `needs_dalvik_vm_format` returns True.
        vm_analysis: VMAnalysis
            Dex analyzer.
            Only available if `needs_vmanalysis` returns True.
        gvm_analysis : GVMAnalysis
        '''
        # TODO: CUSTOMIZE

        #categories
        CAT_FILES = "files"

        res = self.res

        res.register_keys([CAT_FILES])

        # files
        res.log(CAT_FILES, apk.get_files())

    def custom_result_object(self):
        '''
        Overwrite this method, if you want to use your own result logging framework/object,
        You can supply it here and access it via `self.cres`.

        E.g. you could return ("", "txt") for simply logging with a string to a .txt file.

        The str representation of it will be stored!


        The `ResultObject` in `self.res` is still existing and internally used to log some meta information.

        Returns
        -------
        tuple<object, str>
            First argument is the result object you want to use,
            the second is the file name extension used for storage (without a leading point)
        '''
        raise NotImplementedError

    def reset(self):
        '''
        Reset the `AndroScript` so that it can be used for a new analysis.
        If you do a custom initialization in your script,
        you probably want do put the init code inside this method.

        Don't forget to call the super `reset` !
        '''
        super(ScriptTemplate, self).reset()

    ############################################################
    #---Script requirements
    ############################################################

    def needs_dalvik_vm_format(self):
        ''' Gives access to the `DalvikVMFormat` object which is a parser for the classes.dex file '''
        return False

    def needs_vmanalysis(self):
        ''' Gives access to the `VMAnalysis` object which is a analyzer for the `DalvikVMFormat` object '''
        return False

    def needs_gvmanalysis(self):
        ''' Gives access to the `GVMAnalysis` object.
        Creates a graph which you can use for export (gexf etc) or do your custom stuff
        '''
        return False

    def needs_xref(self):
        ''' Create cross references '''
        return False

    def needs_dref(self):
        ''' Create data references '''
        return False

    ############################################################
    #---Options
    ############################################################

    def create_script_stats(self):
        ''' If true, create some script statistics and
        write them into the `ResultObject` '''
        return False

    def is_big_res(self):
        ''' Return true, if your result may exceed 16mb.
        This will store your data (str() of `self.cres`) in mongodb's gridfs.

        You don't need to return true, if you're using a different result object! (see :py:meth:`.custom_result_object`)
        This will be done automatically.
        '''
        return False

class Eval(DBLyze):

    # Evaluate ScripTemplate
    ON_SCRIPT = ScriptTemplate

    def _evaluate(self, storage):
        '''
        Evaluate the script results.

        Parameters
        ----------
        storage : RedundantStorage
        '''

        # Use either the AndroLyze query API:

        # iterate over the results (one result per APK = iteration)
        for ordered_dict in self.action_query_result_db():
            # do something else than just printing the dictionary
            #pprint(dict(ordered_dict))
            pass

        # Or perform a direct query on the mongodb API:

        # get the mongodb singleton
        mongodb = storage.result_db_storage
        for ordered_dict in mongodb.get_res_coll().find({"script meta.name" : "ScriptTemplate"}, {"apk meta" : 1}):
            pprint(dict(ordered_dict))

# testing code
if __name__ == '__main__':
    for res in AndroScript.test(ScriptTemplate, ["../../../../testenv/apks/a2dp.Vol.apk"]):
        print res
        print res.write_to_json()

Script Chaining

Use the ChainedScript to chain multiple AndroScript

Either derive from it, or use the chained_script() function to generate a ChainedScript

Have a look at this example of a ChainedScript which chains scripts like Activities, Services, Permissions etc:


# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script import ScriptUtil
from androlyze.model.script.ChainedScript import ChainedScript
from androlyze.model.script.impl.manifest.Files import Files
from androlyze.model.script.impl.manifest.Libs import Libs
from androlyze.model.script.impl.manifest.Permissions import Permissions
from androlyze.model.script.impl.manifest.components.Activities import Activities
from androlyze.model.script.impl.manifest.components.BroadcastReceivers import BroadcastReceivers
from androlyze.model.script.impl.manifest.components.ContentProviders import ContentProviders
from androlyze.model.script.impl.manifest.components.Intents import Intents
from androlyze.model.script.impl.manifest.components.Services import Services
from androlyze.model.script.impl.manifest.Manifest import Manifest
from androlyze.model.script.impl.manifest.components.PublicContentProviders import PublicContentProviders

class ChainedApkInfos(ChainedScript):
    ''' The same as the `ApkInfo` script, but build using modular scripts chained together '''

    VERSION = "0.1"

    def chain_scripts(self):
        # use the chained_script function to do further grouping
        components = ScriptUtil.chained_script([Activities(), Services(), BroadcastReceivers(),
                                                ContentProviders(), PublicContentProviders(),
                                                 Intents()], ("components", ), name = "components")

        return [components, Permissions(), Libs(), Files(), Manifest()]

    def root_categories(self):
        return ('apkinfo', )

    def log_chained_script_meta_infos(self):
        ''' By default some information will be logged.
        Like e.g. the scripts used, which ran successful and which failed.
        '''
        return False

There are 5 interesting methods you should see:

  • ChainedScript.root_categories()

  • ChainedScript.chain_scripts()

  • ChainedScript.log_chained_script_meta_infos().

    "ChainedScript": {
        "scripts": [
            "ChainedApkInfos",
            "dvm"
        ],
        "successful": [
            "ChainedApkInfos"
        ],
        "failures": [
                "dvm"
                ]
            }
        ]
    }
    
  • ChainedScript.continue_on_script_failure()

  • ChainedScript.log_script_failure_exception(). Example:

    "ChainedScript": {
        "scripts": [
            "ChainedApkInfos",
            "dvm"
        ],
        "successful": [
            "ChainedApkInfos"
        ],
        "failures": [
            {
                "dvm": [
                    "Traceback (most recent call last):\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/model/script/ChainedScript.py\", line 71, in _analyze\n    script_result = ascript.analyze(apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/model/script/AndroScript.py\", line 120, in analyze\n    time_s = timeit(self._analyze, *((apk, dalvik_vm_format, vm_analysis, gvm_analysis) +  args), **kwargs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/util/Util.py\", line 165, in timeit\n    res = func(*args, **kwargs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/model/script/ChainedScript.py\", line 71, in _analyze\n    script_result = ascript.analyze(apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/model/script/AndroScript.py\", line 120, in analyze\n    time_s = timeit(self._analyze, *((apk, dalvik_vm_format, vm_analysis, gvm_analysis) +  args), **kwargs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/util/Util.py\", line 165, in timeit\n    res = func(*args, **kwargs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androlyze/model/script/impl/Disassembly.py\", line 42, in _analyze\n    ms.process()\n",
                    "  File \"/home/nils/Dropbox/androlyze/androguard/androguard/decompiler/dad/decompile.py\", line 105, in process\n    register_propagation(graph, uses, defs)\n",
                    "  File \"/home/nils/Dropbox/androlyze/androguard/androguard/decompiler/dad/dataflow.py\", line 241, in register_propagation\n    logger.debug('  Used vars: %s', ins.get_used_vars())\n",
                    "  File \"/home/nils/Dropbox/androlyze/androguard/androguard/decompiler/dad/instruction.py\", line 392, in get_used_vars\n    lused_vars.extend(v_m[self.rhs].get_used_vars())\n",
                    "KeyError: 0\n"
                ]
            }
        ]
    }
    

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

import sys

from androlyze.log.Log import log
from androlyze.model.script.AndroScript import AndroScript
from androlyze.util import Util
from androlyze.analyze.exception import AndroScriptError

CAT_ROOT = "ChainedScript"
CAT_SCRIPTS = "scripts"
CAT_SUCCESSFUL = "successful"
CAT_FAILURES = "failures"

class ChainedScript(AndroScript):
    ''' This script can be used to chain multiple `AndroScript`s together.
    This means that all scripts will run but you only get one result file.

    This allows you to split your scripts into smaller modules and combine them as you need.

    This works by supplying the `AndroScript`s
    which shall be chained via the `chain_scripts` method.

    See Also
    --------
    SampleChainScript : An example how to chain several scripts
    '''

    def __init__(self, androscripts = None, root_categories = (), name = None,
                   log_chained_script_meta_infos = True, continue_on_script_failure = True,
                   log_script_failure_exception = False, **kwargs):
        '''
        Parameters
        ----------
        androscripts : list<type<AndroScript>>, optional (default is [])
            List of references to the classes of the scripts to use (uninstantiated classes)
        root_categories : tuple<str>, optional (default is ())
            Categories under which you want to store the results of the scripts.
            Empty tuple means no category at all
        name : str, optional (default is class name)
            If given set the name of the created class.
        log_chained_script_meta_infos : bool, optional (default is False)
            Will be passed to the `ChainedScript` subclass.
            Meaning no meta information will be created from it (related to the chained scripts)
        continue_on_script_failure : bool, optional (default is True)
        log_script_failure_exception : bool, optional (default is False)


        Raises
        ------
        AndroScriptError
            If an error happened while setting the scripts.
        '''

        if androscripts is None:
            androscripts = []

        self.__androscripts = androscripts
        self.__root_categories = root_categories
        self.__log_chained_script_meta_infos = log_chained_script_meta_infos
        self.__continue_on_script_failure = continue_on_script_failure
        self.__log_script_failure_exception = log_script_failure_exception

        # call after instance variables have been set up because super also calls reset()
        super(ChainedScript, self).__init__()

        self.name = name or self.__class__.__name__

        # set scripts
        self.set_androscripts(self.__androscripts)

        # call after scripts have been initialized!
        self.reset()

    def __str__(self):
        return repr(self)

    def __repr__(self):
        return '%s(%s)' % (self.name, self.chain_scripts())

    def get_androscripts(self):
        return self.__androscripts

    def set_androscripts(self, value):
        '''
        Raises
        ------
        AndroScriptError
            If an error happened while setting the scripts.
        '''
        for script in value:
            # script not initialized
            if isinstance(script, type):
                raise AndroScriptError(script, caused_by = None, additional_text = "The scripts needs to be initialized!")

        self.__androscripts = value

    def del_androscripts(self):
        del self.__androscripts

    androscripts = property(get_androscripts, set_androscripts, del_androscripts, "list<AndroScript> : List of scripts that will run")

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        ''' Analyze by running all `AndroScript`s '''

        # log script meta ?
        log_script_meta = kwargs.get("log_script_meta", True)
        # may be disabled! check!
        if not self.log_chained_script_meta_infos():
            log_script_meta = False

        # don't log script meta infos in chained scripts inside this `ChainedScript`
        kwargs["log_script_meta"] = False

        if log_script_meta:
            # log meta infos
            self._log_chained_script_meta()

        # collect results from scripts
        collected_results = self.res

        # run over scripts
        for ascript in self.chain_scripts():
            script_result = None
            chained_script_name = self.try_get_chained_script_name(ascript)
            try:
                # analyze with script
                script_result = ascript.analyze(apk, dalvik_vm_format, vm_analysis, gvm_analysis,
                                                *args, **kwargs)

                # store results under given categories
                categories = self.root_categories()
                if len(categories) > 0:
                    # run over dict and log items
                    for key, val in script_result.results.items():
                        collected_results.register_keys([key], *categories)
                        collected_results.log(key, val, *categories)

                else:
                    # simply update dict
                    collected_results.results.update(script_result.results)

                if log_script_meta:
                    # log successful run
                    collected_results.log_append_to_enum(CAT_SUCCESSFUL, chained_script_name, CAT_ROOT)

            except Exception as e:
                if log_script_meta:
                    # the value that will be logged for the script failure
                    failure_log_val = chained_script_name

                    # if exception shall be logged, create dict with name as key and exception as value
                    if self.log_script_failure_exception():
                        # exception message
                        exc_msg = Util.format_exception(sys.exc_info(), as_string = False)
                        failure_log_val = {failure_log_val : exc_msg}

                    # log that script encountered an error
                    collected_results.log_append_to_enum(CAT_FAILURES, failure_log_val, CAT_ROOT)

                if not self.continue_on_script_failure():
                    # reraise exception if the analysis shall be stopped
                    # after a script encountered an error
                    raise
                else:
                    log.warn('''%s: The script "%s" on apk: %s caused an error! But the other scripts will still run! Have a look at the options of `ChainedScript` for exception traceback writing!
\tError: %s''' % (self.__class__.__name__, ascript, apk.short_description(), e))

    def _log_chained_script_meta(self):
        ''' Log all scripts that are chained through this class
        and register the structure to log successful and unsuccessful scripts
        '''
        res = self.res

        # register and log all chained scripts
        res.register_keys([CAT_SCRIPTS], CAT_ROOT)
        res.log(CAT_SCRIPTS, [self.try_get_chained_script_name(s) for s in self.chain_scripts()], CAT_ROOT)

        # register structure for successful and failed scripts
        res.register_enum_keys([CAT_SUCCESSFUL, CAT_FAILURES], CAT_ROOT)

    @staticmethod
    def __remove_unnecessary_values(_dict):
        ''' Removes chained script meta information from the dictionary `_dict` '''
        try:
            del _dict[CAT_ROOT]
        except KeyError:
            pass

    @staticmethod
    def is_chained_script(script):
        ''' Check if the `script` is a `ChainedScript` '''
        return isinstance(script, ChainedScript)

    @staticmethod
    def try_get_chained_script_name(script):
        ''' If `script` is a `ChainedScript`, use the repression instead of the script name '''
        return repr(script) if ChainedScript.is_chained_script(script) else script.name

    def reset(self):
        super(ChainedScript, self).reset()

        for ascript in self.chain_scripts():
            ascript.reset()

    ############################################################
    #---ChainedScript options
    # Specify the options in your subclass as needed
    ############################################################

    def root_categories(self):
        ''' Return a tuple<str> under which you want to store the results of the scripts.
        Empty tuple means no category at all'''
        if self.__root_categories is not None:
            return self.__root_categories
        return ()

    def chain_scripts(self):
        '''
        Use this method to specify which scripts shall be chained together.

        Be careful to only return a reference to the class (`type`).
        So do not instantiate them!

        Returns
        -------
        androscripts : list<AndroScript>
            List of scripts to use (instantiated classes)
        '''
        if self.__androscripts:
            return self.__androscripts

        raise NotImplementedError

    def log_chained_script_meta_infos(self):
        ''' By default some information will be logged.
        Like e.g. the scripts used, which ran successful and which failed.
        '''
        return self.__log_chained_script_meta_infos

    def continue_on_script_failure(self):
        ''' Specify if the analysis shall continue if a script encounters an error '''
        return self.__continue_on_script_failure

    def log_script_failure_exception(self):
        ''' If true, write the exception into the result file.
        Only usable if `log_chained_script_meta_infos` returns True.
        '''
        return self.__log_script_failure_exception

    ############################################################
    #---Options
    # Determine needed options by querying
    # which options the scripts need
    ############################################################

    def needs_dalvik_vm_format(self):
        return any([s.needs_dalvik_vm_format() for s in self.chain_scripts()])

    def needs_vmanalysis(self):
        return any([s.needs_vmanalysis() for s in self.chain_scripts()])

    def needs_gvmanalysis(self):
        return any([s.needs_gvmanalysis() for s in self.chain_scripts()])

    def needs_xref(self):
        return any([s.needs_xref() for s in self.chain_scripts()])

    def needs_dref(self):
        return any([s.needs_dref() for s in self.chain_scripts()])

The heart of AndroLyze are the scripts which provide the analysis functionality based on androguard. Analysis results can be stored easily with the logging framework which is directly connected to the result database.

Scripts can be written in a very modular way and chained together to provide the final result. We call this Script Chaining.

During the script development one can test it locally to ensure it is correct before running it the first time on a cluster or in the cloud.

The following sites provide a more depth understanding how scripts work and how a new script can be written.

Scripts Demonstration

The following list shows the usage and functionality of each of the built-in scripts of AndroLyze.

ASTifyMethodsText

This is an autogenerated documentation file for the script: ASTifyMethodsText

Run it
$ ./androanalyze scripts_builtin/ASTifyMethodsText.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ASTifyMethodsText -pn com.spotify.music

 Empty
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ASTifyMethodsText -pn com.spotify.music -nd

 {
     "chunkSize": 261120,
     "filename": "com.spotify.music_2.2.0.636_ASTifyMethodsText.json",
     "length": 108420752,
     "uploadDate": "2015-06-22T20:29:52.796000",
     "md5": "022fd074f370ef3b088a83e48b925079",
     "metadata": {
         "apk meta": {
             "package name": "com.spotify.music",
             "version name": "2.2.0.636",
             "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
             "import date": "2015-04-14T15:10:06.364000",
             "build_date": "2015-02-11T12:25:40",
             "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
             "tag": null
         },
         "script meta": {
             "name": "ASTifyMethodsText",
             "sha256": "81fbe5fbb8c13435bc760d67b482defc467675f05214bba3b335a6b392f2dbaa",
             "analysis date": "2015-06-22T20:13:39.343000",
             "version": "0.3"
         }
     }
 }

View the raw data:

$ ./androquery result -sn ASTifyMethodsText -pn com.spotify.music -nd -r

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p1']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/Window$Callback', 0)],
              ['Local', 'p1']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             '<init>',
             '(Landroid/view/Window$Callback;)V')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'dispatchGenericMotionEvent',
               '(Landroid/view/MotionEvent;)Z'),
              'dispatchGenericMotionEvent',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/MotionEvent', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'dispatchGenericMotionEvent',
             '(Landroid/view/MotionEvent;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'dispatchKeyEvent',
               '(Landroid/view/KeyEvent;)Z'),
              'dispatchKeyEvent',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/KeyEvent', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'dispatchKeyEvent',
             '(Landroid/view/KeyEvent;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'dispatchKeyShortcutEvent',
               '(Landroid/view/KeyEvent;)Z'),
              'dispatchKeyShortcutEvent',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/KeyEvent', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'dispatchKeyShortcutEvent',
             '(Landroid/view/KeyEvent;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'dispatchPopulateAccessibilityEvent',
               '(Landroid/view/accessibility/AccessibilityEvent;)Z'),
              'dispatchPopulateAccessibilityEvent',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName',
               ('android/view/accessibility/AccessibilityEvent', 0)],
              ['Local', 'p2']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'dispatchPopulateAccessibilityEvent',
             '(Landroid/view/accessibility/AccessibilityEvent;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'dispatchTouchEvent',
               '(Landroid/view/MotionEvent;)Z'),
              'dispatchTouchEvent',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/MotionEvent', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'dispatchTouchEvent',
             '(Landroid/view/MotionEvent;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'dispatchTrackballEvent',
               '(Landroid/view/MotionEvent;)Z'),
              'dispatchTrackballEvent',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/MotionEvent', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'dispatchTrackballEvent',
             '(Landroid/view/MotionEvent;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onActionModeFinished',
               '(Landroid/view/ActionMode;)V'),
              'onActionModeFinished',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/ActionMode', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onActionModeFinished',
             '(Landroid/view/ActionMode;)V')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onActionModeStarted',
               '(Landroid/view/ActionMode;)V'),
              'onActionModeStarted',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/ActionMode', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onActionModeStarted',
             '(Landroid/view/ActionMode;)V')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback', 'onAttachedToWindow', '()V'),
              'onAttachedToWindow',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']]]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onAttachedToWindow',
             '()V')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback', 'onContentChanged', '()V'),
              'onContentChanged',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']]]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d', 'onContentChanged', '()V')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onCreatePanelMenu',
               '(ILandroid/view/Menu;)Z'),
              'onCreatePanelMenu',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2'],
               ['Local', 'p3']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p2']],
             [['TypeName', ('android/view/Menu', 0)], ['Local', 'p3']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onCreatePanelMenu',
             '(ILandroid/view/Menu;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onCreatePanelView',
               '(I)Landroid/view/View;'),
              'onCreatePanelView',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('android/view/View', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onCreatePanelView',
             '(I)Landroid/view/View;')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onDetachedFromWindow',
               '()V'),
              'onDetachedFromWindow',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']]]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onDetachedFromWindow',
             '()V')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onMenuItemSelected',
               '(ILandroid/view/MenuItem;)Z'),
              'onMenuItemSelected',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2'],
               ['Local', 'p3']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p2']],
             [['TypeName', ('android/view/MenuItem', 0)], ['Local', 'p3']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onMenuItemSelected',
             '(ILandroid/view/MenuItem;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onMenuOpened',
               '(ILandroid/view/Menu;)Z'),
              'onMenuOpened',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2'],
               ['Local', 'p3']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p2']],
             [['TypeName', ('android/view/Menu', 0)], ['Local', 'p3']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onMenuOpened',
             '(ILandroid/view/Menu;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onPanelClosed',
               '(ILandroid/view/Menu;)V'),
              'onPanelClosed',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2'],
               ['Local', 'p3']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p2']],
             [['TypeName', ('android/view/Menu', 0)], ['Local', 'p3']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onPanelClosed',
             '(ILandroid/view/Menu;)V')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onPreparePanel',
               '(ILandroid/view/View;Landroid/view/Menu;)Z'),
              'onPreparePanel',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2'],
               ['Local', 'p3'],
               ['Local', 'p4']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p2']],
             [['TypeName', ('android/view/View', 0)], ['Local', 'p3']],
             [['TypeName', ('android/view/Menu', 0)], ['Local', 'p4']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onPreparePanel',
             '(ILandroid/view/View;Landroid/view/Menu;)Z')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback', 'onSearchRequested', '()Z'),
              'onSearchRequested',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']]]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onSearchRequested',
             '()Z')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onWindowAttributesChanged',
               '(Landroid/view/WindowManager$LayoutParams;)V'),
              'onWindowAttributesChanged',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/WindowManager$LayoutParams', 0)],
              ['Local', 'p2']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onWindowAttributesChanged',
             '(Landroid/view/WindowManager$LayoutParams;)V')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onWindowFocusChanged',
               '(Z)V'),
              'onWindowFocusChanged',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.boolean', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onWindowFocusChanged',
             '(Z)V')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('android/view/Window$Callback',
               'onWindowStartingActionMode',
               '(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;'),
              'onWindowStartingActionMode',
              True,
              [['FieldAccess',
                ('com/spotify/mobile/android/util/ui/d',
                 'a',
                 'Landroid/view/Window$Callback;'),
                ['Local', 'this']],
               ['Local', 'p2']]]]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('android/view/ActionMode$Callback', 0)],
              ['Local', 'p2']]],
  'ret': ['TypeName', ('android/view/ActionMode', 0)],
  'triple': ('com/spotify/mobile/android/util/ui/d',
             'onWindowStartingActionMode',
             '(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             None,
             [['TypeName', ('com/a/a/a/a', 0)], ['Local', 'v0_3']]],
            ['IfStatement',
             None,
             ['BinaryInfix',
              '!=',
              ['Local', 'p2'],
              ['Literal', 'null', ('.null', 0)]],
             [['BlockStatement',
               None,
               [['LocalDeclarationStatement',
                 ['MethodInvocation',
                  ('android/os/IBinder',
                   'queryLocalInterface',
                   '(Ljava/lang/String;)Landroid/os/IInterface;'),
                  'queryLocalInterface',
                  True,
                  [['Local', 'p2'],
                   ['Literal',
                    u'"com.android.vending.billing.IInAppBillingService"',
                    ('java/lang/String', 0)]]],
                 [['TypeName', ('com/a/a/a/a', 0)], ['Local', 'v0_1']]],
                ['IfStatement',
                 None,
                 ['BinaryInfix',
                  '||',
                  ['Parenthesis',
                   [['BinaryInfix',
                     '==',
                     ['Local', 'v0_1'],
                     ['Literal', 'null', ('.null', 0)]]]],
                  ['Parenthesis',
                   [['UnaryPrefix',
                     '!',
                     ['Parenthesis',
                      [['BinaryInfix',
                        'instanceof',
                        ['Local', 'v0_1'],
                        ['TypeName', ('com/a/a/a/a', 0)]]]]]]]],
                 [['BlockStatement',
                   None,
                   [['ExpressionStatement',
                     ['Assignment',
                      [['Local', 'v0_3'],
                       ['ClassInstanceCreation',
                        [['Local', 'p2']],
                        ['TypeName', ('com/a/a/a/c', 0)]]]]]]],
                  ['BlockStatement',
                   None,
                   [['ExpressionStatement',
                     ['Assignment',
                      [['Local', 'v0_3'],
                       ['Parenthesis',
                        [['Cast',
                          [['TypeName', ('com/a/a/a/a', 0)],
                           ['Local', 'v0_1']]]]]]]]]]]]]],
              ['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_3'], ['Literal', '0', ('.int', 0)]]]]]]]],
            ['ReturnStatement', ['Local', 'v0_3']]]],
  'comments': [],
  'flags': ['public', 'static'],
  'params': [[['TypeName', ('android/os/IBinder', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('com/a/a/a/a', 0)],
  'triple': ('com/a/a/a/b', 'a', '(Landroid/os/IBinder;)Lcom/a/a/a/a;')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             None,
             [['TypeName', ('.int', 0)], ['Local', 'v0_1']]],
            ['SwitchStatement',
             None,
             ['Local', 'p9'],
             [([1],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'enforceInterface',
                    '(Ljava/lang/String;)V'),
                   'enforceInterface',
                   True,
                   [['Local', 'p10'],
                    ['Literal',
                     u'"com.android.vending.billing.IInAppBillingService"',
                     ('java/lang/String', 0)]]]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('com/a/a/a/b',
                    'a',
                    '(ILjava/lang/String;Ljava/lang/String;)I'),
                   'a',
                   True,
                   [['Local', 'this'],
                    ['MethodInvocation',
                     ('android/os/Parcel', 'readInt', '()I'),
                     'readInt',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]]]],
                  [['TypeName', ('.int', 0)], ['Local', 'v0_19']]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeNoException', '()V'),
                   'writeNoException',
                   True,
                   [['Local', 'p11']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeInt', '(I)V'),
                   'writeInt',
                   True,
                   [['Local', 'p11'], ['Local', 'v0_19']]]],
                 ['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'], ['Literal', '1', ('.int', 0)]]]],
                 ['JumpStatement', 'break', None]]]),
              ([2],
               ['BlockStatement',
                None,
                [['LocalDeclarationStatement',
                  None,
                  [['TypeName', ('.int', 0)], ['Local', 'v0_13']]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'enforceInterface',
                    '(Ljava/lang/String;)V'),
                   'enforceInterface',
                   True,
                   [['Local', 'p10'],
                    ['Literal',
                     u'"com.android.vending.billing.IInAppBillingService"',
                     ('java/lang/String', 0)]]]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'readInt', '()I'),
                   'readInt',
                   True,
                   [['Local', 'p10']]],
                  [['TypeName', ('java/lang/String', 0)],
                   ['Local', 'v1_3']]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'readString',
                    '()Ljava/lang/String;'),
                   'readString',
                   True,
                   [['Local', 'p10']]],
                  [['TypeName', ('java/lang/String', 0)],
                   ['Local', 'v2_3']]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'readString',
                    '()Ljava/lang/String;'),
                   'readString',
                   True,
                   [['Local', 'p10']]],
                  [['TypeName', ('java/lang/String', 0)],
                   ['Local', 'v3_2']]],
                 ['IfStatement',
                  None,
                  ['BinaryInfix',
                   '==',
                   ['MethodInvocation',
                    ('android/os/Parcel', 'readInt', '()I'),
                    'readInt',
                    True,
                    [['Local', 'p10']]],
                   ['Literal', '0', ('.int', 0)]],
                  [['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['Assignment',
                       [['Local', 'v0_13'],
                        ['Literal', '0', ('.int', 0)]]]]]],
                   ['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['Assignment',
                       [['Local', 'v0_13'],
                        ['Parenthesis',
                         [['Cast',
                           [['TypeName',
                             ('android/os/Bundle', 0)],
                            ['MethodInvocation',
                             ('android/os/Parcelable$Creator',
                              'createFromParcel',
                              '(Landroid/os/Parcel;)Ljava/lang/Object;'),
                             'createFromParcel',
                             True,
                             [['FieldAccess',
                               ('android/os/Bundle',
                                'CREATOR',
                                'Landroid/os/Parcelable$Creator;'),
                               ['TypeName',
                                ('android/os/Bundle', 0)]],
                              ['Local', 'p10']]]]]]]]]]]]]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('com/a/a/a/b',
                    'a',
                    '(ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;'),
                   'a',
                   True,
                   [['Local', 'this'],
                    ['Local', 'v1_3'],
                    ['Local', 'v2_3'],
                    ['Local', 'v3_2'],
                    ['Local', 'v0_13']]],
                  [['TypeName', ('.int', 0)], ['Local', 'v0_16']]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeNoException', '()V'),
                   'writeNoException',
                   True,
                   [['Local', 'p11']]]],
                 ['IfStatement',
                  None,
                  ['BinaryInfix',
                   '==',
                   ['Local', 'v0_16'],
                   ['Literal', '0', ('.int', 0)]],
                  [['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Parcel', 'writeInt', '(I)V'),
                       'writeInt',
                       True,
                       [['Local', 'p11'],
                        ['Literal', '0', ('.int', 0)]]]]]],
                   ['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Parcel', 'writeInt', '(I)V'),
                       'writeInt',
                       True,
                       [['Local', 'p11'],
                        ['Literal', '1', ('.int', 0)]]]],
                     ['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Bundle',
                        'writeToParcel',
                        '(Landroid/os/Parcel;I)V'),
                       'writeToParcel',
                       True,
                       [['Local', 'v0_16'],
                        ['Local', 'p11'],
                        ['Literal', '1', ('.int', 0)]]]]]]]],
                 ['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'], ['Literal', '1', ('.int', 0)]]]],
                 ['JumpStatement', 'break', None]]]),
              ([3],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'enforceInterface',
                    '(Ljava/lang/String;)V'),
                   'enforceInterface',
                   True,
                   [['Local', 'p10'],
                    ['Literal',
                     u'"com.android.vending.billing.IInAppBillingService"',
                     ('java/lang/String', 0)]]]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('com/a/a/a/b',
                    'a',
                    '(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;'),
                   'a',
                   True,
                   [['Local', 'this'],
                    ['MethodInvocation',
                     ('android/os/Parcel', 'readInt', '()I'),
                     'readInt',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]]]],
                  [['TypeName', ('.int', 0)], ['Local', 'v0_10']]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeNoException', '()V'),
                   'writeNoException',
                   True,
                   [['Local', 'p11']]]],
                 ['IfStatement',
                  None,
                  ['BinaryInfix',
                   '==',
                   ['Local', 'v0_10'],
                   ['Literal', '0', ('.int', 0)]],
                  [['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Parcel', 'writeInt', '(I)V'),
                       'writeInt',
                       True,
                       [['Local', 'p11'],
                        ['Literal', '0', ('.int', 0)]]]]]],
                   ['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Parcel', 'writeInt', '(I)V'),
                       'writeInt',
                       True,
                       [['Local', 'p11'],
                        ['Literal', '1', ('.int', 0)]]]],
                     ['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Bundle',
                        'writeToParcel',
                        '(Landroid/os/Parcel;I)V'),
                       'writeToParcel',
                       True,
                       [['Local', 'v0_10'],
                        ['Local', 'p11'],
                        ['Literal', '1', ('.int', 0)]]]]]]]],
                 ['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'], ['Literal', '1', ('.int', 0)]]]],
                 ['JumpStatement', 'break', None]]]),
              ([4],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'enforceInterface',
                    '(Ljava/lang/String;)V'),
                   'enforceInterface',
                   True,
                   [['Local', 'p10'],
                    ['Literal',
                     u'"com.android.vending.billing.IInAppBillingService"',
                     ('java/lang/String', 0)]]]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('com/a/a/a/b',
                    'a',
                    '(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;'),
                   'a',
                   True,
                   [['Local', 'this'],
                    ['MethodInvocation',
                     ('android/os/Parcel', 'readInt', '()I'),
                     'readInt',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]]]],
                  [['TypeName', ('.int', 0)], ['Local', 'v0_7']]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeNoException', '()V'),
                   'writeNoException',
                   True,
                   [['Local', 'p11']]]],
                 ['IfStatement',
                  None,
                  ['BinaryInfix',
                   '==',
                   ['Local', 'v0_7'],
                   ['Literal', '0', ('.int', 0)]],
                  [['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Parcel', 'writeInt', '(I)V'),
                       'writeInt',
                       True,
                       [['Local', 'p11'],
                        ['Literal', '0', ('.int', 0)]]]]]],
                   ['BlockStatement',
                    None,
                    [['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Parcel', 'writeInt', '(I)V'),
                       'writeInt',
                       True,
                       [['Local', 'p11'],
                        ['Literal', '1', ('.int', 0)]]]],
                     ['ExpressionStatement',
                      ['MethodInvocation',
                       ('android/os/Bundle',
                        'writeToParcel',
                        '(Landroid/os/Parcel;I)V'),
                       'writeToParcel',
                       True,
                       [['Local', 'v0_7'],
                        ['Local', 'p11'],
                        ['Literal', '1', ('.int', 0)]]]]]]]],
                 ['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'], ['Literal', '1', ('.int', 0)]]]],
                 ['JumpStatement', 'break', None]]]),
              ([5],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'enforceInterface',
                    '(Ljava/lang/String;)V'),
                   'enforceInterface',
                   True,
                   [['Local', 'p10'],
                    ['Literal',
                     u'"com.android.vending.billing.IInAppBillingService"',
                     ('java/lang/String', 0)]]]],
                 ['LocalDeclarationStatement',
                  ['MethodInvocation',
                   ('com/a/a/a/b',
                    'b',
                    '(ILjava/lang/String;Ljava/lang/String;)I'),
                   'b',
                   True,
                   [['Local', 'this'],
                    ['MethodInvocation',
                     ('android/os/Parcel', 'readInt', '()I'),
                     'readInt',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]],
                    ['MethodInvocation',
                     ('android/os/Parcel',
                      'readString',
                      '()Ljava/lang/String;'),
                     'readString',
                     True,
                     [['Local', 'p10']]]]],
                  [['TypeName', ('.int', 0)], ['Local', 'v0_4']]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeNoException', '()V'),
                   'writeNoException',
                   True,
                   [['Local', 'p11']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'writeInt', '(I)V'),
                   'writeInt',
                   True,
                   [['Local', 'p11'], ['Local', 'v0_4']]]],
                 ['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'], ['Literal', '1', ('.int', 0)]]]],
                 ['JumpStatement', 'break', None]]]),
              ([1598968902],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel',
                    'writeString',
                    '(Ljava/lang/String;)V'),
                   'writeString',
                   True,
                   [['Local', 'p11'],
                    ['Literal',
                     u'"com.android.vending.billing.IInAppBillingService"',
                     ('java/lang/String', 0)]]]],
                 ['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'], ['Literal', '1', ('.int', 0)]]]],
                 ['JumpStatement', 'break', None]]]),
              ([None],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['Assignment',
                   [['Local', 'v0_1'],
                    ['MethodInvocation',
                     ('android/os/Binder',
                      'onTransact',
                      '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z'),
                     'onTransact',
                     True,
                     [['Local', 'super'],
                      ['Local', 'p9'],
                      ['Local', 'p10'],
                      ['Local', 'p11'],
                      ['Local', 'p12']]]]]]]])]],
            ['ReturnStatement', ['Local', 'v0_1']]]],
  'comments': [],
  'flags': ['public'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p9']],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'p10']],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'p11']],
             [['TypeName', ('.int', 0)], ['Local', 'p12']]],
  'ret': ['TypeName', ('.boolean', 0)],
  'triple': ('com/a/a/a/b',
             'onTransact',
             '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
                ['Local', 'this']],
               ['Local', 'p1']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': [],
  'params': [[['TypeName', ('android/os/IBinder', 0)], ['Local', 'p1']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/a/a/a/c', '<init>', '(Landroid/os/IBinder;)V')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v1']]],
            ['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v2']]],
            ['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeInterfaceToken',
                  '(Ljava/lang/String;)V'),
                 'writeInterfaceToken',
                 True,
                 [['Local', 'v1'],
                  ['Literal',
                   u'"com.android.vending.billing.IInAppBillingService"',
                   ('java/lang/String', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'writeInt', '(I)V'),
                 'writeInt',
                 True,
                 [['Local', 'v1'], ['Local', 'p6']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p7']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p8']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/IBinder',
                  'transact',
                  '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z'),
                 'transact',
                 True,
                 [['FieldAccess',
                   ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
                   ['Local', 'this']],
                  ['Literal', '1', ('.int', 0)],
                  ['Local', 'v1'],
                  ['Local', 'v2'],
                  ['Literal', '0', ('.int', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'readException', '()V'),
                 'readException',
                 True,
                 [['Local', 'v2']]]],
               ['LocalDeclarationStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'readInt', '()I'),
                 'readInt',
                 True,
                 [['Local', 'v2']]],
                [['TypeName', ('java/lang/Throwable', 0)],
                 ['Local', 'v0_2']]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'recycle', '()V'),
                 'recycle',
                 True,
                 [['Local', 'v2']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'recycle', '()V'),
                 'recycle',
                 True,
                 [['Local', 'v1']]]],
               ['ReturnStatement', ['Local', 'v0_2']]]],
             [([['TypeName', ('java/lang/Throwable', 0)],
                ['Local', 'v0_3']],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v2']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v1']]]],
                 ['ThrowStatement', ['Local', 'v0_3']]]])]]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p6']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p7']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p8']]],
  'ret': ['TypeName', ('.int', 0)],
  'triple': ('com/a/a/a/c', 'a', '(ILjava/lang/String;Ljava/lang/String;)I')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v1']]],
            ['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v2']]],
            ['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeInterfaceToken',
                  '(Ljava/lang/String;)V'),
                 'writeInterfaceToken',
                 True,
                 [['Local', 'v1'],
                  ['Literal',
                   u'"com.android.vending.billing.IInAppBillingService"',
                   ('java/lang/String', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'writeInt', '(I)V'),
                 'writeInt',
                 True,
                 [['Local', 'v1'], ['Local', 'p6']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p7']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p8']]]]]],
             [([['TypeName', ('.int', 0)], ['Local', 'v0_9']],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v2']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v1']]]],
                 ['ThrowStatement', ['Local', 'v0_9']]]])]],
            ['IfStatement',
             None,
             ['BinaryInfix',
              '==',
              ['Local', 'p9'],
              ['Literal', 'null', ('.null', 0)]],
             [['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['MethodInvocation',
                  ('android/os/Parcel', 'writeInt', '(I)V'),
                  'writeInt',
                  True,
                  [['Local', 'v1'], ['Literal', '0', ('.int', 0)]]]]]],
              ['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['MethodInvocation',
                  ('android/os/Parcel', 'writeInt', '(I)V'),
                  'writeInt',
                  True,
                  [['Local', 'v1'], ['Literal', '1', ('.int', 0)]]]],
                ['ExpressionStatement',
                 ['MethodInvocation',
                  ('android/os/Bundle',
                   'writeToParcel',
                   '(Landroid/os/Parcel;I)V'),
                  'writeToParcel',
                  True,
                  [['Local', 'p9'],
                   ['Local', 'v1'],
                   ['Literal', '0', ('.int', 0)]]]]]]]],
            ['LocalDeclarationStatement',
             None,
             [['TypeName', ('.int', 0)], ['Local', 'v0_6']]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/IBinder',
               'transact',
               '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z'),
              'transact',
              True,
              [['FieldAccess',
                ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
                ['Local', 'this']],
               ['Literal', '2', ('.int', 0)],
               ['Local', 'v1'],
               ['Local', 'v2'],
               ['Literal', '0', ('.int', 0)]]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'readException', '()V'),
              'readException',
              True,
              [['Local', 'v2']]]],
            ['IfStatement',
             None,
             ['BinaryInfix',
              '==',
              ['MethodInvocation',
               ('android/os/Parcel', 'readInt', '()I'),
               'readInt',
               True,
               [['Local', 'v2']]],
              ['Literal', '0', ('.int', 0)]],
             [['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_6'], ['Literal', '0', ('.int', 0)]]]]]],
              ['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_6'],
                   ['Parenthesis',
                    [['Cast',
                      [['TypeName', ('android/os/Bundle', 0)],
                       ['MethodInvocation',
                        ('android/os/Parcelable$Creator',
                         'createFromParcel',
                         '(Landroid/os/Parcel;)Ljava/lang/Object;'),
                        'createFromParcel',
                        True,
                        [['FieldAccess',
                          ('android/os/Bundle',
                           'CREATOR',
                           'Landroid/os/Parcelable$Creator;'),
                          ['TypeName',
                           ('android/os/Bundle', 0)]],
                         ['Local', 'v2']]]]]]]]]]]]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'recycle', '()V'),
              'recycle',
              True,
              [['Local', 'v2']]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'recycle', '()V'),
              'recycle',
              True,
              [['Local', 'v1']]]],
            ['ReturnStatement', ['Local', 'v0_6']]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p6']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p7']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p8']],
             [['TypeName', ('android/os/Bundle', 0)], ['Local', 'p9']]],
  'ret': ['TypeName', ('android/os/Bundle', 0)],
  'triple': ('com/a/a/a/c',
             'a',
             '(ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v1']]],
            ['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v2']]],
            ['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['LocalDeclarationStatement',
                None,
                [['TypeName', ('.int', 0)], ['Local', 'v0_3']]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeInterfaceToken',
                  '(Ljava/lang/String;)V'),
                 'writeInterfaceToken',
                 True,
                 [['Local', 'v1'],
                  ['Literal',
                   u'"com.android.vending.billing.IInAppBillingService"',
                   ('java/lang/String', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'writeInt', '(I)V'),
                 'writeInt',
                 True,
                 [['Local', 'v1'], ['Local', 'p6']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p7']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p8']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p9']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/IBinder',
                  'transact',
                  '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z'),
                 'transact',
                 True,
                 [['FieldAccess',
                   ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
                   ['Local', 'this']],
                  ['Literal', '4', ('.int', 0)],
                  ['Local', 'v1'],
                  ['Local', 'v2'],
                  ['Literal', '0', ('.int', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'readException', '()V'),
                 'readException',
                 True,
                 [['Local', 'v2']]]]]],
             [([['TypeName', ('.int', 0)], ['Local', 'v0_6']],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v2']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v1']]]],
                 ['ThrowStatement', ['Local', 'v0_6']]]])]],
            ['IfStatement',
             None,
             ['BinaryInfix',
              '==',
              ['MethodInvocation',
               ('android/os/Parcel', 'readInt', '()I'),
               'readInt',
               True,
               [['Local', 'v2']]],
              ['Literal', '0', ('.int', 0)]],
             [['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_3'], ['Literal', '0', ('.int', 0)]]]]]],
              ['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_3'],
                   ['Parenthesis',
                    [['Cast',
                      [['TypeName', ('android/os/Bundle', 0)],
                       ['MethodInvocation',
                        ('android/os/Parcelable$Creator',
                         'createFromParcel',
                         '(Landroid/os/Parcel;)Ljava/lang/Object;'),
                        'createFromParcel',
                        True,
                        [['FieldAccess',
                          ('android/os/Bundle',
                           'CREATOR',
                           'Landroid/os/Parcelable$Creator;'),
                          ['TypeName',
                           ('android/os/Bundle', 0)]],
                         ['Local', 'v2']]]]]]]]]]]]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'recycle', '()V'),
              'recycle',
              True,
              [['Local', 'v2']]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'recycle', '()V'),
              'recycle',
              True,
              [['Local', 'v1']]]],
            ['ReturnStatement', ['Local', 'v0_3']]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p6']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p7']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p8']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p9']]],
  'ret': ['TypeName', ('android/os/Bundle', 0)],
  'triple': ('com/a/a/a/c',
             'a',
             '(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v1']]],
            ['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v2']]],
            ['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['LocalDeclarationStatement',
                None,
                [['TypeName', ('.int', 0)], ['Local', 'v0_3']]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeInterfaceToken',
                  '(Ljava/lang/String;)V'),
                 'writeInterfaceToken',
                 True,
                 [['Local', 'v1'],
                  ['Literal',
                   u'"com.android.vending.billing.IInAppBillingService"',
                   ('java/lang/String', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'writeInt', '(I)V'),
                 'writeInt',
                 True,
                 [['Local', 'v1'], ['Local', 'p6']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p7']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p8']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p9']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p10']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/IBinder',
                  'transact',
                  '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z'),
                 'transact',
                 True,
                 [['FieldAccess',
                   ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
                   ['Local', 'this']],
                  ['Literal', '3', ('.int', 0)],
                  ['Local', 'v1'],
                  ['Local', 'v2'],
                  ['Literal', '0', ('.int', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'readException', '()V'),
                 'readException',
                 True,
                 [['Local', 'v2']]]]]],
             [([['TypeName', ('.int', 0)], ['Local', 'v0_6']],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v2']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v1']]]],
                 ['ThrowStatement', ['Local', 'v0_6']]]])]],
            ['IfStatement',
             None,
             ['BinaryInfix',
              '==',
              ['MethodInvocation',
               ('android/os/Parcel', 'readInt', '()I'),
               'readInt',
               True,
               [['Local', 'v2']]],
              ['Literal', '0', ('.int', 0)]],
             [['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_3'], ['Literal', '0', ('.int', 0)]]]]]],
              ['BlockStatement',
               None,
               [['ExpressionStatement',
                 ['Assignment',
                  [['Local', 'v0_3'],
                   ['Parenthesis',
                    [['Cast',
                      [['TypeName', ('android/os/Bundle', 0)],
                       ['MethodInvocation',
                        ('android/os/Parcelable$Creator',
                         'createFromParcel',
                         '(Landroid/os/Parcel;)Ljava/lang/Object;'),
                        'createFromParcel',
                        True,
                        [['FieldAccess',
                          ('android/os/Bundle',
                           'CREATOR',
                           'Landroid/os/Parcelable$Creator;'),
                          ['TypeName',
                           ('android/os/Bundle', 0)]],
                         ['Local', 'v2']]]]]]]]]]]]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'recycle', '()V'),
              'recycle',
              True,
              [['Local', 'v2']]]],
            ['ExpressionStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'recycle', '()V'),
              'recycle',
              True,
              [['Local', 'v1']]]],
            ['ReturnStatement', ['Local', 'v0_3']]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p6']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p7']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p8']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p9']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p10']]],
  'ret': ['TypeName', ('android/os/Bundle', 0)],
  'triple': ('com/a/a/a/c',
             'a',
             '(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['FieldAccess',
              ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
              ['Local', 'this']]]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [],
  'ret': ['TypeName', ('android/os/IBinder', 0)],
  'triple': ('com/a/a/a/c', 'asBinder', '()Landroid/os/IBinder;')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v1']]],
            ['LocalDeclarationStatement',
             ['MethodInvocation',
              ('android/os/Parcel', 'obtain', '()Landroid/os/Parcel;'),
              'obtain',
              True,
              [['TypeName', ('android/os/Parcel', 0)]]],
             [['TypeName', ('android/os/Parcel', 0)], ['Local', 'v2']]],
            ['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeInterfaceToken',
                  '(Ljava/lang/String;)V'),
                 'writeInterfaceToken',
                 True,
                 [['Local', 'v1'],
                  ['Literal',
                   u'"com.android.vending.billing.IInAppBillingService"',
                   ('java/lang/String', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'writeInt', '(I)V'),
                 'writeInt',
                 True,
                 [['Local', 'v1'], ['Local', 'p6']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p7']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel',
                  'writeString',
                  '(Ljava/lang/String;)V'),
                 'writeString',
                 True,
                 [['Local', 'v1'], ['Local', 'p8']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/IBinder',
                  'transact',
                  '(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z'),
                 'transact',
                 True,
                 [['FieldAccess',
                   ('com/a/a/a/c', 'a', 'Landroid/os/IBinder;'),
                   ['Local', 'this']],
                  ['Literal', '5', ('.int', 0)],
                  ['Local', 'v1'],
                  ['Local', 'v2'],
                  ['Literal', '0', ('.int', 0)]]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'readException', '()V'),
                 'readException',
                 True,
                 [['Local', 'v2']]]],
               ['LocalDeclarationStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'readInt', '()I'),
                 'readInt',
                 True,
                 [['Local', 'v2']]],
                [['TypeName', ('java/lang/Throwable', 0)],
                 ['Local', 'v0_2']]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'recycle', '()V'),
                 'recycle',
                 True,
                 [['Local', 'v2']]]],
               ['ExpressionStatement',
                ['MethodInvocation',
                 ('android/os/Parcel', 'recycle', '()V'),
                 'recycle',
                 True,
                 [['Local', 'v1']]]],
               ['ReturnStatement', ['Local', 'v0_2']]]],
             [([['TypeName', ('java/lang/Throwable', 0)],
                ['Local', 'v0_3']],
               ['BlockStatement',
                None,
                [['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v2']]]],
                 ['ExpressionStatement',
                  ['MethodInvocation',
                   ('android/os/Parcel', 'recycle', '()V'),
                   'recycle',
                   True,
                   [['Local', 'v1']]]],
                 ['ThrowStatement', ['Local', 'v0_3']]]])]]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p6']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p7']],
             [['TypeName', ('java/lang/String', 0)], ['Local', 'p8']]],
  'ret': ['TypeName', ('.int', 0)],
  'triple': ('com/a/a/a/c', 'b', '(ILjava/lang/String;Ljava/lang/String;)I')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a$1', 'a', 'Lcom/b/a/a;'),
                ['Local', 'this']],
               ['Local', 'p1']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': [],
  'params': [[['TypeName', ('com/b/a/a', 0)], ['Local', 'p1']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/b/a/a$1', '<init>', '(Lcom/b/a/a;)V')}

 {'body': ['BlockStatement',
           None,
           [['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['IfStatement',
                None,
                ['BinaryInfix',
                 '!=',
                 ['MethodInvocation',
                  ('com/b/a/a', 'a', '(Lcom/b/a/a;)Ljava/io/Writer;'),
                  'a',
                  True,
                  [['TypeName', ('com/b/a/a', 0)],
                   ['FieldAccess',
                    ('com/b/a/a$1', 'a', 'Lcom/b/a/a;'),
                    ['Local', 'this']]]],
                 ['Literal', 'null', ('.null', 0)]],
                [['BlockStatement',
                  None,
                  [['ExpressionStatement',
                    ['MethodInvocation',
                     ('com/b/a/a', 'b', '(Lcom/b/a/a;)V'),
                     'b',
                     True,
                     [['TypeName', ('com/b/a/a', 0)],
                      ['FieldAccess',
                       ('com/b/a/a$1', 'a', 'Lcom/b/a/a;'),
                       ['Local', 'this']]]]],
                   ['IfStatement',
                    None,
                    ['MethodInvocation',
                     ('com/b/a/a', 'c', '(Lcom/b/a/a;)Z'),
                     'c',
                     True,
                     [['TypeName', ('com/b/a/a', 0)],
                      ['FieldAccess',
                       ('com/b/a/a$1', 'a', 'Lcom/b/a/a;'),
                       ['Local', 'this']]]],
                    [['BlockStatement',
                      None,
                      [['ExpressionStatement',
                        ['MethodInvocation',
                         ('com/b/a/a', 'd', '(Lcom/b/a/a;)V'),
                         'd',
                         True,
                         [['TypeName', ('com/b/a/a', 0)],
                          ['FieldAccess',
                           ('com/b/a/a$1', 'a', 'Lcom/b/a/a;'),
                           ['Local', 'this']]]]],
                       ['ExpressionStatement',
                        ['MethodInvocation',
                         ('com/b/a/a', 'e', '(Lcom/b/a/a;)I'),
                         'e',
                         True,
                         [['TypeName', ('com/b/a/a', 0)],
                          ['FieldAccess',
                           ('com/b/a/a$1', 'a', 'Lcom/b/a/a;'),
                           ['Local', 'this']]]]]]]]]]],
                 ['BlockStatement', None, []]]]]],
             [([['TypeName', ('com/b/a/a', 0)], ['Local', 'v0_7']],
               ['BlockStatement',
                None,
                [['ThrowStatement', ['Local', 'v0_7']]]])]],
            ['ReturnStatement', ['Literal', '0', ('.int', 0)]]]],
  'comments': [],
  'flags': ['private'],
  'params': [],
  'ret': ['TypeName', ('java/lang/Void', 0)],
  'triple': ('com/b/a/a$1', 'a', '()Ljava/lang/Void;')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['MethodInvocation',
              ('com/b/a/a$1', 'a', '()Ljava/lang/Void;'),
              'a',
              True,
              [['Local', 'this']]]]]],
  'comments': [],
  'flags': ['public', 'final', 'synthetic'],
  'params': [],
  'ret': ['TypeName', ('java/lang/Object', 0)],
  'triple': ('com/b/a/a$1', 'call', '()Ljava/lang/Object;')}

 {'body': ['BlockStatement', None, [['ReturnStatement', None]]],
  'comments': [],
  'flags': [],
  'params': [],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/b/a/a$2', '<init>', '()V')}

 {'body': ['BlockStatement', None, [['ReturnStatement', None]]],
  'comments': [],
  'flags': ['public', 'final'],
  'params': [[['TypeName', ('.int', 0)], ['Local', 'p1']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/b/a/a$2', 'write', '(I)V')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'a', 'Ljava/util/regex/Pattern;'),
                ['TypeName', ('com/b/a/a', 0)]],
               ['MethodInvocation',
                ('java/util/regex/Pattern',
                 'compile',
                 '(Ljava/lang/String;)Ljava/util/regex/Pattern;'),
                'compile',
                True,
                [['TypeName', ('java/util/regex/Pattern', 0)],
                 ['Literal',
                  u'"[a-z0-9_-]{1,64}"',
                  ('java/lang/String', 0)]]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'p', 'Ljava/io/OutputStream;'),
                ['TypeName', ('com/b/a/a', 0)]],
               ['ClassInstanceCreation',
                [],
                ['TypeName', ('com/b/a/a$2', 0)]]]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['static'],
  'params': [],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/b/a/a', '<clinit>', '()V')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['Assignment',
              [['FieldAccess', ('com/b/a/a', 'j', 'J'), ['Local', 'this']],
               ['Literal', '0L', ('.long', 0)]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'l', 'Ljava/util/LinkedHashMap;'),
                ['Local', 'this']],
               ['ClassInstanceCreation',
                [['Literal', '0', ('.int', 0)],
                 ['Literal', '1061158912', ('.int', 0)],
                 ['Literal', '1', ('.int', 0)]],
                ['TypeName', ('java/util/LinkedHashMap', 0)]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess', ('com/b/a/a', 'n', 'J'), ['Local', 'this']],
               ['Literal', '0L', ('.long', 0)]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a',
                 'b',
                 'Ljava/util/concurrent/ThreadPoolExecutor;'),
                ['Local', 'this']],
               ['ClassInstanceCreation',
                [['Literal', '0', ('.int', 0)],
                 ['Literal', '1', ('.int', 0)],
                 ['Literal', '60L', ('.long', 0)],
                 ['FieldAccess',
                  ('java/util/concurrent/TimeUnit',
                   'SECONDS',
                   'Ljava/util/concurrent/TimeUnit;'),
                  ['TypeName', ('java/util/concurrent/TimeUnit', 0)]],
                 ['ClassInstanceCreation',
                  [],
                  ['TypeName',
                   ('java/util/concurrent/LinkedBlockingQueue', 0)]]],
                ['TypeName',
                 ('java/util/concurrent/ThreadPoolExecutor', 0)]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'o', 'Ljava/util/concurrent/Callable;'),
                ['Local', 'this']],
               ['ClassInstanceCreation',
                [['Local', 'this']],
                ['TypeName', ('com/b/a/a$1', 0)]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'c', 'Ljava/io/File;'),
                ['Local', 'this']],
               ['Local', 'p9']]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess', ('com/b/a/a', 'g', 'I'), ['Local', 'this']],
               ['Literal', '1', ('.int', 0)]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'd', 'Ljava/io/File;'),
                ['Local', 'this']],
               ['ClassInstanceCreation',
                [['Local', 'p9'],
                 ['Literal', u'"journal"', ('java/lang/String', 0)]],
                ['TypeName', ('java/io/File', 0)]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'e', 'Ljava/io/File;'),
                ['Local', 'this']],
               ['ClassInstanceCreation',
                [['Local', 'p9'],
                 ['Literal', u'"journal.tmp"', ('java/lang/String', 0)]],
                ['TypeName', ('java/io/File', 0)]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess',
                ('com/b/a/a', 'f', 'Ljava/io/File;'),
                ['Local', 'this']],
               ['ClassInstanceCreation',
                [['Local', 'p9'],
                 ['Literal', u'"journal.bkp"', ('java/lang/String', 0)]],
                ['TypeName', ('java/io/File', 0)]]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess', ('com/b/a/a', 'i', 'I'), ['Local', 'this']],
               ['Literal', '1', ('.int', 0)]]]],
            ['ExpressionStatement',
             ['Assignment',
              [['FieldAccess', ('com/b/a/a', 'h', 'J'), ['Local', 'this']],
               ['Literal', '10485760L', ('.long', 0)]]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['private'],
  'params': [[['TypeName', ('java/io/File', 0)], ['Local', 'p9']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/b/a/a', '<init>', '(Ljava/io/File;)V')}

 {'body': ['BlockStatement',
           None,
           [['IfStatement',
             None,
             ['BinaryInfix',
              '>',
              ['Literal', '10485760L', ('.long', 0)],
              ['Literal', '0L', ('.long', 0)]],
             [['BlockStatement',
               None,
               [['LocalDeclarationStatement',
                 ['ClassInstanceCreation',
                  [['Local', 'p6'],
                   ['Literal',
                    u'"journal.bkp"',
                    ('java/lang/String', 0)]],
                  ['TypeName', ('java/io/File', 0)]],
                 [['TypeName', ('.void', 0)], ['Local', 'v0_3']]],
                ['IfStatement',
                 None,
                 ['MethodInvocation',
                  ('java/io/File', 'exists', '()Z'),
                  'exists',
                  True,
                  [['Local', 'v0_3']]],
                 [['BlockStatement',
                   None,
                   [['LocalDeclarationStatement',
                     ['ClassInstanceCreation',
                      [['Local', 'p6'],
                       ['Literal',
                        u'"journal"',
                        ('java/lang/String', 0)]],
                      ['TypeName', ('java/io/File', 0)]],
                     [['TypeName', ('java/lang/String', 0)],
                      ['Local', 'v1_3']]],
                    ['IfStatement',
                     None,
                     ['UnaryPrefix',
                      '!',
                      ['MethodInvocation',
                       ('java/io/File', 'exists', '()Z'),
                       'exists',
                       True,
                       [['Local', 'v1_3']]]],
                     [['BlockStatement',
                       None,
                       [['ExpressionStatement',
                         ['MethodInvocation',
                          ('com/b/a/a',
                           'a',
                           '(Ljava/io/File;Ljava/io/File;Z)V'),
                          'a',
                          True,
                          [['TypeName', ('com/b/a/a', 0)],
                           ['Local', 'v0_3'],
                           ['Local', 'v1_3'],
                           ['Literal', '0', ('.int', 0)]]]]]],
                      ['BlockStatement',
                       None,
                       [['ExpressionStatement',
                         ['MethodInvocation',
                          ('java/io/File', 'delete', '()Z'),
                          'delete',
                          True,
                          [['Local', 'v0_3']]]]]]]]]]]],
                ['LocalDeclarationStatement',
                 None,
                 [['TypeName', ('.void', 0)], ['Local', 'v0_7']]],
                ['LocalDeclarationStatement',
                 ['ClassInstanceCreation',
                  [['Local', 'p6']],
                  ['TypeName', ('com/b/a/a', 0)]],
                 [['TypeName', ('.void', 0)], ['Local', 'v0_5']]],
                ['IfStatement',
                 None,
                 ['UnaryPrefix',
                  '!',
                  ['MethodInvocation',
                   ('java/io/File', 'exists', '()Z'),
                   'exists',
                   True,
                   [['FieldAccess',
                     ('com/b/a/a', 'd', 'Ljava/io/File;'),
                     ['Local', 'v0_5']]]]],
                 [['BlockStatement',
                   None,
                   [['ExpressionStatement',
                     ['MethodInvocation',
                      ('java/io/File', 'mkdirs', '()Z'),
                      'mkdirs',
                      True,
                      [['Local', 'p6']]]],
                    ['ExpressionStatement',
                     ['Assignment',
                      [['Local', 'v0_7'],
                       ['MethodInvocation',
                        ('com/b/a/a', 'e', '()V'),
                        'e',
                        True,
                        [['ClassInstanceCreation',
                          [['Local', 'p6']],
                          ['TypeName', ('com/b/a/a', 0)]]]]]]]]],
                  ['BlockStatement',
                   None,
                   [['TryStatement',
                     None,
                     ['BlockStatement',
                      None,
                      [['ExpressionStatement',
                        ['Assignment',
                         [['Local', 'v0_7'],
                          ['MethodInvocation',
                           ('com/b/a/a', 'd', '()V'),
                           'd',
                           True,
                           [['MethodInvocation',
                             ('com/b/a/a', 'c', '()V'),
                             'c',
                             True,
                             [['Local', 'v0_5']]]]]]]],
                       ['ExpressionStatement',
                        ['Assignment',
                         [['FieldAccess',
                           ('com/b/a/a',
                            'k',
                            'Ljava/io/Writer;'),
                           ['Local', 'v0_7']],
                          ['ClassInstanceCreation',
                           [['ClassInstanceCreation',
                             [['ClassInstanceCreation',
                               [['FieldAccess',
                                 ('com/b/a/a',
                                  'd',
                                  'Ljava/io/File;'),
                                 ['Local', 'v0_7']],
                                ['Literal',
                                 '1',
                                 ('.int', 0)]],
                               ['TypeName',
                                ('java/io/FileOutputStream',
                                 0)]],
                              ['FieldAccess',
                               ('com/b/a/g',
                                'a',
                                'Ljava/nio/charset/Charset;'),
                               ['TypeName',
                                ('com/b/a/g', 0)]]],
                             ['TypeName',
                              ('java/io/OutputStreamWriter',
                               0)]]],
                           ['TypeName',
                            ('java/io/BufferedWriter', 0)]]]]]]],
                     [([['TypeName', ('java/lang/String', 0)],
                        ['Local', 'v1_8']],
                       ['BlockStatement',
                        None,
                        [['ExpressionStatement',
                          ['MethodInvocation',
                           ('java/io/PrintStream',
                            'println',
                            '(Ljava/lang/String;)V'),
                           'println',
                           True,
                           [['FieldAccess',
                             ('java/lang/System',
                              'out',
                              'Ljava/io/PrintStream;'),
                             ['TypeName',
                              ('java/lang/System', 0)]],
                            ['MethodInvocation',
                             ('java/lang/StringBuilder',
                              'toString',
                              '()Ljava/lang/String;'),
                             'toString',
                             True,
                             [['MethodInvocation',
                               ('java/lang/StringBuilder',
                                'append',
                                '(Ljava/lang/String;)Ljava/lang/StringBuilder;'),
                               'append',
                               True,
                               [['MethodInvocation',
                                 ('java/lang/StringBuilder',
                                  'append',
                                  '(Ljava/lang/String;)Ljava/lang/StringBuilder;'),
                                 'append',
                                 True,
                                 [['MethodInvocation',
                                   ('java/lang/StringBuilder',
                                    'append',
                                    '(Ljava/lang/String;)Ljava/lang/StringBuilder;'),
                                   'append',
                                   True,
                                   [['MethodInvocation',
                                     ('java/lang/StringBuilder',
                                      'append',
                                      '(Ljava/lang/Object;)Ljava/lang/StringBuilder;'),
                                     'append',
                                     True,
                                     [['ClassInstanceCreation',
                                       [['Literal',
                                         u'"DiskLruCache "',
                                         ('java/lang/String',
                                          0)]],
                                       ['TypeName',
                                        ('java/lang/StringBuilder',
                                         0)]],
                                      ['Local',
                                       'p6']]],
                                    ['Literal',
                                     u'" is corrupt: "',
                                     ('java/lang/String',
                                      0)]]],
                                  ['MethodInvocation',
                                   ('java/io/IOException',
                                    'getMessage',
                                    '()Ljava/lang/String;'),
                                   'getMessage',
                                   True,
                                   [['Local', 'v1_8']]]]],
                                ['Literal',
                                 u'", removing"',
                                 ('java/lang/String', 0)]]]]]]]],
                         ['ExpressionStatement',
                          ['MethodInvocation',
                           ('com/b/a/a', 'i', '()V'),
                           'i',
                           True,
                           [['Local', 'v0_7']]]]]])]]]]]],
                ['ReturnStatement', ['Local', 'v0_7']]]],
              ['BlockStatement',
               None,
               [['ThrowStatement',
                 ['ClassInstanceCreation',
                  [['Literal',
                    u'"maxSize <= 0"',
                    ('java/lang/String', 0)]],
                  ['TypeName',
                   ('java/lang/IllegalArgumentException', 0)]]]]]]]]],
  'comments': [],
  'flags': ['public', 'static'],
  'params': [[['TypeName', ('java/io/File', 0)], ['Local', 'p6']]],
  'ret': ['TypeName', ('com/b/a/a', 0)],
  'triple': ('com/b/a/a', 'a', '(Ljava/io/File;)Lcom/b/a/a;')}

 {'body': ['BlockStatement',
           None,
           [['ReturnStatement',
             ['FieldAccess',
              ('com/b/a/a', 'k', 'Ljava/io/Writer;'),
              ['Local', 'p1']]]]],
  'comments': [],
  'flags': ['static', 'synthetic'],
  'params': [[['TypeName', ('com/b/a/a', 0)], ['Local', 'p1']]],
  'ret': ['TypeName', ('java/io/Writer', 0)],
  'triple': ('com/b/a/a', 'a', '(Lcom/b/a/a;)Ljava/io/Writer;')}

 {'body': ['BlockStatement',
           None,
           [['ExpressionStatement',
             ['MethodInvocation',
              ('com/b/a/a', 'a', '(Lcom/b/a/b;Z)V'),
              'a',
              True,
              [['Local', 'p0'], ['Local', 'p1'], ['Local', 'p2']]]],
            ['ReturnStatement', None]]],
  'comments': [],
  'flags': ['static', 'synthetic'],
  'params': [[['TypeName', ('com/b/a/a', 0)], ['Local', 'p0']],
             [['TypeName', ('com/b/a/b', 0)], ['Local', 'p1']],
             [['TypeName', ('.boolean', 0)], ['Local', 'p2']]],
  'ret': ['TypeName', ('.void', 0)],
  'triple': ('com/b/a/a', 'a', '(Lcom/b/a/a;Lcom/b/a/b;Z)V')}

 {'body': ['BlockStatement',
           None,
           [['LocalDeclarationStatement',
             ['Literal', '0', ('.int', 0)],
             [['TypeName', ('java/util/concurrent/ThreadPoolExecutor', 0)],
              ['Local', 'v0_0']]],
            ['TryStatement',
             None,
             ['BlockStatement',
              None,
              [['LocalDeclarationStatement',
                ['FieldAccess',
                 ('com/b/a/b', 'a', 'Lcom/b/a/d;'),
                 ['Local', 'p11']],
                [['TypeName', ('java/lang/StringBuilder', 0)],
                 ['Local', 'v2_0']]]]],
             [([['TypeName',
                 ('java/util/concurrent/ThreadPoolExecutor', 0)],
                ['Local', 'v0_20']],
               ['BlockStatement',
                None,
                [['ThrowStatement', ['Local', 'v0_20']]]])]],
            ['IfStatement',
             None,
             ['BinaryInfix',
              '==',
              ['FieldAccess',
               ('com/b/a/d', 'd', 'Lcom/b/a/b;'),
               ['Local', 'v2_0']],
              ['Local', 'p11']],
             [['BlockStatement',
               None,
               [['IfStatement',
                 None,
                 ['BinaryInfix',
                  '||',
                  ['Parenthesis',
                   [['UnaryPrefix', '!', ['Local', 'p12']]]],
                  ['Parenthesis',
                   [['FieldAccess',
                     ('com/b/a/d', 'c', 'Z'),
                     ['Local', 'v2_0']]]]],
                 [['BlockStatement',
                   None,
                   [['WhileStatement',
                     None,
                     ['BinaryInfix',
                      '<',
                      ['Local', 'v0_0'],
                      ['FieldAccess',
                       ('com/b/a/a', 'i', 'I'),
                       ['Local', 'this']]],
                     ['BlockStatement',
                      None,
                      [['LocalDeclarationStatement',
                        ['MethodInvocation',
                         ('com/b/a/d', 'b', '(I)Ljava/io/File;'),
                         'b',
                         True,
                         [['Local', 'v2_0'], ['Local', 'v0_0']]],
                        [['TypeName', ('.int', 0)],
                         ['Local', 'v1_17']]],
                       ['IfStatement',
                        None,
                        ['UnaryPrefix', '!', ['Local', 'p12']],
                        [['BlockStatement',
                          None,
                          [['ExpressionStatement',
                            ['MethodInvocation',
                             ('com/b/a/a',
                              'b',
                              '(Ljava/io/File;)V'),
                             'b',
                             True,
                             [['TypeName',
                               ('com/b/a/a', 0)],
                              ['Local', 'v1_17']]]]]],
                         ['BlockStatement',
                          None,
                          [['IfStatement',
                            None,
                            ['MethodInvocation',
                             ('java/io/File',
                              'exists',
                              '()Z'),
                             'exists',
                             True,
                             [['Local', 'v1_17']]],
                            [['BlockStatement',
                              None,
                              [['LocalDeclarationStatement',
                                ['MethodInvocation',
                                 ('com/b/a/d',
                                  'a',
                                  '(I)Ljava/io/File;'),
                                 'a',
                                 True,
                                 [['Local', 'v2_0'],
                                  ['Local', 'v0_0']]],
                                [['TypeName',
                                  ('.boolean', 0)],
                                 ['Local', 'v3_7']]],
                               ['ExpressionStatement',
                                ['MethodInvocation',
                                 ('java/io/File',
                                  'renameTo',
                                  '(Ljava/io/File;)Z'),
                                 'renameTo',
                                 True,
                                 [['Local', 'v1_17'],
                                  ['Local', 'v3_7']]]],
                               ['LocalDeclarationStatement',
                                ['ArrayAccess',
                                 [['FieldAccess',
                                   ('com/b/a/d',
                                    'b',
                                    '[J'),
                                   ['Local', 'v2_0']],
                                  ['Local', 'v0_0']]],
                                [['TypeName',
                                  ('.long', 0)],
                                 ['Local', 'v4_2']]],
                               ['LocalDeclarationStatement',
                                ['MethodInvocation',
                                 ('java/io/File',
                                  'length',
                                  '()J'),
                                 'length',
                                 True,
                                 [['Local', 'v3_7']]],
                                [['TypeName',
                                  ('.long', 0)],
                                 ['Local', 'v6']]],
                               ['ExpressionStatement',
                                ['Assignment',
                                 [['ArrayAccess',
                                   [['FieldAccess',
                                     ('com/b/a/d',
                                      'b',
                                      '[J'),
                                     ['Local',
                                      'v2_0']],
                                    ['Local', 'v0_0']]],
                                  ['Local', 'v6']]]],
                               ['ExpressionStatement',
                                ['Assignment',
                                 [['FieldAccess',
                                   ('com/b/a/a',
                                    'j',
                                    'J'),
                                   ['Local', 'this']],
                                  ['Parenthesis',
                                   [['BinaryInfix',
                                     '+',
                                     ['Parenthesis',
                                      [['BinaryInfix',
                                        '-',
                                        ['FieldAccess',
                                         ('com/b/a/a',
                                          'j',
                                          'J'),
                                         ['Local',
                                          'this']],
                                        ['Local',
                                         'v4_2']]]],
                                     ['Local', 'v6']]]]]]]]]]]]]]],
                       ['ExpressionStatement',
                        ['Assignment',
                         [['Local', 'v0_0'],
                          ['Parenthesis',
                           [['BinaryInfix',
                             '+',
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from pprint import pformat

from androlyze.log.Log import log
from androlyze.model.script.AndroScript import AndroScript
from androlyze.model.script.util import AnaUtil


class ASTifyMethodsText(AndroScript):
    ''' Get the AST (abstract syntax tree) for each method. '''
    
    VERSION = "0.3"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        # CFG
        for encoded_method in dalvik_vm_format.get_methods():
            try:
                method_analysis = vm_analysis.get_method(encoded_method)
            
                if encoded_method.get_code() == None:
                    continue
                
                classname = encoded_method.get_class_name()
                
                # skip android classes due to mongo db document limit
                if classname.find("Landroid") != -1:
                    continue
                
                ast = None
                if method_analysis is not None:
                    ast = AnaUtil.ast_for_method_analysis(method_analysis)
                
                if ast is not None:    
                    self.cres += '%s\n\n' % pformat(ast)
            except Exception as e:
                log.exception(e)

    def custom_result_object(self):
        return ("", "json")

    ############################################################
    #---Options
    ############################################################    

    def needs_dalvik_vm_format(self):
        return True
    
    def needs_vmanalysis(self):
        return True

Activities

This is an autogenerated documentation file for the script: Activities

Run it
$ ./androanalyze scripts_builtin/Activities.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Activities -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Activities",
         "sha256": "a9afd17bdb69d1d426c80e2734072625028c4a246e3b7f087fd1c751c453a50d",
         "analysis date": "2015-06-22T20:22:51.226000",
         "version": "0.1"
     },
     "activities": {
         "all": [
             "android.support.v7.widget.TestActivity",
             "com.facebook.LoginActivity",
             "com.google.android.gms.ads.AdActivity",
             "com.mixpanel.android.surveys.SurveyActivity",
             "com.sony.snei.np.android.account.oauth.BrowserRedirectReceiverActivity",
             "com.spotify.mobile.android.arsenal.ArsenalSSOBrowserActivity",
             "com.spotify.mobile.android.service.LoginActivity",
             "com.spotify.mobile.android.service.ResetPasswordActivity",
             "com.spotify.mobile.android.service.TermsOfServiceChangedActivity",
             "com.spotify.mobile.android.spotlets.ads.BannerAdActivity",
             "com.spotify.mobile.android.spotlets.openaccess.OpenAccessActivity",
             "com.spotify.mobile.android.spotlets.share.ConnectFacebookActivity",
             "com.spotify.mobile.android.spotlets.share.PostActivity",
             "com.spotify.mobile.android.spotlets.suggestedtweet.SuggestedTweetActivity",
             "com.spotify.mobile.android.spotlets.video.BackgroundableVideoPlayerActivity",
             "com.spotify.mobile.android.ui.activity.AddToPlaylistActivity",
             "com.spotify.mobile.android.ui.activity.AnnotateDiscardChangesActivity",
             "com.spotify.mobile.android.ui.activity.AnnotatePlaylistActivity",
             "com.spotify.mobile.android.ui.activity.AppRaterActivity",
             "com.spotify.mobile.android.ui.activity.ConfirmDeletionActivity",
             "com.spotify.mobile.android.ui.activity.ConnectOnboardingActivity",
             "com.spotify.mobile.android.ui.activity.CoverImageActivity",
             "com.spotify.mobile.android.ui.activity.CreateRenamePlaylistActivity",
             "com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsActivity",
             "com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsConfirmationActivity",
             "com.spotify.mobile.android.ui.activity.DeletingCacheDialogActivity",
             "com.spotify.mobile.android.ui.activity.DeviceActivity",
             "com.spotify.mobile.android.ui.activity.DisableOfflineModeActivity",
             "com.spotify.mobile.android.ui.activity.DiskAlmostFullActivity",
             "com.spotify.mobile.android.ui.activity.FacebookPlaceholderActivity",
             "com.spotify.mobile.android.ui.activity.FacebookWebPermissionsActivity",
             "com.spotify.mobile.android.ui.activity.LastFmLoginDialog",
             "com.spotify.mobile.android.ui.activity.LockScreenActivity",
             "com.spotify.mobile.android.ui.activity.NotificationWebViewActivity",
             "com.spotify.mobile.android.ui.activity.OfflineSyncErrorActivity",
             "com.spotify.mobile.android.ui.activity.PermissionsActivity",
             "com.spotify.mobile.android.ui.activity.PlayHistoryActivity",
             "com.spotify.mobile.android.ui.activity.PlayQueueActivity",
             "com.spotify.mobile.android.ui.activity.PlaybackErrorWifiMftGroup3NoMoreTimeActivity",
             "com.spotify.mobile.android.ui.activity.PlaybackErrorWifiOnlyActivity",
             "com.spotify.mobile.android.ui.activity.PlayerActivity",
             "com.spotify.mobile.android.ui.activity.RemotePlaybackActivity",
             "com.spotify.mobile.android.ui.activity.ShareActivity",
             "com.spotify.mobile.android.ui.activity.ShareToSpotifyActivity",
             "com.spotify.mobile.android.ui.activity.ShowcaseActivity",
             "com.spotify.mobile.android.ui.activity.SoundEffectsWarningActivity",
             "com.spotify.mobile.android.ui.activity.TosTextActivity",
             "com.spotify.mobile.android.ui.activity.UninstallOldAppActivity",
             "com.spotify.mobile.android.ui.activity.UpdateActivity",
             "com.spotify.mobile.android.ui.activity.VolumeWidgetActivity",
             "com.spotify.mobile.android.ui.activity.dialog.HolidayOfferUpsellInterstitialActivity",
             "com.spotify.mobile.android.ui.activity.dialog.PremiumUpsellInterstitialActivity",
             "com.spotify.mobile.android.ui.activity.dialog.TrialReminderActivity",
             "com.spotify.mobile.android.ui.activity.dialog.TrialStartedActivity",
             "com.spotify.mobile.android.ui.activity.upsell.MarketingOptInActivity",
             "com.spotify.mobile.android.ui.activity.upsell.PremiumSignupActivity",
             "com.spotify.mobile.android.ui.activity.upsell.UpsellDialogActivity",
             "com.spotify.mobile.android.ui.activity.upsell.UpsellPremiumOnlyActivity",
             "com.spotify.mobile.android.util.FragmentTesterActivity",
             "com.spotify.mobile.android.util.ViewTesterActivity",
             "com.spotify.music.MainActivity",
             "com.spotify.music.spotlets.networkoperatorpremiumactivation.PremiumActivationOptInDialog"
         ],
         "main activity": "com.spotify.music.MainActivity"
     }
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Activities -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Activities -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

#categories
CAT_ACTIVITIES = "activities" 
CAT_ACTIVITIES_MAIN = "main activity"
CAT_ACTIVITIES_LISTING = "all" 

class Activities(AndroScript):
    ''' List activities '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        res = self.res
        
        # register basic structure
        res.register_keys([CAT_ACTIVITIES_LISTING, CAT_ACTIVITIES_MAIN], CAT_ACTIVITIES)
        
        # activities        
        res.log(CAT_ACTIVITIES_LISTING, sorted(apk.get_activities()), CAT_ACTIVITIES)
        res.log(CAT_ACTIVITIES_MAIN, apk.get_main_activity(), CAT_ACTIVITIES)

ApkInfo

This is an autogenerated documentation file for the script: ApkInfo

Run it
$ ./androanalyze scripts_builtin/ApkInfo.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ApkInfo -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ApkInfo",
         "sha256": "0f37eeab432719d25a974868ac3a6b10272e036b26ab2170630c32cf1175b89e",
         "analysis date": "2015-06-22T20:22:51.227000",
         "version": "0.1"
     },
     "apkinfo": {
         "components": {
             "activities": {
                 "all": [
                     "android.support.v7.widget.TestActivity",
                     "com.facebook.LoginActivity",
                     "com.google.android.gms.ads.AdActivity",
                     "com.mixpanel.android.surveys.SurveyActivity",
                     "com.sony.snei.np.android.account.oauth.BrowserRedirectReceiverActivity",
                     "com.spotify.mobile.android.arsenal.ArsenalSSOBrowserActivity",
                     "com.spotify.mobile.android.service.LoginActivity",
                     "com.spotify.mobile.android.service.ResetPasswordActivity",
                     "com.spotify.mobile.android.service.TermsOfServiceChangedActivity",
                     "com.spotify.mobile.android.spotlets.ads.BannerAdActivity",
                     "com.spotify.mobile.android.spotlets.openaccess.OpenAccessActivity",
                     "com.spotify.mobile.android.spotlets.share.ConnectFacebookActivity",
                     "com.spotify.mobile.android.spotlets.share.PostActivity",
                     "com.spotify.mobile.android.spotlets.suggestedtweet.SuggestedTweetActivity",
                     "com.spotify.mobile.android.spotlets.video.BackgroundableVideoPlayerActivity",
                     "com.spotify.mobile.android.ui.activity.AddToPlaylistActivity",
                     "com.spotify.mobile.android.ui.activity.AnnotateDiscardChangesActivity",
                     "com.spotify.mobile.android.ui.activity.AnnotatePlaylistActivity",
                     "com.spotify.mobile.android.ui.activity.AppRaterActivity",
                     "com.spotify.mobile.android.ui.activity.ConfirmDeletionActivity",
                     "com.spotify.mobile.android.ui.activity.ConnectOnboardingActivity",
                     "com.spotify.mobile.android.ui.activity.CoverImageActivity",
                     "com.spotify.mobile.android.ui.activity.CreateRenamePlaylistActivity",
                     "com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsActivity",
                     "com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsConfirmationActivity",
                     "com.spotify.mobile.android.ui.activity.DeletingCacheDialogActivity",
                     "com.spotify.mobile.android.ui.activity.DeviceActivity",
                     "com.spotify.mobile.android.ui.activity.DisableOfflineModeActivity",
                     "com.spotify.mobile.android.ui.activity.DiskAlmostFullActivity",
                     "com.spotify.mobile.android.ui.activity.FacebookPlaceholderActivity",
                     "com.spotify.mobile.android.ui.activity.FacebookWebPermissionsActivity",
                     "com.spotify.mobile.android.ui.activity.LastFmLoginDialog",
                     "com.spotify.mobile.android.ui.activity.LockScreenActivity",
                     "com.spotify.mobile.android.ui.activity.NotificationWebViewActivity",
                     "com.spotify.mobile.android.ui.activity.OfflineSyncErrorActivity",
                     "com.spotify.mobile.android.ui.activity.PermissionsActivity",
                     "com.spotify.mobile.android.ui.activity.PlayHistoryActivity",
                     "com.spotify.mobile.android.ui.activity.PlayQueueActivity",
                     "com.spotify.mobile.android.ui.activity.PlaybackErrorWifiMftGroup3NoMoreTimeActivity",
                     "com.spotify.mobile.android.ui.activity.PlaybackErrorWifiOnlyActivity",
                     "com.spotify.mobile.android.ui.activity.PlayerActivity",
                     "com.spotify.mobile.android.ui.activity.RemotePlaybackActivity",
                     "com.spotify.mobile.android.ui.activity.ShareActivity",
                     "com.spotify.mobile.android.ui.activity.ShareToSpotifyActivity",
                     "com.spotify.mobile.android.ui.activity.ShowcaseActivity",
                     "com.spotify.mobile.android.ui.activity.SoundEffectsWarningActivity",
                     "com.spotify.mobile.android.ui.activity.TosTextActivity",
                     "com.spotify.mobile.android.ui.activity.UninstallOldAppActivity",
                     "com.spotify.mobile.android.ui.activity.UpdateActivity",
                     "com.spotify.mobile.android.ui.activity.VolumeWidgetActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.HolidayOfferUpsellInterstitialActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.PremiumUpsellInterstitialActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.TrialReminderActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.TrialStartedActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.MarketingOptInActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.PremiumSignupActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.UpsellDialogActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.UpsellPremiumOnlyActivity",
                     "com.spotify.mobile.android.util.FragmentTesterActivity",
                     "com.spotify.mobile.android.util.ViewTesterActivity",
                     "com.spotify.music.MainActivity",
                     "com.spotify.music.spotlets.networkoperatorpremiumactivation.PremiumActivationOptInDialog"
                 ],
                 "main activity": "com.spotify.music.MainActivity"
             },
             "services": [
                 "com.spotify.mobile.android.service.SpotifyService",
                 "com.spotify.mobile.android.video.VideoService",
                 "com.spotify.mobile.android.service.MetadataManagerProxy",
                 "com.spotify.mobile.android.service.ConnectManagerProxy",
                 "com.spotify.mobile.android.service.SessionManagerProxy",
                 "com.spotify.mobile.android.service.RemoteNativeRouterProxy",
                 "com.spotify.mobile.android.service.MonitorService",
                 "com.spotify.mobile.android.util.tracking.TrackingService",
                 "com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerIntentService",
                 "com.spotify.mobile.android.service.DeviceIdentifierLoggerIntentService",
                 "com.spotify.music.internal.service.DeleteCacheService",
                 "com.spotify.mobile.android.spotlets.video.BackgroundableVideoService",
                 "com.spotify.music.internal.service.DeleteOldCacheLocationsService",
                 "com.spotify.mobile.android.spotlets.collection.service.AnnotateService",
                 "com.spotify.mobile.android.spotlets.collection.service.RecentlyPlayedService",
                 "com.spotify.mobile.android.spotlets.collection.cosmos.service.CollectionService",
                 "com.spotify.mobile.android.spotlets.offline.service.OfflineService",
                 "com.spotify.mobile.android.spotlets.podcast.service.PlayedStateService",
                 "com.spotify.mobile.android.spotlets.ads.VideoAdService",
                 "com.spotify.mobile.android.service.VideoPlayerManagerProxy",
                 "com.spotify.music.spotlets.situationalcontent.loggers.activityrecognition.ActivityRecognitionIntentService",
                 "com.spotify.music.spotlets.radio.service.RadioActionsService",
                 "com.spotify.mobile.android.service.player.PlayerStateService",
                 "com.spotify.mobile.android.service.session.SessionStateService",
                 "com.spotify.mobile.android.service.media.MediaService",
                 "com.spotify.mobile.android.applink.service.AppLinkService",
                 "com.spotify.mobile.android.service.feature.FeatureService",
                 "com.spotify.mobile.android.androidauto.SpotifyMediaBrowserService"
             ],
             "broadcast receivers": [
                 "com.spotify.music.internal.receiver.MediaButtonReceiver",
                 "com.spotify.music.spotlets.optintrial.TrialAlarmBroadcastReceiver",
                 "com.spotify.music.spotlets.widget.SpotifyWidget",
                 "com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerReceiver",
                 "com.spotify.music.spotlets.gcm.GcmBroadcastReceiver",
                 "com.spotify.mobile.android.applink.AppLinkBluetoothManager",
                 "com.spotify.music.internal.receiver.LoggerReceiver",
                 "com.spotify.mobile.android.spotlets.collection.receiver.ConnectionStateChangedReceiver",
                 "com.mixpanel.android.mpmetrics.InstallReferrerReceiver"
             ],
             "content providers": [
                 "com.spotify.music.internal.provider.SpotifyProvider",
                 "com.spotify.music.internal.provider.LoggerProvider",
                 "com.spotify.mobile.android.util.prefs.PrefsProvider",
                 "com.spotify.mobile.android.service.media.provider.MediaProvider"
             ],
             "intents": {
                 "services": {
                     "com_spotify_mobile_android_androidauto_SpotifyMediaBrowserService": {
                         "action": [
                             "android.media.browse.MediaBrowserService"
                         ]
                     },
                     "com_spotify_mobile_android_service_RemoteNativeRouterProxy": {
                         "action": [
                             "com.spotify.mobile.service.action.COSMOS_PROXY"
                         ]
                     }
                 },
                 "activities": {
                     "com_spotify_mobile_android_ui_activity_TosTextActivity": {
                         "action": [
                             "android.intent.action.VIEW"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT",
                             "android.intent.category.BROWSABLE"
                         ]
                     },
                     "com_sony_snei_np_android_account_oauth_BrowserRedirectReceiverActivity": {
                         "action": [
                             "android.intent.action.VIEW"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT",
                             "android.intent.category.BROWSABLE"
                         ]
                     },
                     "com_spotify_music_MainActivity": {
                         "action": [
                             "android.intent.action.MAIN",
                             "android.intent.action.MUSIC_PLAYER",
                             "android.nfc.action.NDEF_DISCOVERED",
                             "android.intent.action.SEARCH",
                             "android.intent.action.VIEW",
                             "com.facebook.application.174829003346",
                             "android.media.action.MEDIA_PLAY_FROM_SEARCH",
                             "com.sonymobile.media.dashboard.ACTION_VIEW_MUSIC_TILE"
                         ],
                         "category": [
                             "android.intent.category.LAUNCHER",
                             "android.intent.category.DEFAULT",
                             "android.intent.category.APP_MUSIC",
                             "android.intent.category.BROWSABLE"
                         ]
                     },
                     "com_spotify_mobile_android_service_LoginActivity": {
                         "action": [
                             "com.spotify.mobile.android.service.action.session.LOGIN"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT"
                         ]
                     },
                     "com_spotify_mobile_android_arsenal_ArsenalSSOBrowserActivity": {
                         "action": [
                             "com.spotify.music.NPAM_ACTION_BROWSER"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT",
                             "android.intent.category.LAUNCHER"
                         ]
                     }
                 },
                 "content providers": {},
                 "broadcast receivers": {
                     "com_mixpanel_android_mpmetrics_InstallReferrerReceiver": {
                         "action": [
                             "com.android.vending.INSTALL_REFERRER"
                         ]
                     },
                     "com_spotify_music_spotlets_optintrial_TrialAlarmBroadcastReceiver": {
                         "action": [
                             "com.spotify.music.spotlets.optintrial.action.TRIAL_REMINDER"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT"
                         ]
                     },
                     "com_spotify_mobile_android_spotlets_collection_receiver_ConnectionStateChangedReceiver": {
                         "action": [
                             "com.spotify.mobile.android.service.broadcast.session.CONNECTION_STATE_CHANGED"
                         ]
                     },
                     "com_spotify_music_spotlets_widget_SpotifyWidget": {
                         "action": [
                             "android.appwidget.action.APPWIDGET_UPDATE",
                             "com.spotify.mobile.android.ui.widget.PREVIOUS",
                             "com.spotify.mobile.android.ui.widget.PLAY",
                             "com.spotify.mobile.android.ui.widget.NEXT"
                         ]
                     },
                     "com_spotify_music_internal_receiver_LoggerReceiver": {
                         "action": [
                             "com.spotify.music.internal.receiver.CACHE_LOG"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT"
                         ]
                     },
                     "com_spotify_music_internal_receiver_MediaButtonReceiver": {
                         "action": [
                             "android.intent.action.MEDIA_BUTTON"
                         ]
                     },
                     "com_spotify_mobile_android_applink_AppLinkBluetoothManager": {
                         "action": [
                             "android.bluetooth.adapter.action.STATE_CHANGED",
                             "android.bluetooth.device.action.ACL_CONNECTED",
                             "android.bluetooth.device.action.ACL_DISCONNECTED"
                         ]
                     },
                     "com_spotify_music_spotlets_gcm_GcmBroadcastReceiver": {
                         "action": [
                             "com.google.android.c2dm.intent.RECEIVE"
                         ],
                         "category": [
                             "com.spotify.music"
                         ]
                     },
                     "com_spotify_music_spotlets_mobileapptracker_MobileAppTrackerReceiver": {
                         "action": [
                             "com.android.vending.INSTALL_REFERRER"
                         ]
                     }
                 }
             }
         },
         "permissions": [
             "android.permission.ACCESS_NETWORK_STATE",
             "android.permission.ACCESS_WIFI_STATE",
             "android.permission.BLUETOOTH",
             "android.permission.BLUETOOTH_ADMIN",
             "android.permission.BROADCAST_STICKY",
             "android.permission.GET_ACCOUNTS",
             "android.permission.INTERNET",
             "android.permission.MANAGE_ACCOUNTS",
             "android.permission.MODIFY_AUDIO_SETTINGS",
             "android.permission.NFC",
             "android.permission.READ_PHONE_STATE",
             "android.permission.USE_CREDENTIALS",
             "android.permission.WAKE_LOCK",
             "android.permission.WRITE_EXTERNAL_STORAGE",
             "com.android.vending.BILLING",
             "com.google.android.c2dm.permission.RECEIVE",
             "com.sony.snei.np.android.account.provider.permission.DUID_READ_PROVIDER",
             "com.spotify.music.permission.C2D_MESSAGE"
         ],
         "libraries": [],
         "files": [
             "META-INF/MANIFEST.MF",
             "META-INF/RELEASE.SF",
             "META-INF/RELEASE.RSA",
             "META-INF/services/com.fasterxml.jackson.core.ObjectCodec",
             "AndroidManifest.xml",
             "assets/ProximaNova-Regular.otf",
             "assets/ProximaNova-RegularT100.otf",
             "assets/ProximaNova-RegularT50.otf",
             "assets/ProximaNova-SemiBold.otf",
             "assets/ProximaNova-SemiBoldT100.otf",
             "assets/ProximaNova-SemiBoldT50.otf",
             "assets/crashlytics-build.properties",
             "assets/licenses.xhtml",
             "assets/spoticon.ttf",
             "assets/transfer.png",
             "assets/unplaylable-local-file.xhtml",
             "assets/unplaylable-local-file_es.xhtml",
             "assets/unplaylable-local-file_fr.xhtml",
             "res/anim/abc_fade_in.xml",
             "res/anim/abc_fade_out.xml",
             "res/anim/abc_slide_in_bottom.xml",
             "res/anim/abc_slide_in_top.xml",
             "res/anim/abc_slide_out_bottom.xml",
             "res/anim/abc_slide_out_top.xml",
             "res/anim/anim_in_left.xml",
             "res/anim/anim_in_right.xml",
             "res/anim/anim_out_left.xml",
             "res/anim/anim_out_right.xml",
             "res/anim/anim_scale_down_play_button.xml",
             "res/anim/anim_scale_up_play_button.xml",
             "res/anim/button_transition_in.xml",
             "res/anim/button_transition_out.xml",
             "res/color/abc_background_cache_hint_selector_material_dark.xml",
             "res/color/abc_background_cache_hint_selector_material_light.xml",
             "res/color/abc_primary_text_disable_only_material_dark.xml",
             "res/color/abc_primary_text_disable_only_material_light.xml",
             "res/color/abc_primary_text_material_dark.xml",
             "res/color/abc_primary_text_material_light.xml",
             "res/color/abc_search_url_text.xml",
             "res/color/abc_secondary_text_material_dark.xml",
             "res/color/abc_secondary_text_material_light.xml",
             "res/color/btn_now_playing_gray.xml",
             "res/color/btn_now_playing_gray_checkable.xml",
             "res/color/btn_now_playing_gray_disabled.xml",
             "res/color/btn_now_playing_thumb_down.xml",
             "res/color/btn_now_playing_thumb_up.xml",
             "res/color/btn_now_playing_white.xml",
             "res/color/btn_share_connect_icon.xml",
             "res/color/cat_accessory.xml",
             "res/color/cat_button_border.xml",
             "res/color/cat_button_info_dialog_text.xml",
             "res/color/cat_button_info_text.xml",
             "res/color/cat_button_primary_text.xml",
             "res/color/cat_button_text.xml",
             "res/color/cat_dialog_button_negative_text.xml",
             "res/color/cat_dialog_button_positive_text.xml",
             "res/color/cat_navigationitem_icon.xml",
             "res/color/cat_navigationitem_text.xml",
             "res/color/cat_profile_panel.xml",
             "res/color/cat_signup_panel.xml",
             "res/color/cat_tab_text.xml",
             "res/color/cat_text_primary.xml",
             "res/color/cat_text_primary_muted.xml",
             "res/color/cat_text_secondary.xml",
             "res/color/cat_text_secondary_muted.xml",
             "res/color/common_signin_btn_text_dark.xml",
             "res/color/common_signin_btn_text_light.xml",
             "res/color/txt_btn_facebook.xml",
             "res/color/txt_button_light.xml",
             "res/color/txt_cell_cover_subtitle.xml",
             "res/color/txt_cell_cover_title.xml",
             "res/color/txt_cell_navigation.xml",
             "res/color/txt_cell_queue_subtitle.xml",
             "res/color/txt_cell_queue_title.xml",
             "res/color/txt_cell_subtitle.xml",
             "res/color/txt_cell_title.xml",
             "res/drawable-hdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-hdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/album_covers_splash.png",
             "res/drawable-hdpi-v4/background_icon.png",
             "res/drawable-hdpi-v4/bg_actionbar_tab_focused.9.png",
             "res/drawable-hdpi-v4/bg_actionbar_tab_pressed.9.png",
             "res/drawable-hdpi-v4/bg_bubble.9.png",
             "res/drawable-hdpi-v4/bg_dark_albums.jpg",
             "res/drawable-hdpi-v4/bg_header_placeholder.png",
             "res/drawable-hdpi-v4/bg_holiday_offer_upsell_interstitial_top.png",
             "res/drawable-hdpi-v4/bg_premium_upsell_interstitial_top.jpg",
             "res/drawable-hdpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-hdpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-hdpi-v4/btn_big_primary.9.png",
             "res/drawable-hdpi-v4/btn_big_primary_for_dark_bg.9.png",
             "res/drawable-hdpi-v4/btn_big_primary_pressed.9.png",
             "res/drawable-hdpi-v4/btn_big_secondary_for_dark_bg.9.png",
             "res/drawable-hdpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-hdpi-v4/btn_facebook_normal.9.png",
             "res/drawable-hdpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-hdpi-v4/btn_g_icon.png",
             "res/drawable-hdpi-v4/btn_overlay_pause.png",
             "res/drawable-hdpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-hdpi-v4/btn_overlay_play.png",
             "res/drawable-hdpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-hdpi-v4/btn_player_in_collection_checked.png",
             "res/drawable-hdpi-v4/cat_navigation_background.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_blue_focused.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_blue_normal.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_blue_pressed.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_grey_focused.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_grey_normal.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_grey_pressed.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_background.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_background_selected.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_icon.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_icon_selected.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_pressed.png",
             "res/drawable-hdpi-v4/com_facebook_close.png",
             "res/drawable-hdpi-v4/com_facebook_inverse_icon.png",
             "res/drawable-hdpi-v4/com_facebook_logo.png",
             "res/drawable-hdpi-v4/com_facebook_picker_magnifier.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_background.9.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_bottomnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_topnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_xout.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_background.9.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_topnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_xout.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-hdpi-v4/common_full_open_on_phone.png",
             "res/drawable-hdpi-v4/common_ic_googleplayservices.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-hdpi-v4/connect_device_type_computer.png",
             "res/drawable-hdpi-v4/connect_device_type_receiver.png",
             "res/drawable-hdpi-v4/connect_device_type_smartphone.png",
             "res/drawable-hdpi-v4/connect_device_type_speaker.png",
             "res/drawable-hdpi-v4/connect_device_type_tablet.png",
             "res/drawable-hdpi-v4/connect_device_type_tv.png",
             "res/drawable-hdpi-v4/connect_header_img.png",
             "res/drawable-hdpi-v4/connect_showcase.png",
             "res/drawable-hdpi-v4/fastscroll_default.png",
             "res/drawable-hdpi-v4/fastscroll_pressed.png",
             "res/drawable-hdpi-v4/genesis_new_releases.png",
             "res/drawable-hdpi-v4/genesis_recommended_for_you.png",
             "res/drawable-hdpi-v4/genesis_toplists.png",
             "res/drawable-hdpi-v4/highlights.png",
             "res/drawable-hdpi-v4/hlv_overscroll_edge.png",
             "res/drawable-hdpi-v4/hlv_overscroll_glow.png",
             "res/drawable-hdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-hdpi-v4/ic_menu_info_details.png",
             "res/drawable-hdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-hdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-hdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-hdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-hdpi-v4/icn_add_to_collection.png",
             "res/drawable-hdpi-v4/icn_add_to_playlist.png",
             "res/drawable-hdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-hdpi-v4/icn_download_header_waiting.png",
             "res/drawable-hdpi-v4/icn_download_waiting.png",
             "res/drawable-hdpi-v4/icn_facebook.png",
             "res/drawable-hdpi-v4/icn_mft_home_back.png",
             "res/drawable-hdpi-v4/icn_mft_home_logo.png",
             "res/drawable-hdpi-v4/icn_notification.png",
             "res/drawable-hdpi-v4/icn_notification_add_to.png",
             "res/drawable-hdpi-v4/icn_notification_add_to_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_dismiss.png",
             "res/drawable-hdpi-v4/icn_notification_next_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_next_normal.png",
             "res/drawable-hdpi-v4/icn_notification_pause_normal.png",
             "res/drawable-hdpi-v4/icn_notification_play_normal.png",
             "res/drawable-hdpi-v4/icn_notification_prev_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_prev_normal.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_down_default.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_down_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_down_selected.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_up_default.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_up_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_up_selected.png",
             "res/drawable-hdpi-v4/icn_playlist.png",
             "res/drawable-hdpi-v4/icn_playlist_collaborative.png",
             "res/drawable-hdpi-v4/icn_quickact_album.png",
             "res/drawable-hdpi-v4/icn_quickact_artist.png",
             "res/drawable-hdpi-v4/icn_quickact_delete.png",
             "res/drawable-hdpi-v4/icn_quickact_queue.png",
             "res/drawable-hdpi-v4/icn_quickact_radio.png",
             "res/drawable-hdpi-v4/icn_quickact_share.png",
             "res/drawable-hdpi-v4/icn_quickact_star.png",
             "res/drawable-hdpi-v4/icn_radio.png",
             "res/drawable-hdpi-v4/icn_radio_added_to_liked.png",
             "res/drawable-hdpi-v4/icn_radio_checkmark.png",
             "res/drawable-hdpi-v4/icn_radio_offline.png",
             "res/drawable-hdpi-v4/icn_remove_from_collection.png",
             "res/drawable-hdpi-v4/icn_share.png",
             "res/drawable-hdpi-v4/icn_sort.png",
             "res/drawable-hdpi-v4/icn_spotify_login.png",
             "res/drawable-hdpi-v4/icon.png",
             "res/drawable-hdpi-v4/img_spotify_logo_text.png",
             "res/drawable-hdpi-v4/img_trial_started.png",
             "res/drawable-hdpi-v4/logo_smaller.png",
             "res/drawable-hdpi-v4/mft_home_background1.jpg",
             "res/drawable-hdpi-v4/mft_home_background2.jpg",
             "res/drawable-hdpi-v4/mft_home_background3.jpg",
             "res/drawable-hdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-hdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-hdpi-v4/nav_icon.png",
             "res/drawable-hdpi-v4/nav_icon_gray.png",
             "res/drawable-hdpi-v4/notification_feature_announcement.jpg",
             "res/drawable-hdpi-v4/powered_by_google_dark.png",
             "res/drawable-hdpi-v4/powered_by_google_light.png",
             "res/drawable-hdpi-v4/profile_panel_invitation_codes_panel.9.png",
             "res/drawable-hdpi-v4/psn_icon.png",
             "res/drawable-hdpi-v4/small_icon.png",
             "res/drawable-hdpi-v4/socialchart_showcase.png",
             "res/drawable-hdpi-v4/sp_logo.png",
             "res/drawable-hdpi-v4/spinner_white.png",
             "res/drawable-hdpi-v4/widget_bg.9.png",
             "res/drawable-hdpi-v4/widget_next_disabled.png",
             "res/drawable-hdpi-v4/widget_next_normal.png",
             "res/drawable-hdpi-v4/widget_pause_disabled.png",
             "res/drawable-hdpi-v4/widget_pause_normal.png",
             "res/drawable-hdpi-v4/widget_play_disabled.png",
             "res/drawable-hdpi-v4/widget_play_normal.png",
             "res/drawable-hdpi-v4/widget_prev_disabled.png",
             "res/drawable-hdpi-v4/widget_prev_normal.png",
             "res/drawable-hdpi-v4/widget_preview.png",
             "res/drawable-land-hdpi-v4/mft_home_background1.jpg",
             "res/drawable-land-hdpi-v4/mft_home_background2.jpg",
             "res/drawable-land-hdpi-v4/mft_home_background3.jpg",
             "res/drawable-land-mdpi-v4/mft_home_background1.jpg",
             "res/drawable-land-mdpi-v4/mft_home_background2.jpg",
             "res/drawable-land-mdpi-v4/mft_home_background3.jpg",
             "res/drawable-land-xhdpi-v4/mft_home_background1.jpg",
             "res/drawable-land-xhdpi-v4/mft_home_background2.jpg",
             "res/drawable-land-xhdpi-v4/mft_home_background3.jpg",
             "res/drawable-ldpi-v4/bg_header_placeholder.png",
             "res/drawable-ldpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-ldpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-ldpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-ldpi-v4/btn_facebook_normal.9.png",
             "res/drawable-ldpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-ldpi-v4/btn_g_icon.png",
             "res/drawable-ldpi-v4/btn_overlay_pause.png",
             "res/drawable-ldpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-ldpi-v4/btn_overlay_play.png",
             "res/drawable-ldpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-ldpi-v4/com_facebook_close.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-ldpi-v4/connect_header_img.png",
             "res/drawable-ldpi-v4/connect_showcase.png",
             "res/drawable-ldpi-v4/hlv_overscroll_edge.png",
             "res/drawable-ldpi-v4/hlv_overscroll_glow.png",
             "res/drawable-ldpi-v4/icn_facebook.png",
             "res/drawable-ldpi-v4/icn_notification.png",
             "res/drawable-ldpi-v4/icon.png",
             "res/drawable-ldpi-v4/socialchart_showcase.png",
             "res/drawable-ldpi-v4/spinner_white.png",
             "res/drawable-ldrtl-hdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-hdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-hdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-hdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-mdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-mdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-mdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-mdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-mdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-mdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-mdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-mdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-mdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-mdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-mdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-mdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-mdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-mdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-mdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/bg_header_placeholder.png",
             "res/drawable-mdpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-mdpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-mdpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-mdpi-v4/btn_facebook_normal.9.png",
             "res/drawable-mdpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-mdpi-v4/btn_g_icon.png",
             "res/drawable-mdpi-v4/btn_overlay_pause.png",
             "res/drawable-mdpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-mdpi-v4/btn_overlay_play.png",
             "res/drawable-mdpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-mdpi-v4/cat_navigation_background.9.png",
             "res/drawable-mdpi-v4/com_facebook_button_blue_focused.9.png",
             "res/drawable-mdpi-v4/com_facebook_button_blue_normal.9.png",
             "res/drawable-mdpi-v4/com_facebook_button_blue_pressed.9.png",
             "res/drawable-mdpi-v4/com_facebook_inverse_icon.png",
             "res/drawable-mdpi-v4/com_facebook_picker_magnifier.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_background.9.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_bottomnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_topnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_xout.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_background.9.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_topnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_xout.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-mdpi-v4/connect_header_img.png",
             "res/drawable-mdpi-v4/connect_showcase.png",
             "res/drawable-mdpi-v4/fastscroll_default.png",
             "res/drawable-mdpi-v4/fastscroll_pressed.png",
             "res/drawable-mdpi-v4/hlv_overscroll_edge.png",
             "res/drawable-mdpi-v4/hlv_overscroll_glow.png",
             "res/drawable-mdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-mdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-mdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-mdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-mdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-mdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-mdpi-v4/icn_facebook.png",
             "res/drawable-mdpi-v4/icn_ford_logo.png",
             "res/drawable-mdpi-v4/icn_ford_spotify_logo.png",
             "res/drawable-mdpi-v4/icn_mft_home_back.png",
             "res/drawable-mdpi-v4/icn_mft_home_logo.png",
             "res/drawable-mdpi-v4/icn_notification.png",
             "res/drawable-mdpi-v4/icon.png",
             "res/drawable-mdpi-v4/img_spotify_logo_text.png",
             "res/drawable-mdpi-v4/logo_smaller.png",
             "res/drawable-mdpi-v4/mft_home_background1.jpg",
             "res/drawable-mdpi-v4/mft_home_background2.jpg",
             "res/drawable-mdpi-v4/mft_home_background3.jpg",
             "res/drawable-mdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-mdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-mdpi-v4/nav_icon.png",
             "res/drawable-mdpi-v4/nav_icon_gray.png",
             "res/drawable-mdpi-v4/powered_by_google_dark.png",
             "res/drawable-mdpi-v4/powered_by_google_light.png",
             "res/drawable-mdpi-v4/psn_icon.png",
             "res/drawable-mdpi-v4/socialchart_showcase.png",
             "res/drawable-mdpi-v4/sp_logo.png",
             "res/drawable-mdpi-v4/spinner_white.png",
             "res/drawable-nodpi-v4/cat_placeholder_album.png",
             "res/drawable-nodpi-v4/cat_placeholder_artist.png",
             "res/drawable-nodpi-v4/cat_placeholder_flag.png",
             "res/drawable-nodpi-v4/cat_placeholder_genre.png",
             "res/drawable-nodpi-v4/cat_placeholder_inbox.png",
             "res/drawable-nodpi-v4/cat_placeholder_offline.png",
             "res/drawable-nodpi-v4/cat_placeholder_playlist.png",
             "res/drawable-nodpi-v4/cat_placeholder_podcast.png",
             "res/drawable-nodpi-v4/cat_placeholder_search.png",
             "res/drawable-nodpi-v4/cat_placeholder_star.png",
             "res/drawable-nodpi-v4/cat_placeholder_toplist.png",
             "res/drawable-nodpi-v4/cat_placeholder_track.png",
             "res/drawable-nodpi-v4/cat_placeholder_user.png",
             "res/drawable-nodpi-v4/cat_placeholder_warning.png",
             "res/drawable-nodpi-v4/placeholder_annotate.png",
             "res/drawable-nodpi-v4/placeholder_artist.png",
             "res/drawable-nodpi-v4/placeholder_genre.png",
             "res/drawable-nodpi-v4/placeholder_playlist.png",
             "res/drawable-nodpi-v4/placeholder_user.png",
             "res/drawable-small-ldpi-v4/icn_radio_offline.png",
             "res/drawable-tvdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-tvdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-tvdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-tvdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-v11/cat_dialog_button_left.xml",
             "res/drawable-v11/cat_dialog_button_right.xml",
             "res/drawable-v11/cat_listitem_background.xml",
             "res/drawable-v11/cat_listitem_background_activated.xml",
             "res/drawable-v21/abc_cab_background_top_material.xml",
             "res/drawable-xhdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-xhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-xhdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-xhdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-xhdpi-v4/abc_menu_dropdown_panel_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_menu_hardkey_panel_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-xhdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-xhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/background_icon.png",
             "res/drawable-xhdpi-v4/bg_header_placeholder.png",
             "res/drawable-xhdpi-v4/bg_login_browse.jpg",
             "res/drawable-xhdpi-v4/bg_login_landing.jpg",
             "res/drawable-xhdpi-v4/bg_login_radio.jpg",
             "res/drawable-xhdpi-v4/bg_login_search.jpg",
             "res/drawable-xhdpi-v4/bg_login_yourmusic.jpg",
             "res/drawable-xhdpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-xhdpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-xhdpi-v4/bg_upsell_carousel.jpg",
             "res/drawable-xhdpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-xhdpi-v4/btn_facebook_normal.9.png",
             "res/drawable-xhdpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-xhdpi-v4/btn_g_icon.png",
             "res/drawable-xhdpi-v4/btn_overlay_pause.png",
             "res/drawable-xhdpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-xhdpi-v4/btn_overlay_play.png",
             "res/drawable-xhdpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-xhdpi-v4/cat_edit_background_activated.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_default.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_dialog_default.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_disabled.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_disabled_focused.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_focused.9.png",
             "res/drawable-xhdpi-v4/cat_feedback_image.png",
             "res/drawable-xhdpi-v4/cat_navigation_background.9.png",
             "res/drawable-xhdpi-v4/cat_navigationitem_background_active.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_default.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_disabled.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_focused.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_pressed.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_blue_focused.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_blue_normal.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_blue_pressed.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_grey_focused.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_grey_normal.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_grey_pressed.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_background.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_background_selected.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_icon.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_icon_selected.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_pressed.png",
             "res/drawable-xhdpi-v4/com_facebook_close.png",
             "res/drawable-xhdpi-v4/com_facebook_inverse_icon.png",
             "res/drawable-xhdpi-v4/com_facebook_logo.png",
             "res/drawable-xhdpi-v4/com_facebook_picker_magnifier.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_background.9.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_bottomnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_topnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_xout.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_background.9.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_topnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_xout.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-xhdpi-v4/connect_header_img.png",
             "res/drawable-xhdpi-v4/connect_showcase.png",
             "res/drawable-xhdpi-v4/contextmenu_placeholder.png",
             "res/drawable-xhdpi-v4/fastscroll_default.png",
             "res/drawable-xhdpi-v4/fastscroll_pressed.png",
             "res/drawable-xhdpi-v4/find_friends.jpg",
             "res/drawable-xhdpi-v4/globe_telecom_flair_1.png",
             "res/drawable-xhdpi-v4/globe_telecom_flair_2.png",
             "res/drawable-xhdpi-v4/globe_telecom_logo.png",
             "res/drawable-xhdpi-v4/hlv_overscroll_edge.png",
             "res/drawable-xhdpi-v4/hlv_overscroll_glow.png",
             "res/drawable-xhdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-xhdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-xhdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-xhdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-xhdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-xhdpi-v4/icn_ads.png",
             "res/drawable-xhdpi-v4/icn_ads_large.png",
             "res/drawable-xhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-xhdpi-v4/icn_device_picker_volume.png",
             "res/drawable-xhdpi-v4/icn_facebook.png",
             "res/drawable-xhdpi-v4/icn_ford_logo.png",
             "res/drawable-xhdpi-v4/icn_ford_spotify_logo.png",
             "res/drawable-xhdpi-v4/icn_mft_home_back.png",
             "res/drawable-xhdpi-v4/icn_mft_home_logo.png",
             "res/drawable-xhdpi-v4/icn_notification.png",
             "res/drawable-xhdpi-v4/icn_notification_add_to.png",
             "res/drawable-xhdpi-v4/icn_notification_add_to_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_dismiss.png",
             "res/drawable-xhdpi-v4/icn_notification_next_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_next_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_pause_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_play_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_prev_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_prev_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_down_default.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_down_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_down_selected.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_up_default.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_up_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_up_selected.png",
             "res/drawable-xhdpi-v4/icn_right_point_caret.png",
             "res/drawable-xhdpi-v4/icon.png",
             "res/drawable-xhdpi-v4/img_spotify_logo_text.png",
             "res/drawable-xhdpi-v4/logo_smaller.png",
             "res/drawable-xhdpi-v4/mediaservice_pause.png",
             "res/drawable-xhdpi-v4/mediaservice_play.png",
             "res/drawable-xhdpi-v4/mediaservice_save.png",
             "res/drawable-xhdpi-v4/mediaservice_save_enabled.png",
             "res/drawable-xhdpi-v4/mediaservice_shuffle.png",
             "res/drawable-xhdpi-v4/mediaservice_shuffle_checked.png",
             "res/drawable-xhdpi-v4/mediaservice_skip_next.png",
             "res/drawable-xhdpi-v4/mediaservice_skip_previous.png",
             "res/drawable-xhdpi-v4/mediaservice_start_radio_black.png",
             "res/drawable-xhdpi-v4/mediaservice_thumbs_down.png",
             "res/drawable-xhdpi-v4/mediaservice_thumbs_up.png",
             "res/drawable-xhdpi-v4/mediaservice_thumbs_up_selected.png",
             "res/drawable-xhdpi-v4/mft_home_background1.jpg",
             "res/drawable-xhdpi-v4/mft_home_background2.jpg",
             "res/drawable-xhdpi-v4/mft_home_background3.jpg",
             "res/drawable-xhdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-xhdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-xhdpi-v4/nav_icon.png",
             "res/drawable-xhdpi-v4/nav_icon_gray.png",
             "res/drawable-xhdpi-v4/powered_by_google_dark.png",
             "res/drawable-xhdpi-v4/powered_by_google_light.png",
             "res/drawable-xhdpi-v4/premium_upsell_icon.png",
             "res/drawable-xhdpi-v4/psn_icon.png",
             "res/drawable-xhdpi-v4/small_icon.png",
             "res/drawable-xhdpi-v4/socialchart_showcase.png",
             "res/drawable-xhdpi-v4/sp_logo.png",
             "res/drawable-xhdpi-v4/spinner_16_inner_holo.png",
             "res/drawable-xhdpi-v4/spinner_16_outer_holo.png",
             "res/drawable-xhdpi-v4/spinner_white.png",
             "res/drawable-xhdpi-v4/widget_next_disabled.png",
             "res/drawable-xhdpi-v4/widget_next_normal.png",
             "res/drawable-xhdpi-v4/widget_pause_disabled.png",
             "res/drawable-xhdpi-v4/widget_pause_normal.png",
             "res/drawable-xhdpi-v4/widget_play_disabled.png",
             "res/drawable-xhdpi-v4/widget_play_normal.png",
             "res/drawable-xhdpi-v4/widget_prev_disabled.png",
             "res/drawable-xhdpi-v4/widget_prev_normal.png",
             "res/drawable-xxhdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-xxhdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-xxhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-xxhdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-xxhdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-xxhdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-xxhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-xxhdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-xxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/background_icon.png",
             "res/drawable-xxhdpi-v4/btn_g_icon.png",
             "res/drawable-xxhdpi-v4/cat_navigation_background.9.png",
             "res/drawable-xxhdpi-v4/cat_overflow_icon.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_background.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_background_selected.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_icon.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_icon_selected.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_pressed.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-xxhdpi-v4/connect_header_img.png",
             "res/drawable-xxhdpi-v4/fastscroll_default.png",
             "res/drawable-xxhdpi-v4/fastscroll_pressed.png",
             "res/drawable-xxhdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-xxhdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-xxhdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-xxhdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-xxhdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-xxhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-xxhdpi-v4/icn_facebook.png",
             "res/drawable-xxhdpi-v4/icn_mft_home_back.png",
             "res/drawable-xxhdpi-v4/icn_mft_home_logo.png",
             "res/drawable-xxhdpi-v4/icon.png",
             "res/drawable-xxhdpi-v4/logo_smaller.png",
             "res/drawable-xxhdpi-v4/mediaservice_albums.png",
             "res/drawable-xxhdpi-v4/mediaservice_artists.png",
             "res/drawable-xxhdpi-v4/mediaservice_browse.png",
             "res/drawable-xxhdpi-v4/mediaservice_newreleases.png",
             "res/drawable-xxhdpi-v4/mediaservice_playlists.png",
             "res/drawable-xxhdpi-v4/mediaservice_radio.png",
             "res/drawable-xxhdpi-v4/mediaservice_starred.png",
             "res/drawable-xxhdpi-v4/mediaservice_yourmusic.png",
             "res/drawable-xxhdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-xxhdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-xxhdpi-v4/nav_icon.png",
             "res/drawable-xxhdpi-v4/nav_icon_gray.png",
             "res/drawable-xxhdpi-v4/powered_by_google_dark.png",
             "res/drawable-xxhdpi-v4/powered_by_google_light.png",
             "res/drawable-xxhdpi-v4/psn_icon.png",
             "res/drawable-xxhdpi-v4/small_icon.png",
             "res/drawable-xxhdpi-v4/sp_logo.png",
             "res/drawable-xxhdpi-v4/widget_next_disabled.png",
             "res/drawable-xxhdpi-v4/widget_next_normal.png",
             "res/drawable-xxhdpi-v4/widget_pause_disabled.png",
             "res/drawable-xxhdpi-v4/widget_pause_normal.png",
             "res/drawable-xxhdpi-v4/widget_placeholder.png",
             "res/drawable-xxhdpi-v4/widget_play_disabled.png",
             "res/drawable-xxhdpi-v4/widget_play_normal.png",
             "res/drawable-xxhdpi-v4/widget_prev_disabled.png",
             "res/drawable-xxhdpi-v4/widget_prev_normal.png",
             "res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-xxxhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-xxxhdpi-v4/connect_header_img.png",
             "res/drawable-xxxhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-xxxhdpi-v4/icn_mft_home_back.png",
             "res/drawable-xxxhdpi-v4/icn_mft_home_logo.png",
             "res/drawable-xxxhdpi-v4/icon.png",
             "res/drawable-xxxhdpi-v4/logo_smaller.png",
             "res/drawable-xxxhdpi-v4/nav_icon.png",
             "res/drawable-xxxhdpi-v4/nav_icon_gray.png",
             "res/drawable-xxxhdpi-v4/psn_icon.png",
             "res/drawable-xxxhdpi-v4/sp_logo.png",
             "res/drawable/abc_btn_check_material.xml",
             "res/drawable/abc_btn_radio_material.xml",
             "res/drawable/abc_cab_background_internal_bg.xml",
             "res/drawable/abc_cab_background_top_material.xml",
             "res/drawable/abc_edit_text_material.xml",
             "res/drawable/abc_item_background_holo_dark.xml",
             "res/drawable/abc_item_background_holo_light.xml",
             "res/drawable/abc_list_selector_background_transition_holo_dark.xml",
             "res/drawable/abc_list_selector_background_transition_holo_light.xml",
             "res/drawable/abc_list_selector_holo_dark.xml",
             "res/drawable/abc_list_selector_holo_light.xml",
             "res/drawable/abc_switch_thumb_material.xml",
             "res/drawable/abc_tab_indicator_material.xml",
             "res/drawable/abc_textfield_search_material.xml",
             "res/drawable/bg_actionbar_item.xml",
             "res/drawable/bg_actionbar_tab.xml",
             "res/drawable/bg_activity_card.xml",
             "res/drawable/bg_browse_header.xml",
             "res/drawable/bg_browse_start_fragment_header.xml",
             "res/drawable/bg_button_dialog_bottom_left_light.xml",
             "res/drawable/bg_button_dialog_bottom_light.xml",
             "res/drawable/bg_button_dialog_bottom_right_light.xml",
             "res/drawable/bg_button_light.xml",
             "res/drawable/bg_button_queue.xml",
             "res/drawable/bg_cat_login_field.xml",
             "res/drawable/bg_cell.xml",
             "res/drawable/bg_connect_playing_from_bar_cat.xml",
             "res/drawable/bg_dialog_button_divider.xml",
             "res/drawable/bg_discover.xml",
             "res/drawable/bg_globe_telecom_premium_activation.xml",
             "res/drawable/bg_header.xml",
             "res/drawable/bg_notification_button.xml",
             "res/drawable/bg_placeholder_album.xml",
             "res/drawable/bg_placeholder_annotate_image.xml",
             "res/drawable/bg_placeholder_artist.xml",
             "res/drawable/bg_placeholder_artist_black.xml",
             "res/drawable/bg_placeholder_playlist.xml",
             "res/drawable/bg_placeholder_user.xml",
             "res/drawable/bg_popup.xml",
             "res/drawable/bg_popup_outside.xml",
             "res/drawable/bg_premium_upsell_interstitial_reason.xml",
             "res/drawable/bg_settings_bubble.xml",
             "res/drawable/bg_share_connect_icon_facebook.xml",
             "res/drawable/bg_share_connect_icon_tumblr.xml",
             "res/drawable/bg_share_connect_icon_twitter.xml",
             "res/drawable/bg_toast.xml",
             "res/drawable/bg_upsell_banner.xml",
             "res/drawable/bg_widget_button.xml",
             "res/drawable/btn_cat_login_button_facebook.xml",
             "res/drawable/btn_cat_login_button_google.xml",
             "res/drawable/btn_cat_login_button_later.xml",
             "res/drawable/btn_cat_login_button_primary.xml",
             "res/drawable/btn_cat_login_button_secondary.xml",
             "res/drawable/btn_cat_nav_upsell_button.xml",
             "res/drawable/btn_facebook.xml",
             "res/drawable/btn_header_overlay_pause.xml",
             "res/drawable/btn_header_overlay_play.xml",
             "res/drawable/btn_intro_primary.xml",
             "res/drawable/btn_twitter.xml",
             "res/drawable/button_download.xml",
             "res/drawable/cat_actionbar_background.xml",
             "res/drawable/cat_actionbar_background_split.xml",
             "res/drawable/cat_back_dummy.xml",
             "res/drawable/cat_button.xml",
             "res/drawable/cat_button_danger.xml",
             "res/drawable/cat_button_info.xml",
             "res/drawable/cat_button_info_small.xml",
             "res/drawable/cat_button_info_small_state_default.xml",
             "res/drawable/cat_button_info_small_state_disabled.xml",
             "res/drawable/cat_button_info_small_state_focused.xml",
             "res/drawable/cat_button_info_small_state_pressed.xml",
             "res/drawable/cat_button_info_state_default.xml",
             "res/drawable/cat_button_info_state_disabled.xml",
             "res/drawable/cat_button_info_state_focused.xml",
             "res/drawable/cat_button_info_state_pressed.xml",
             "res/drawable/cat_button_primary.xml",
             "res/drawable/cat_button_primary_small.xml",
             "res/drawable/cat_button_primary_small_state_default.xml",
             "res/drawable/cat_button_primary_small_state_disabled.xml",
             "res/drawable/cat_button_primary_small_state_focused.xml",
             "res/drawable/cat_button_primary_small_state_pressed.xml",
             "res/drawable/cat_button_primary_state_default.xml",
             "res/drawable/cat_button_primary_state_disabled.xml",
             "res/drawable/cat_button_primary_state_focused.xml",
             "res/drawable/cat_button_primary_state_pressed.xml",
             "res/drawable/cat_button_small.xml",
             "res/drawable/cat_button_small_state_checked.xml",
             "res/drawable/cat_button_small_state_default.xml",
             "res/drawable/cat_button_small_state_disabled.xml",
             "res/drawable/cat_button_small_state_focused.xml",
             "res/drawable/cat_button_small_state_pressed.xml",
             "res/drawable/cat_button_state_checked.xml",
             "res/drawable/cat_button_state_default.xml",
             "res/drawable/cat_button_state_disabled.xml",
             "res/drawable/cat_button_state_focused.xml",
             "res/drawable/cat_button_state_pressed.xml",
             "res/drawable/cat_card_background.xml",
             "res/drawable/cat_card_foreground.xml",
             "res/drawable/cat_checkbox.xml",
             "res/drawable/cat_dialog_background.xml",
             "res/drawable/cat_dialog_button_bar_background.xml",
             "res/drawable/cat_dialog_button_left.xml",
             "res/drawable/cat_dialog_button_right.xml",
             "res/drawable/cat_dialog_button_single_negative.xml",
             "res/drawable/cat_dialog_button_single_positive.xml",
             "res/drawable/cat_dropdown_list_divider.xml",
             "res/drawable/cat_edit_background.xml",
             "res/drawable/cat_edit_background_dialog.xml",
             "res/drawable/cat_filter_list_background.xml",
             "res/drawable/cat_filter_list_divider.xml",
             "res/drawable/cat_list_divider.xml",
             "res/drawable/cat_list_divider_light.xml",
             "res/drawable/cat_list_divider_vertical.xml",
             "res/drawable/cat_list_popup_filter_selector.xml",
             "res/drawable/cat_list_selector.xml",
             "res/drawable/cat_list_selector_default.xml",
             "res/drawable/cat_list_selector_focused.xml",
             "res/drawable/cat_list_selector_focused_no_margin.xml",
             "res/drawable/cat_list_selector_light.xml",
             "res/drawable/cat_list_selector_light_focused.xml",
             "res/drawable/cat_list_selector_light_pressed.xml",
             "res/drawable/cat_list_selector_no_margin.xml",
             "res/drawable/cat_list_selector_pressed.xml",
             "res/drawable/cat_list_selector_pressed_no_margin.xml",
             "res/drawable/cat_listitem_background.xml",
             "res/drawable/cat_listitem_background_default.xml",
             "res/drawable/cat_navigation_list_divider.xml",
             "res/drawable/cat_navigationitem_background.xml",
             "res/drawable/cat_notificationbadge_background.xml",
             "res/drawable/cat_progress.xml",
             "res/drawable/cat_seekbar_thumb.xml",
             "res/drawable/cat_seekbar_thumb_default.xml",
             "res/drawable/cat_spinner_background.xml",
             "res/drawable/cat_switch.xml",
             "res/drawable/cat_switch_default.xml",
             "res/drawable/cat_switch_disabled.xml",
             "res/drawable/cat_switch_focused.xml",
             "res/drawable/cat_switch_thumb.xml",
             "res/drawable/cat_switch_thumb_default.xml",
             "res/drawable/cat_switch_thumb_disabled.xml",
             "res/drawable/cat_text_background_explicit.xml",
             "res/drawable/com_facebook_button_blue.xml",
             "res/drawable/com_facebook_button_blue_focused.9.png",
             "res/drawable/com_facebook_button_blue_normal.9.png",
             "res/drawable/com_facebook_button_blue_pressed.9.png",
             "res/drawable/com_facebook_button_check.xml",
             "res/drawable/com_facebook_button_check_off.png",
             "res/drawable/com_facebook_button_check_on.png",
             "res/drawable/com_facebook_button_grey_focused.9.png",
             "res/drawable/com_facebook_button_grey_normal.9.png",
             "res/drawable/com_facebook_button_grey_pressed.9.png",
             "res/drawable/com_facebook_button_like.xml",
             "res/drawable/com_facebook_button_like_background.png",
             "res/drawable/com_facebook_button_like_background_selected.png",
             "res/drawable/com_facebook_button_like_icon.png",
             "res/drawable/com_facebook_button_like_icon_selected.png",
             "res/drawable/com_facebook_button_like_pressed.png",
             "res/drawable/com_facebook_button_like_selected.xml",
             "res/drawable/com_facebook_close.png",
             "res/drawable/com_facebook_inverse_icon.png",
             "res/drawable/com_facebook_list_divider.9.png",
             "res/drawable/com_facebook_list_section_header_background.9.png",
             "res/drawable/com_facebook_loginbutton_silver.xml",
             "res/drawable/com_facebook_logo.png",
             "res/drawable/com_facebook_picker_item_background.xml",
             "res/drawable/com_facebook_picker_list_focused.9.png",
             "res/drawable/com_facebook_picker_list_longpressed.9.png",
             "res/drawable/com_facebook_picker_list_pressed.9.png",
             "res/drawable/com_facebook_picker_list_selector.xml",
             "res/drawable/com_facebook_picker_list_selector_background_transition.xml",
             "res/drawable/com_facebook_picker_list_selector_disabled.9.png",
             "res/drawable/com_facebook_picker_top_button.xml",
             "res/drawable/com_facebook_place_default_icon.png",
             "res/drawable/com_facebook_profile_default_icon.png",
             "res/drawable/com_facebook_profile_picture_blank_portrait.png",
             "res/drawable/com_facebook_profile_picture_blank_square.png",
             "res/drawable/com_facebook_top_background.xml",
             "res/drawable/com_facebook_top_button.xml",
             "res/drawable/com_facebook_usersettingsfragment_background_gradient.xml",
             "res/drawable/com_mixpanel_android_arrowleft_insets.xml",
             "res/drawable/com_mixpanel_android_arrowleft_states.xml",
             "res/drawable/com_mixpanel_android_arrowright_insets.xml",
             "res/drawable/com_mixpanel_android_arrowright_states.xml",
             "res/drawable/com_mixpanel_android_checkmark_states.xml",
             "res/drawable/com_mixpanel_android_choice_first_states.xml",
             "res/drawable/com_mixpanel_android_choice_last_states.xml",
             "res/drawable/com_mixpanel_android_choice_middle_states.xml",
             "res/drawable/com_mixpanel_android_nocolor_list.xml",
             "res/drawable/com_mixpanel_android_rounded_bottom.9.png",
             "res/drawable/com_mixpanel_android_rounded_bottom_selected.9.png",
             "res/drawable/com_mixpanel_android_rounded_top.9.png",
             "res/drawable/com_mixpanel_android_rounded_top_selected.9.png",
             "res/drawable/com_mixpanel_android_square.9.png",
             "res/drawable/com_mixpanel_android_square_selected.9.png",
             "res/drawable/com_mixpanel_android_text_answer_border.xml",
             "res/drawable/common_signin_btn_icon_dark.xml",
             "res/drawable/common_signin_btn_icon_light.xml",
             "res/drawable/common_signin_btn_text_dark.xml",
             "res/drawable/common_signin_btn_text_light.xml",
             "res/drawable/fastscroll_selector.xml",
             "res/drawable/icn_loading_indicator.xml",
             "res/drawable/img_end_of_trial.xml",
             "res/drawable/indicator_bar.xml",
             "res/drawable/mft_home_cell_border.xml",
             "res/drawable/player_progress_thumb.xml",
             "res/drawable/profile_panel_badge_background.xml",
             "res/drawable/progress_small.xml",
             "res/drawable/progress_small_holo.xml",
             "res/drawable/socialchart_list_divider.xml",
             "res/drawable/socialchart_remaining_shape.xml",
             "res/drawable/transparent.xml",
             "res/layout-land/fragment_mft2_home.xml",
             "res/layout-land/list.xml",
             "res/layout-land/list_with_overlay.xml",
             "res/layout-land/mobile_artist_bio.xml",
             "res/layout-land/player.xml",
             "res/layout-land/player_content_view.xml",
             "res/layout-land/player_controls.xml",
             "res/layout-v11/abc_screen_content_include.xml",
             "res/layout-v21/abc_screen_toolbar.xml",
             "res/layout/abc_action_bar_title_item.xml",
             "res/layout/abc_action_bar_up_container.xml",
             "res/layout/abc_action_bar_view_list_nav_layout.xml",
             "res/layout/abc_action_menu_item_layout.xml",
             "res/layout/abc_action_menu_layout.xml",
             "res/layout/abc_action_mode_bar.xml",
             "res/layout/abc_action_mode_close_item_material.xml",
             "res/layout/abc_activity_chooser_view.xml",
             "res/layout/abc_activity_chooser_view_include.xml",
             "res/layout/abc_activity_chooser_view_list_item.xml",
             "res/layout/abc_expanded_menu_layout.xml",
             "res/layout/abc_list_menu_item_checkbox.xml",
             "res/layout/abc_list_menu_item_icon.xml",
             "res/layout/abc_list_menu_item_layout.xml",
             "res/layout/abc_list_menu_item_radio.xml",
             "res/layout/abc_popup_menu_item_layout.xml",
             "res/layout/abc_screen_content_include.xml",
             "res/layout/abc_screen_simple.xml",
             "res/layout/abc_screen_simple_overlay_action_mode.xml",
             "res/layout/abc_screen_toolbar.xml",
             "res/layout/abc_search_dropdown_item_icons_2line.xml",
             "res/layout/abc_search_view.xml",
             "res/layout/abc_simple_dropdown_hint.xml",
             "res/layout/actionbar_search.xml",
             "res/layout/activity_annotate_playlist.xml",
             "res/layout/activity_cover_image.xml",
             "res/layout/activity_default.xml",
             "res/layout/activity_device.xml",
             "res/layout/activity_disable_offline_mode.xml",
             "res/layout/activity_facebook_webview.xml",
             "res/layout/activity_general_message_radio_and_premium.xml",
             "res/layout/activity_globe_premium_activation.xml",
             "res/layout/activity_holiday_offer_upsell_interstitial.xml",
             "res/layout/activity_lockscreen.xml",
             "res/layout/activity_marketing_opt_in_body.xml",
             "res/layout/activity_notification_webview.xml",
             "res/layout/activity_open.xml",
             "res/layout/activity_player.xml",
             "res/layout/activity_premium_signup.xml",
             "res/layout/activity_premium_upsell_interstitial.xml",
             "res/layout/activity_reset_password.xml",
             "res/layout/activity_showcase.xml",
             "res/layout/activity_tos_text.xml",
             "res/layout/activity_two_buttons_dialog.xml",
             "res/layout/activity_uninstall_old_app.xml",
             "res/layout/activity_upsell_dialog.xml",
             "res/layout/activity_video_player.xml",
             "res/layout/additional_info_bar.xml",
             "res/layout/biography_image_view.xml",
             "res/layout/browse_cover_card.xml",
             "res/layout/browse_new_releases_header.xml",
             "res/layout/cardview.xml",
             "res/layout/cat_listtile_1.xml",
             "res/layout/cat_listtile_1_image.xml",
             "res/layout/cat_listtile_1_image_small.xml",
             "res/layout/cat_listtile_1_small.xml",
             "res/layout/cat_listtile_2.xml",
             "res/layout/cat_listtile_2_image.xml",
             "res/layout/cat_listtile_2_image_muted.xml",
             "res/layout/cat_listtile_2_muted.xml",
             "res/layout/cat_listtile_2_number.xml",
             "res/layout/cat_listtile_2_number_muted.xml",
             "res/layout/cat_listtile_multiline.xml",
             "res/layout/cell_activity_story.xml",
             "res/layout/cell_artist_portrait.xml",
             "res/layout/cell_browse_genre.xml",
             "res/layout/cell_browse_playlist.xml",
             "res/layout/cell_browse_playlist_horizontal_list.xml",
             "res/layout/cell_browse_trending_artist.xml",
             "res/layout/cell_copyright.xml",
             "res/layout/cell_mft_home.xml",
             "res/layout/cell_navigation.xml",
             "res/layout/cell_square_image.xml",
             "res/layout/cell_track_cover.xml",
             "res/layout/cell_tracks_sample.xml",
             "res/layout/collection_show_all.xml",
             "res/layout/com_facebook_friendpickerfragment.xml",
             "res/layout/com_facebook_login_activity_layout.xml",
             "res/layout/com_facebook_picker_activity_circle_row.xml",
             "res/layout/com_facebook_picker_checkbox.xml",
             "res/layout/com_facebook_picker_image.xml",
             "res/layout/com_facebook_picker_list_row.xml",
             "res/layout/com_facebook_picker_list_section_header.xml",
             "res/layout/com_facebook_picker_search_box.xml",
             "res/layout/com_facebook_picker_title_bar.xml",
             "res/layout/com_facebook_picker_title_bar_stub.xml",
             "res/layout/com_facebook_placepickerfragment.xml",
             "res/layout/com_facebook_placepickerfragment_list_row.xml",
             "res/layout/com_facebook_search_bar_layout.xml",
             "res/layout/com_facebook_tooltip_bubble.xml",
             "res/layout/com_facebook_usersettingsfragment.xml",
             "res/layout/com_mixpanel_android_activity_survey.xml",
             "res/layout/com_mixpanel_android_first_choice_answer.xml",
             "res/layout/com_mixpanel_android_last_choice_answer.xml",
             "res/layout/com_mixpanel_android_middle_choice_answer.xml",
             "res/layout/com_mixpanel_android_question_card.xml",
             "res/layout/connect_playing_from_bar.xml",
             "res/layout/context_menu.xml",
             "res/layout/cosmos_search_cell_mft_appears_on.xml",
             "res/layout/cosmos_search_footer_loading.xml",
             "res/layout/cosmos_search_playlist_row.xml",
             "res/layout/discover_grouped_card.xml",
             "res/layout/discover_story.xml",
             "res/layout/display_banner_ad.xml",
             "res/layout/findfriends_header.xml",
             "res/layout/footer_loading.xml",
             "res/layout/fragment_activity_list_view.xml",
             "res/layout/fragment_add_to_playlist.xml",
             "res/layout/fragment_arsenal_ask_login.xml",
             "res/layout/fragment_arsenal_dywla.xml",
             "res/layout/fragment_arsenal_feedback.xml",
             "res/layout/fragment_arsenal_linking.xml",
             "res/layout/fragment_arsenal_sso.xml",
             "res/layout/fragment_browse_default_list_view.xml",
             "res/layout/fragment_browse_default_list_view_cat.xml",
             "res/layout/fragment_browse_header_background.xml",
             "res/layout/fragment_browse_header_text.xml",
             "res/layout/fragment_collection.xml",
             "res/layout/fragment_context_recognition.xml",
             "res/layout/fragment_cosmos_test.xml",
             "res/layout/fragment_device.xml",
             "res/layout/fragment_discover.xml",
             "res/layout/fragment_inbox.xml",
             "res/layout/fragment_login_new.xml",
             "res/layout/fragment_login_splash.xml",
             "res/layout/fragment_login_welcome.xml",
             "res/layout/fragment_mft2_home.xml",
             "res/layout/fragment_not_available.xml",
             "res/layout/fragment_offline_bar.xml",
             "res/layout/fragment_open_access.xml",
             "res/layout/fragment_profile_panel.xml",
             "res/layout/fragment_push_notification_settings.xml",
             "res/layout/fragment_radio.xml",
             "res/layout/fragment_relatedartists_cat.xml",
             "res/layout/fragment_settings.xml",
             "res/layout/fragment_share_dialog_connect_facebook.xml",
             "res/layout/fragment_share_post.xml",
             "res/layout/fragment_show_licenses.xml",
             "res/layout/fragment_showcase.xml",
             "res/layout/fragment_signup_new.xml",
             "res/layout/fragment_sso_login.xml",
             "res/layout/fragment_start.xml",
             "res/layout/fragment_webview.xml",
             "res/layout/fragment_with_recycler_view.xml",
             "res/layout/fragment_x_promo_welcome.xml",
             "res/layout/generic_dialog_header.xml",
             "res/layout/generic_dialog_two_buttons.xml",
             "res/layout/header_devices.xml",
             "res/layout/header_download.xml",
             "res/layout/header_filter.xml",
             "res/layout/header_info_2_lines_page.xml",
             "res/layout/header_info_page.xml",
             "res/layout/header_pretty_subtitle.xml",
             "res/layout/include_start_login_buttons_anonymous.xml",
             "res/layout/include_start_login_buttons_normal.xml",
             "res/layout/list.xml",
             "res/layout/list_discovery.xml",
             "res/layout/list_frame.xml",
             "res/layout/list_popup.xml",
             "res/layout/list_with_emptyview.xml",
             "res/layout/list_with_overlay.xml",
             "res/layout/loading_view.xml",
             "res/layout/login_content.xml",
             "res/layout/main.xml",
             "res/layout/main_debug_overlay.xml",
             "res/layout/material_listtile_1.xml",
             "res/layout/material_listtile_1_image.xml",
             "res/layout/material_listtile_1_image_small.xml",
             "res/layout/material_listtile_1_small.xml",
             "res/layout/material_listtile_2.xml",
             "res/layout/material_listtile_2_image.xml",
             "res/layout/material_listtile_2_image_muted.xml",
             "res/layout/material_listtile_2_muted.xml",
             "res/layout/material_listtile_2_number.xml",
             "res/layout/material_listtile_2_number_muted.xml",
             "res/layout/material_listtile_multiline.xml",
             "res/layout/media_controller.xml",
             "res/layout/mobile_artist_bio.xml",
             "res/layout/mobile_artist_calendar_sheet_cat.xml",
             "res/layout/mobile_artist_concert_cat.xml",
             "res/layout/mobile_artist_fragment_base.xml",
             "res/layout/mobile_artist_header.xml",
             "res/layout/mobile_artist_header_single_image.xml",
             "res/layout/mobile_artist_page_indicator.xml",
             "res/layout/mobile_artist_portrait.xml",
             "res/layout/navigation.xml",
             "res/layout/notification_big_player.xml",
             "res/layout/notification_big_player_radio.xml",
             "res/layout/notification_coverart_and_text.xml",
             "res/layout/notification_next.xml",
             "res/layout/notification_play_pause.xml",
             "res/layout/notification_small_player.xml",
             "res/layout/page_debug_single_button.xml",
             "res/layout/page_player_done.xml",
             "res/layout/page_player_improving.xml",
             "res/layout/page_player_liked_list.xml",
             "res/layout/page_player_progress.xml",
             "res/layout/page_player_skips_left.xml",
             "res/layout/page_player_suggested_song.xml",
             "res/layout/page_player_text.xml",
             "res/layout/page_upsell_item.xml",
             "res/layout/paste_dialog.xml",
             "res/layout/paste_divider_wrapper.xml",
             "res/layout/paste_empty.xml",
             "res/layout/paste_header.xml",
             "res/layout/paste_listitem.xml",
             "res/layout/paste_match_parent_width.xml",
             "res/layout/paste_navigationitem.xml",
             "res/layout/paste_sectionheader.xml",
             "res/layout/paste_wrap_content.xml",
             "res/layout/placeholder_title.xml",
             "res/layout/play_button_view.xml",
             "res/layout/play_history.xml",
             "res/layout/player.xml",
             "res/layout/player_content_view.xml",
             "res/layout/player_controls.xml",
             "res/layout/player_new.xml",
             "res/layout/player_preview.xml",
             "res/layout/player_preview_item.xml",
             "res/layout/playlist_annotate_overlay.xml",
             "res/layout/popup_gender_select.xml",
             "res/layout/preview_progress_button.xml",
             "res/layout/profile_counts_subheader.xml",
             "res/layout/queue.xml",
             "res/layout/radio_cover_card.xml",
             "res/layout/search.xml",
             "res/layout/section_link_cat.xml",
             "res/layout/settings_basic_row.xml",
             "res/layout/settings_crossfade_row.xml",
             "res/layout/settings_facebook_row.xml",
             "res/layout/settings_spinner_row.xml",
             "res/layout/settings_toggle_button_row.xml",
             "res/layout/share_header.xml",
             "res/layout/simple_text_view.xml",
             "res/layout/socialchart_header2.xml",
             "res/layout/socialchart_smallfriendicon.xml",
             "res/layout/socialchart_trackrow.xml",
             "res/layout/sticky_header_shuffle_play.xml",
             "res/layout/support_simple_spinner_dropdown_item.xml",
             "res/layout/tinkerbel
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ApkInfo -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ApkInfo -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript
from androlyze.model.script.impl.manifest.components import get_components_cache,\
    component_key_2_intent_key

#categories
CAT_APK_INFO = "apkinfo"
CAT_FILES = "files"
CAT_PERMISSIONS = "permissions"
CAT_LIBS = "libraries" 

CAT_ACTIVITIES = "activities" 
CAT_ACTIVITIES_MAIN = "main activity"
CAT_ACTIVITIES_LISTING = "all" 

CAT_COMPONENTS = "components"
CAT_SERVICES = "services" 
CAT_RECEIVERS = "broadcast receivers" 
CAT_PROVIDERS = "content providers" 
CAT_INTENTS = "intents"

class ApkInfo(AndroScript):
    ''' Shows basic information about the .apk like e.g. permissions, files, libraries,
    components (activities, broadcast receivers, content providers, services) as wall as their intents. 
    '''
    
    VERSION = "0.1"
    
    def _register_static_structure(self):
        ''' Register the static structure '''
        res = self.res

        # register basic structure
        res.register_keys([CAT_ACTIVITIES_LISTING, CAT_ACTIVITIES_MAIN], CAT_APK_INFO, CAT_COMPONENTS, CAT_ACTIVITIES)
        
        # register components
        for k in (CAT_SERVICES, CAT_RECEIVERS, CAT_PROVIDERS, CAT_INTENTS):
            res.register_keys([k], CAT_APK_INFO, CAT_COMPONENTS)
            
        # register other
        for k in (CAT_PERMISSIONS, CAT_LIBS, CAT_FILES):
            res.register_keys([k], CAT_APK_INFO)
        
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        res = self.res
        
        # register static structure
        self._register_static_structure()
        
        # libs
        res.log(CAT_LIBS, apk.get_libraries(), CAT_APK_INFO)
        
        # files
        res.log(CAT_FILES, apk.get_files(), CAT_APK_INFO)

        # permissions
        res.log(CAT_PERMISSIONS, sorted(apk.get_permissions()), CAT_APK_INFO)
            
        components_cache = get_components_cache(apk)
        
        # activities        
        res.log(CAT_ACTIVITIES_LISTING, sorted(components_cache[CAT_ACTIVITIES]), CAT_APK_INFO, CAT_COMPONENTS, CAT_ACTIVITIES)
        res.log(CAT_ACTIVITIES_MAIN, apk.get_main_activity(), CAT_APK_INFO, CAT_COMPONENTS, CAT_ACTIVITIES)
        
        # services
        res.log(CAT_SERVICES, components_cache[CAT_SERVICES], CAT_APK_INFO, CAT_COMPONENTS)
        
        # receivers
        res.log(CAT_RECEIVERS, components_cache[CAT_RECEIVERS], CAT_APK_INFO, CAT_COMPONENTS)

        # content providers
        res.log(CAT_PROVIDERS, components_cache[CAT_PROVIDERS], CAT_APK_INFO, CAT_COMPONENTS)
        
        # intents
        for k, package_names in components_cache.items():
            intents = {}
            for package_name in package_names:
                # get intent filter for activity, service or receiver
                intent_key = component_key_2_intent_key(k)
                package_intents = apk.get_intent_filters(intent_key, package_name) 
                if package_intents:
                    intents[package_name] = package_intents
                
            # we can also register the keys later for dynamic structures
            CAT = (CAT_APK_INFO, CAT_COMPONENTS, CAT_INTENTS)
            res.register_keys([k], *CAT)
            
            res.log(k, intents, *CAT)


BroadcastReceivers

This is an autogenerated documentation file for the script: BroadcastReceivers

Run it
$ ./androanalyze scripts_builtin/BroadcastReceivers.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn BroadcastReceivers -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "BroadcastReceivers",
         "sha256": "d81cf9102bed9a86f232f40b2d47174db166963f380145b838de098fcb816559",
         "analysis date": "2015-06-22T20:22:51.255000",
         "version": "0.1"
     },
     "broadcast receivers": [
         "com.spotify.music.internal.receiver.MediaButtonReceiver",
         "com.spotify.music.spotlets.optintrial.TrialAlarmBroadcastReceiver",
         "com.spotify.music.spotlets.widget.SpotifyWidget",
         "com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerReceiver",
         "com.spotify.music.spotlets.gcm.GcmBroadcastReceiver",
         "com.spotify.mobile.android.applink.AppLinkBluetoothManager",
         "com.spotify.music.internal.receiver.LoggerReceiver",
         "com.spotify.mobile.android.spotlets.collection.receiver.ConnectionStateChangedReceiver",
         "com.mixpanel.android.mpmetrics.InstallReferrerReceiver"
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn BroadcastReceivers -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn BroadcastReceivers -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

CAT_RECEIVERS = "broadcast receivers" 

class BroadcastReceivers(AndroScript):
    ''' List broadcast receivers '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        res = self.res
        
        res.register_keys([CAT_RECEIVERS])
        
        # receivers
        res.log(CAT_RECEIVERS, apk.get_receivers())

ChainedApkInfos

This is an autogenerated documentation file for the script: ChainedApkInfos

Run it
$ ./androanalyze scripts_builtin/ChainedApkInfos.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ChainedApkInfos -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ChainedApkInfos",
         "sha256": "c7e1fb34b7d0cb34b806a61571bb447ad39d512611f4ae7a0b85fd4fc63e6e97",
         "analysis date": "2015-06-22T20:22:51.255000",
         "version": "0.1"
     },
     "apkinfo": {
         "components": {
             "activities": {
                 "all": [
                     "android.support.v7.widget.TestActivity",
                     "com.facebook.LoginActivity",
                     "com.google.android.gms.ads.AdActivity",
                     "com.mixpanel.android.surveys.SurveyActivity",
                     "com.sony.snei.np.android.account.oauth.BrowserRedirectReceiverActivity",
                     "com.spotify.mobile.android.arsenal.ArsenalSSOBrowserActivity",
                     "com.spotify.mobile.android.service.LoginActivity",
                     "com.spotify.mobile.android.service.ResetPasswordActivity",
                     "com.spotify.mobile.android.service.TermsOfServiceChangedActivity",
                     "com.spotify.mobile.android.spotlets.ads.BannerAdActivity",
                     "com.spotify.mobile.android.spotlets.openaccess.OpenAccessActivity",
                     "com.spotify.mobile.android.spotlets.share.ConnectFacebookActivity",
                     "com.spotify.mobile.android.spotlets.share.PostActivity",
                     "com.spotify.mobile.android.spotlets.suggestedtweet.SuggestedTweetActivity",
                     "com.spotify.mobile.android.spotlets.video.BackgroundableVideoPlayerActivity",
                     "com.spotify.mobile.android.ui.activity.AddToPlaylistActivity",
                     "com.spotify.mobile.android.ui.activity.AnnotateDiscardChangesActivity",
                     "com.spotify.mobile.android.ui.activity.AnnotatePlaylistActivity",
                     "com.spotify.mobile.android.ui.activity.AppRaterActivity",
                     "com.spotify.mobile.android.ui.activity.ConfirmDeletionActivity",
                     "com.spotify.mobile.android.ui.activity.ConnectOnboardingActivity",
                     "com.spotify.mobile.android.ui.activity.CoverImageActivity",
                     "com.spotify.mobile.android.ui.activity.CreateRenamePlaylistActivity",
                     "com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsActivity",
                     "com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsConfirmationActivity",
                     "com.spotify.mobile.android.ui.activity.DeletingCacheDialogActivity",
                     "com.spotify.mobile.android.ui.activity.DeviceActivity",
                     "com.spotify.mobile.android.ui.activity.DisableOfflineModeActivity",
                     "com.spotify.mobile.android.ui.activity.DiskAlmostFullActivity",
                     "com.spotify.mobile.android.ui.activity.FacebookPlaceholderActivity",
                     "com.spotify.mobile.android.ui.activity.FacebookWebPermissionsActivity",
                     "com.spotify.mobile.android.ui.activity.LastFmLoginDialog",
                     "com.spotify.mobile.android.ui.activity.LockScreenActivity",
                     "com.spotify.mobile.android.ui.activity.NotificationWebViewActivity",
                     "com.spotify.mobile.android.ui.activity.OfflineSyncErrorActivity",
                     "com.spotify.mobile.android.ui.activity.PermissionsActivity",
                     "com.spotify.mobile.android.ui.activity.PlayHistoryActivity",
                     "com.spotify.mobile.android.ui.activity.PlayQueueActivity",
                     "com.spotify.mobile.android.ui.activity.PlaybackErrorWifiMftGroup3NoMoreTimeActivity",
                     "com.spotify.mobile.android.ui.activity.PlaybackErrorWifiOnlyActivity",
                     "com.spotify.mobile.android.ui.activity.PlayerActivity",
                     "com.spotify.mobile.android.ui.activity.RemotePlaybackActivity",
                     "com.spotify.mobile.android.ui.activity.ShareActivity",
                     "com.spotify.mobile.android.ui.activity.ShareToSpotifyActivity",
                     "com.spotify.mobile.android.ui.activity.ShowcaseActivity",
                     "com.spotify.mobile.android.ui.activity.SoundEffectsWarningActivity",
                     "com.spotify.mobile.android.ui.activity.TosTextActivity",
                     "com.spotify.mobile.android.ui.activity.UninstallOldAppActivity",
                     "com.spotify.mobile.android.ui.activity.UpdateActivity",
                     "com.spotify.mobile.android.ui.activity.VolumeWidgetActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.HolidayOfferUpsellInterstitialActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.PremiumUpsellInterstitialActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.TrialReminderActivity",
                     "com.spotify.mobile.android.ui.activity.dialog.TrialStartedActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.MarketingOptInActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.PremiumSignupActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.UpsellDialogActivity",
                     "com.spotify.mobile.android.ui.activity.upsell.UpsellPremiumOnlyActivity",
                     "com.spotify.mobile.android.util.FragmentTesterActivity",
                     "com.spotify.mobile.android.util.ViewTesterActivity",
                     "com.spotify.music.MainActivity",
                     "com.spotify.music.spotlets.networkoperatorpremiumactivation.PremiumActivationOptInDialog"
                 ],
                 "main activity": "com.spotify.music.MainActivity"
             },
             "services": [
                 "com.spotify.mobile.android.service.SpotifyService",
                 "com.spotify.mobile.android.video.VideoService",
                 "com.spotify.mobile.android.service.MetadataManagerProxy",
                 "com.spotify.mobile.android.service.ConnectManagerProxy",
                 "com.spotify.mobile.android.service.SessionManagerProxy",
                 "com.spotify.mobile.android.service.RemoteNativeRouterProxy",
                 "com.spotify.mobile.android.service.MonitorService",
                 "com.spotify.mobile.android.util.tracking.TrackingService",
                 "com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerIntentService",
                 "com.spotify.mobile.android.service.DeviceIdentifierLoggerIntentService",
                 "com.spotify.music.internal.service.DeleteCacheService",
                 "com.spotify.mobile.android.spotlets.video.BackgroundableVideoService",
                 "com.spotify.music.internal.service.DeleteOldCacheLocationsService",
                 "com.spotify.mobile.android.spotlets.collection.service.AnnotateService",
                 "com.spotify.mobile.android.spotlets.collection.service.RecentlyPlayedService",
                 "com.spotify.mobile.android.spotlets.collection.cosmos.service.CollectionService",
                 "com.spotify.mobile.android.spotlets.offline.service.OfflineService",
                 "com.spotify.mobile.android.spotlets.podcast.service.PlayedStateService",
                 "com.spotify.mobile.android.spotlets.ads.VideoAdService",
                 "com.spotify.mobile.android.service.VideoPlayerManagerProxy",
                 "com.spotify.music.spotlets.situationalcontent.loggers.activityrecognition.ActivityRecognitionIntentService",
                 "com.spotify.music.spotlets.radio.service.RadioActionsService",
                 "com.spotify.mobile.android.service.player.PlayerStateService",
                 "com.spotify.mobile.android.service.session.SessionStateService",
                 "com.spotify.mobile.android.service.media.MediaService",
                 "com.spotify.mobile.android.applink.service.AppLinkService",
                 "com.spotify.mobile.android.service.feature.FeatureService",
                 "com.spotify.mobile.android.androidauto.SpotifyMediaBrowserService"
             ],
             "broadcast receivers": [
                 "com.spotify.music.internal.receiver.MediaButtonReceiver",
                 "com.spotify.music.spotlets.optintrial.TrialAlarmBroadcastReceiver",
                 "com.spotify.music.spotlets.widget.SpotifyWidget",
                 "com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerReceiver",
                 "com.spotify.music.spotlets.gcm.GcmBroadcastReceiver",
                 "com.spotify.mobile.android.applink.AppLinkBluetoothManager",
                 "com.spotify.music.internal.receiver.LoggerReceiver",
                 "com.spotify.mobile.android.spotlets.collection.receiver.ConnectionStateChangedReceiver",
                 "com.mixpanel.android.mpmetrics.InstallReferrerReceiver"
             ],
             "content providers": [
                 "com.spotify.music.internal.provider.SpotifyProvider",
                 "com.spotify.music.internal.provider.LoggerProvider",
                 "com.spotify.mobile.android.util.prefs.PrefsProvider",
                 "com.spotify.mobile.android.service.media.provider.MediaProvider"
             ],
             "public_content_providers": [
                 "com.spotify.mobile.android.service.media.provider.MediaProvider"
             ],
             "intents": {
                 "services": {
                     "com_spotify_mobile_android_androidauto_SpotifyMediaBrowserService": {
                         "action": [
                             "android.media.browse.MediaBrowserService"
                         ]
                     },
                     "com_spotify_mobile_android_service_RemoteNativeRouterProxy": {
                         "action": [
                             "com.spotify.mobile.service.action.COSMOS_PROXY"
                         ]
                     }
                 },
                 "activities": {
                     "com_spotify_mobile_android_ui_activity_TosTextActivity": {
                         "action": [
                             "android.intent.action.VIEW"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT",
                             "android.intent.category.BROWSABLE"
                         ]
                     },
                     "com_sony_snei_np_android_account_oauth_BrowserRedirectReceiverActivity": {
                         "action": [
                             "android.intent.action.VIEW"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT",
                             "android.intent.category.BROWSABLE"
                         ]
                     },
                     "com_spotify_music_MainActivity": {
                         "action": [
                             "android.intent.action.MAIN",
                             "android.intent.action.MUSIC_PLAYER",
                             "android.nfc.action.NDEF_DISCOVERED",
                             "android.intent.action.SEARCH",
                             "android.intent.action.VIEW",
                             "com.facebook.application.174829003346",
                             "android.media.action.MEDIA_PLAY_FROM_SEARCH",
                             "com.sonymobile.media.dashboard.ACTION_VIEW_MUSIC_TILE"
                         ],
                         "category": [
                             "android.intent.category.LAUNCHER",
                             "android.intent.category.DEFAULT",
                             "android.intent.category.APP_MUSIC",
                             "android.intent.category.BROWSABLE"
                         ]
                     },
                     "com_spotify_mobile_android_service_LoginActivity": {
                         "action": [
                             "com.spotify.mobile.android.service.action.session.LOGIN"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT"
                         ]
                     },
                     "com_spotify_mobile_android_arsenal_ArsenalSSOBrowserActivity": {
                         "action": [
                             "com.spotify.music.NPAM_ACTION_BROWSER"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT",
                             "android.intent.category.LAUNCHER"
                         ]
                     }
                 },
                 "content providers": {},
                 "broadcast receivers": {
                     "com_mixpanel_android_mpmetrics_InstallReferrerReceiver": {
                         "action": [
                             "com.android.vending.INSTALL_REFERRER"
                         ]
                     },
                     "com_spotify_music_spotlets_optintrial_TrialAlarmBroadcastReceiver": {
                         "action": [
                             "com.spotify.music.spotlets.optintrial.action.TRIAL_REMINDER"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT"
                         ]
                     },
                     "com_spotify_mobile_android_spotlets_collection_receiver_ConnectionStateChangedReceiver": {
                         "action": [
                             "com.spotify.mobile.android.service.broadcast.session.CONNECTION_STATE_CHANGED"
                         ]
                     },
                     "com_spotify_music_spotlets_widget_SpotifyWidget": {
                         "action": [
                             "android.appwidget.action.APPWIDGET_UPDATE",
                             "com.spotify.mobile.android.ui.widget.PREVIOUS",
                             "com.spotify.mobile.android.ui.widget.PLAY",
                             "com.spotify.mobile.android.ui.widget.NEXT"
                         ]
                     },
                     "com_spotify_music_internal_receiver_LoggerReceiver": {
                         "action": [
                             "com.spotify.music.internal.receiver.CACHE_LOG"
                         ],
                         "category": [
                             "android.intent.category.DEFAULT"
                         ]
                     },
                     "com_spotify_music_internal_receiver_MediaButtonReceiver": {
                         "action": [
                             "android.intent.action.MEDIA_BUTTON"
                         ]
                     },
                     "com_spotify_mobile_android_applink_AppLinkBluetoothManager": {
                         "action": [
                             "android.bluetooth.adapter.action.STATE_CHANGED",
                             "android.bluetooth.device.action.ACL_CONNECTED",
                             "android.bluetooth.device.action.ACL_DISCONNECTED"
                         ]
                     },
                     "com_spotify_music_spotlets_gcm_GcmBroadcastReceiver": {
                         "action": [
                             "com.google.android.c2dm.intent.RECEIVE"
                         ],
                         "category": [
                             "com.spotify.music"
                         ]
                     },
                     "com_spotify_music_spotlets_mobileapptracker_MobileAppTrackerReceiver": {
                         "action": [
                             "com.android.vending.INSTALL_REFERRER"
                         ]
                     }
                 }
             }
         },
         "permissions": [
             "android.permission.ACCESS_NETWORK_STATE",
             "android.permission.ACCESS_WIFI_STATE",
             "android.permission.BLUETOOTH",
             "android.permission.BLUETOOTH_ADMIN",
             "android.permission.BROADCAST_STICKY",
             "android.permission.GET_ACCOUNTS",
             "android.permission.INTERNET",
             "android.permission.MANAGE_ACCOUNTS",
             "android.permission.MODIFY_AUDIO_SETTINGS",
             "android.permission.NFC",
             "android.permission.READ_PHONE_STATE",
             "android.permission.USE_CREDENTIALS",
             "android.permission.WAKE_LOCK",
             "android.permission.WRITE_EXTERNAL_STORAGE",
             "com.android.vending.BILLING",
             "com.google.android.c2dm.permission.RECEIVE",
             "com.sony.snei.np.android.account.provider.permission.DUID_READ_PROVIDER",
             "com.spotify.music.permission.C2D_MESSAGE"
         ],
         "libraries": [],
         "files": [
             "META-INF/MANIFEST.MF",
             "META-INF/RELEASE.SF",
             "META-INF/RELEASE.RSA",
             "META-INF/services/com.fasterxml.jackson.core.ObjectCodec",
             "AndroidManifest.xml",
             "assets/ProximaNova-Regular.otf",
             "assets/ProximaNova-RegularT100.otf",
             "assets/ProximaNova-RegularT50.otf",
             "assets/ProximaNova-SemiBold.otf",
             "assets/ProximaNova-SemiBoldT100.otf",
             "assets/ProximaNova-SemiBoldT50.otf",
             "assets/crashlytics-build.properties",
             "assets/licenses.xhtml",
             "assets/spoticon.ttf",
             "assets/transfer.png",
             "assets/unplaylable-local-file.xhtml",
             "assets/unplaylable-local-file_es.xhtml",
             "assets/unplaylable-local-file_fr.xhtml",
             "res/anim/abc_fade_in.xml",
             "res/anim/abc_fade_out.xml",
             "res/anim/abc_slide_in_bottom.xml",
             "res/anim/abc_slide_in_top.xml",
             "res/anim/abc_slide_out_bottom.xml",
             "res/anim/abc_slide_out_top.xml",
             "res/anim/anim_in_left.xml",
             "res/anim/anim_in_right.xml",
             "res/anim/anim_out_left.xml",
             "res/anim/anim_out_right.xml",
             "res/anim/anim_scale_down_play_button.xml",
             "res/anim/anim_scale_up_play_button.xml",
             "res/anim/button_transition_in.xml",
             "res/anim/button_transition_out.xml",
             "res/color/abc_background_cache_hint_selector_material_dark.xml",
             "res/color/abc_background_cache_hint_selector_material_light.xml",
             "res/color/abc_primary_text_disable_only_material_dark.xml",
             "res/color/abc_primary_text_disable_only_material_light.xml",
             "res/color/abc_primary_text_material_dark.xml",
             "res/color/abc_primary_text_material_light.xml",
             "res/color/abc_search_url_text.xml",
             "res/color/abc_secondary_text_material_dark.xml",
             "res/color/abc_secondary_text_material_light.xml",
             "res/color/btn_now_playing_gray.xml",
             "res/color/btn_now_playing_gray_checkable.xml",
             "res/color/btn_now_playing_gray_disabled.xml",
             "res/color/btn_now_playing_thumb_down.xml",
             "res/color/btn_now_playing_thumb_up.xml",
             "res/color/btn_now_playing_white.xml",
             "res/color/btn_share_connect_icon.xml",
             "res/color/cat_accessory.xml",
             "res/color/cat_button_border.xml",
             "res/color/cat_button_info_dialog_text.xml",
             "res/color/cat_button_info_text.xml",
             "res/color/cat_button_primary_text.xml",
             "res/color/cat_button_text.xml",
             "res/color/cat_dialog_button_negative_text.xml",
             "res/color/cat_dialog_button_positive_text.xml",
             "res/color/cat_navigationitem_icon.xml",
             "res/color/cat_navigationitem_text.xml",
             "res/color/cat_profile_panel.xml",
             "res/color/cat_signup_panel.xml",
             "res/color/cat_tab_text.xml",
             "res/color/cat_text_primary.xml",
             "res/color/cat_text_primary_muted.xml",
             "res/color/cat_text_secondary.xml",
             "res/color/cat_text_secondary_muted.xml",
             "res/color/common_signin_btn_text_dark.xml",
             "res/color/common_signin_btn_text_light.xml",
             "res/color/txt_btn_facebook.xml",
             "res/color/txt_button_light.xml",
             "res/color/txt_cell_cover_subtitle.xml",
             "res/color/txt_cell_cover_title.xml",
             "res/color/txt_cell_navigation.xml",
             "res/color/txt_cell_queue_subtitle.xml",
             "res/color/txt_cell_queue_title.xml",
             "res/color/txt_cell_subtitle.xml",
             "res/color/txt_cell_title.xml",
             "res/drawable-hdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-hdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-hdpi-v4/album_covers_splash.png",
             "res/drawable-hdpi-v4/background_icon.png",
             "res/drawable-hdpi-v4/bg_actionbar_tab_focused.9.png",
             "res/drawable-hdpi-v4/bg_actionbar_tab_pressed.9.png",
             "res/drawable-hdpi-v4/bg_bubble.9.png",
             "res/drawable-hdpi-v4/bg_dark_albums.jpg",
             "res/drawable-hdpi-v4/bg_header_placeholder.png",
             "res/drawable-hdpi-v4/bg_holiday_offer_upsell_interstitial_top.png",
             "res/drawable-hdpi-v4/bg_premium_upsell_interstitial_top.jpg",
             "res/drawable-hdpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-hdpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-hdpi-v4/btn_big_primary.9.png",
             "res/drawable-hdpi-v4/btn_big_primary_for_dark_bg.9.png",
             "res/drawable-hdpi-v4/btn_big_primary_pressed.9.png",
             "res/drawable-hdpi-v4/btn_big_secondary_for_dark_bg.9.png",
             "res/drawable-hdpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-hdpi-v4/btn_facebook_normal.9.png",
             "res/drawable-hdpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-hdpi-v4/btn_g_icon.png",
             "res/drawable-hdpi-v4/btn_overlay_pause.png",
             "res/drawable-hdpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-hdpi-v4/btn_overlay_play.png",
             "res/drawable-hdpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-hdpi-v4/btn_player_in_collection_checked.png",
             "res/drawable-hdpi-v4/cat_navigation_background.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_blue_focused.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_blue_normal.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_blue_pressed.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_grey_focused.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_grey_normal.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_grey_pressed.9.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_background.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_background_selected.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_icon.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_icon_selected.png",
             "res/drawable-hdpi-v4/com_facebook_button_like_pressed.png",
             "res/drawable-hdpi-v4/com_facebook_close.png",
             "res/drawable-hdpi-v4/com_facebook_inverse_icon.png",
             "res/drawable-hdpi-v4/com_facebook_logo.png",
             "res/drawable-hdpi-v4/com_facebook_picker_magnifier.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_background.9.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_bottomnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_topnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_black_xout.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_background.9.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_topnub.png",
             "res/drawable-hdpi-v4/com_facebook_tooltip_blue_xout.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-hdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-hdpi-v4/common_full_open_on_phone.png",
             "res/drawable-hdpi-v4/common_ic_googleplayservices.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-hdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-hdpi-v4/connect_device_type_computer.png",
             "res/drawable-hdpi-v4/connect_device_type_receiver.png",
             "res/drawable-hdpi-v4/connect_device_type_smartphone.png",
             "res/drawable-hdpi-v4/connect_device_type_speaker.png",
             "res/drawable-hdpi-v4/connect_device_type_tablet.png",
             "res/drawable-hdpi-v4/connect_device_type_tv.png",
             "res/drawable-hdpi-v4/connect_header_img.png",
             "res/drawable-hdpi-v4/connect_showcase.png",
             "res/drawable-hdpi-v4/fastscroll_default.png",
             "res/drawable-hdpi-v4/fastscroll_pressed.png",
             "res/drawable-hdpi-v4/genesis_new_releases.png",
             "res/drawable-hdpi-v4/genesis_recommended_for_you.png",
             "res/drawable-hdpi-v4/genesis_toplists.png",
             "res/drawable-hdpi-v4/highlights.png",
             "res/drawable-hdpi-v4/hlv_overscroll_edge.png",
             "res/drawable-hdpi-v4/hlv_overscroll_glow.png",
             "res/drawable-hdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-hdpi-v4/ic_menu_info_details.png",
             "res/drawable-hdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-hdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-hdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-hdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-hdpi-v4/icn_add_to_collection.png",
             "res/drawable-hdpi-v4/icn_add_to_playlist.png",
             "res/drawable-hdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-hdpi-v4/icn_download_header_waiting.png",
             "res/drawable-hdpi-v4/icn_download_waiting.png",
             "res/drawable-hdpi-v4/icn_facebook.png",
             "res/drawable-hdpi-v4/icn_mft_home_back.png",
             "res/drawable-hdpi-v4/icn_mft_home_logo.png",
             "res/drawable-hdpi-v4/icn_notification.png",
             "res/drawable-hdpi-v4/icn_notification_add_to.png",
             "res/drawable-hdpi-v4/icn_notification_add_to_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_dismiss.png",
             "res/drawable-hdpi-v4/icn_notification_next_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_next_normal.png",
             "res/drawable-hdpi-v4/icn_notification_pause_normal.png",
             "res/drawable-hdpi-v4/icn_notification_play_normal.png",
             "res/drawable-hdpi-v4/icn_notification_prev_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_prev_normal.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_down_default.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_down_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_down_selected.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_up_default.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_up_disabled.png",
             "res/drawable-hdpi-v4/icn_notification_thumb_up_selected.png",
             "res/drawable-hdpi-v4/icn_playlist.png",
             "res/drawable-hdpi-v4/icn_playlist_collaborative.png",
             "res/drawable-hdpi-v4/icn_quickact_album.png",
             "res/drawable-hdpi-v4/icn_quickact_artist.png",
             "res/drawable-hdpi-v4/icn_quickact_delete.png",
             "res/drawable-hdpi-v4/icn_quickact_queue.png",
             "res/drawable-hdpi-v4/icn_quickact_radio.png",
             "res/drawable-hdpi-v4/icn_quickact_share.png",
             "res/drawable-hdpi-v4/icn_quickact_star.png",
             "res/drawable-hdpi-v4/icn_radio.png",
             "res/drawable-hdpi-v4/icn_radio_added_to_liked.png",
             "res/drawable-hdpi-v4/icn_radio_checkmark.png",
             "res/drawable-hdpi-v4/icn_radio_offline.png",
             "res/drawable-hdpi-v4/icn_remove_from_collection.png",
             "res/drawable-hdpi-v4/icn_share.png",
             "res/drawable-hdpi-v4/icn_sort.png",
             "res/drawable-hdpi-v4/icn_spotify_login.png",
             "res/drawable-hdpi-v4/icon.png",
             "res/drawable-hdpi-v4/img_spotify_logo_text.png",
             "res/drawable-hdpi-v4/img_trial_started.png",
             "res/drawable-hdpi-v4/logo_smaller.png",
             "res/drawable-hdpi-v4/mft_home_background1.jpg",
             "res/drawable-hdpi-v4/mft_home_background2.jpg",
             "res/drawable-hdpi-v4/mft_home_background3.jpg",
             "res/drawable-hdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-hdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-hdpi-v4/nav_icon.png",
             "res/drawable-hdpi-v4/nav_icon_gray.png",
             "res/drawable-hdpi-v4/notification_feature_announcement.jpg",
             "res/drawable-hdpi-v4/powered_by_google_dark.png",
             "res/drawable-hdpi-v4/powered_by_google_light.png",
             "res/drawable-hdpi-v4/profile_panel_invitation_codes_panel.9.png",
             "res/drawable-hdpi-v4/psn_icon.png",
             "res/drawable-hdpi-v4/small_icon.png",
             "res/drawable-hdpi-v4/socialchart_showcase.png",
             "res/drawable-hdpi-v4/sp_logo.png",
             "res/drawable-hdpi-v4/spinner_white.png",
             "res/drawable-hdpi-v4/widget_bg.9.png",
             "res/drawable-hdpi-v4/widget_next_disabled.png",
             "res/drawable-hdpi-v4/widget_next_normal.png",
             "res/drawable-hdpi-v4/widget_pause_disabled.png",
             "res/drawable-hdpi-v4/widget_pause_normal.png",
             "res/drawable-hdpi-v4/widget_play_disabled.png",
             "res/drawable-hdpi-v4/widget_play_normal.png",
             "res/drawable-hdpi-v4/widget_prev_disabled.png",
             "res/drawable-hdpi-v4/widget_prev_normal.png",
             "res/drawable-hdpi-v4/widget_preview.png",
             "res/drawable-land-hdpi-v4/mft_home_background1.jpg",
             "res/drawable-land-hdpi-v4/mft_home_background2.jpg",
             "res/drawable-land-hdpi-v4/mft_home_background3.jpg",
             "res/drawable-land-mdpi-v4/mft_home_background1.jpg",
             "res/drawable-land-mdpi-v4/mft_home_background2.jpg",
             "res/drawable-land-mdpi-v4/mft_home_background3.jpg",
             "res/drawable-land-xhdpi-v4/mft_home_background1.jpg",
             "res/drawable-land-xhdpi-v4/mft_home_background2.jpg",
             "res/drawable-land-xhdpi-v4/mft_home_background3.jpg",
             "res/drawable-ldpi-v4/bg_header_placeholder.png",
             "res/drawable-ldpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-ldpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-ldpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-ldpi-v4/btn_facebook_normal.9.png",
             "res/drawable-ldpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-ldpi-v4/btn_g_icon.png",
             "res/drawable-ldpi-v4/btn_overlay_pause.png",
             "res/drawable-ldpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-ldpi-v4/btn_overlay_play.png",
             "res/drawable-ldpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-ldpi-v4/com_facebook_close.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-ldpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-ldpi-v4/connect_header_img.png",
             "res/drawable-ldpi-v4/connect_showcase.png",
             "res/drawable-ldpi-v4/hlv_overscroll_edge.png",
             "res/drawable-ldpi-v4/hlv_overscroll_glow.png",
             "res/drawable-ldpi-v4/icn_facebook.png",
             "res/drawable-ldpi-v4/icn_notification.png",
             "res/drawable-ldpi-v4/icon.png",
             "res/drawable-ldpi-v4/socialchart_showcase.png",
             "res/drawable-ldpi-v4/spinner_white.png",
             "res/drawable-ldrtl-hdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-hdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-hdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-hdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-mdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-mdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-mdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-mdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-xhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-xxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-ldrtl-xxxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-mdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-mdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-mdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-mdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-mdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-mdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-mdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-mdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-mdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-mdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-mdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-mdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-mdpi-v4/bg_header_placeholder.png",
             "res/drawable-mdpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-mdpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-mdpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-mdpi-v4/btn_facebook_normal.9.png",
             "res/drawable-mdpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-mdpi-v4/btn_g_icon.png",
             "res/drawable-mdpi-v4/btn_overlay_pause.png",
             "res/drawable-mdpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-mdpi-v4/btn_overlay_play.png",
             "res/drawable-mdpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-mdpi-v4/cat_navigation_background.9.png",
             "res/drawable-mdpi-v4/com_facebook_button_blue_focused.9.png",
             "res/drawable-mdpi-v4/com_facebook_button_blue_normal.9.png",
             "res/drawable-mdpi-v4/com_facebook_button_blue_pressed.9.png",
             "res/drawable-mdpi-v4/com_facebook_inverse_icon.png",
             "res/drawable-mdpi-v4/com_facebook_picker_magnifier.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_background.9.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_bottomnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_topnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_black_xout.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_background.9.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_topnub.png",
             "res/drawable-mdpi-v4/com_facebook_tooltip_blue_xout.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-mdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-mdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-mdpi-v4/connect_header_img.png",
             "res/drawable-mdpi-v4/connect_showcase.png",
             "res/drawable-mdpi-v4/fastscroll_default.png",
             "res/drawable-mdpi-v4/fastscroll_pressed.png",
             "res/drawable-mdpi-v4/hlv_overscroll_edge.png",
             "res/drawable-mdpi-v4/hlv_overscroll_glow.png",
             "res/drawable-mdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-mdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-mdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-mdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-mdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-mdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-mdpi-v4/icn_facebook.png",
             "res/drawable-mdpi-v4/icn_ford_logo.png",
             "res/drawable-mdpi-v4/icn_ford_spotify_logo.png",
             "res/drawable-mdpi-v4/icn_mft_home_back.png",
             "res/drawable-mdpi-v4/icn_mft_home_logo.png",
             "res/drawable-mdpi-v4/icn_notification.png",
             "res/drawable-mdpi-v4/icon.png",
             "res/drawable-mdpi-v4/img_spotify_logo_text.png",
             "res/drawable-mdpi-v4/logo_smaller.png",
             "res/drawable-mdpi-v4/mft_home_background1.jpg",
             "res/drawable-mdpi-v4/mft_home_background2.jpg",
             "res/drawable-mdpi-v4/mft_home_background3.jpg",
             "res/drawable-mdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-mdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-mdpi-v4/nav_icon.png",
             "res/drawable-mdpi-v4/nav_icon_gray.png",
             "res/drawable-mdpi-v4/powered_by_google_dark.png",
             "res/drawable-mdpi-v4/powered_by_google_light.png",
             "res/drawable-mdpi-v4/psn_icon.png",
             "res/drawable-mdpi-v4/socialchart_showcase.png",
             "res/drawable-mdpi-v4/sp_logo.png",
             "res/drawable-mdpi-v4/spinner_white.png",
             "res/drawable-nodpi-v4/cat_placeholder_album.png",
             "res/drawable-nodpi-v4/cat_placeholder_artist.png",
             "res/drawable-nodpi-v4/cat_placeholder_flag.png",
             "res/drawable-nodpi-v4/cat_placeholder_genre.png",
             "res/drawable-nodpi-v4/cat_placeholder_inbox.png",
             "res/drawable-nodpi-v4/cat_placeholder_offline.png",
             "res/drawable-nodpi-v4/cat_placeholder_playlist.png",
             "res/drawable-nodpi-v4/cat_placeholder_podcast.png",
             "res/drawable-nodpi-v4/cat_placeholder_search.png",
             "res/drawable-nodpi-v4/cat_placeholder_star.png",
             "res/drawable-nodpi-v4/cat_placeholder_toplist.png",
             "res/drawable-nodpi-v4/cat_placeholder_track.png",
             "res/drawable-nodpi-v4/cat_placeholder_user.png",
             "res/drawable-nodpi-v4/cat_placeholder_warning.png",
             "res/drawable-nodpi-v4/placeholder_annotate.png",
             "res/drawable-nodpi-v4/placeholder_artist.png",
             "res/drawable-nodpi-v4/placeholder_genre.png",
             "res/drawable-nodpi-v4/placeholder_playlist.png",
             "res/drawable-nodpi-v4/placeholder_user.png",
             "res/drawable-small-ldpi-v4/icn_radio_offline.png",
             "res/drawable-tvdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-tvdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-tvdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-tvdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-v11/cat_dialog_button_left.xml",
             "res/drawable-v11/cat_dialog_button_right.xml",
             "res/drawable-v11/cat_listitem_background.xml",
             "res/drawable-v11/cat_listitem_background_activated.xml",
             "res/drawable-v21/abc_cab_background_top_material.xml",
             "res/drawable-xhdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-xhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-xhdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-xhdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-xhdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-xhdpi-v4/abc_menu_dropdown_panel_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_menu_hardkey_panel_holo_dark.9.png",
             "res/drawable-xhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-xhdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-xhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-xhdpi-v4/background_icon.png",
             "res/drawable-xhdpi-v4/bg_header_placeholder.png",
             "res/drawable-xhdpi-v4/bg_login_browse.jpg",
             "res/drawable-xhdpi-v4/bg_login_landing.jpg",
             "res/drawable-xhdpi-v4/bg_login_radio.jpg",
             "res/drawable-xhdpi-v4/bg_login_search.jpg",
             "res/drawable-xhdpi-v4/bg_login_yourmusic.jpg",
             "res/drawable-xhdpi-v4/bg_upsell_banner_normal.9.png",
             "res/drawable-xhdpi-v4/bg_upsell_banner_pressed.9.png",
             "res/drawable-xhdpi-v4/bg_upsell_carousel.jpg",
             "res/drawable-xhdpi-v4/btn_facebook_disabled.9.png",
             "res/drawable-xhdpi-v4/btn_facebook_normal.9.png",
             "res/drawable-xhdpi-v4/btn_facebook_pressed.9.png",
             "res/drawable-xhdpi-v4/btn_g_icon.png",
             "res/drawable-xhdpi-v4/btn_overlay_pause.png",
             "res/drawable-xhdpi-v4/btn_overlay_pause_pressed.png",
             "res/drawable-xhdpi-v4/btn_overlay_play.png",
             "res/drawable-xhdpi-v4/btn_overlay_play_pressed.png",
             "res/drawable-xhdpi-v4/cat_edit_background_activated.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_default.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_dialog_default.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_disabled.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_disabled_focused.9.png",
             "res/drawable-xhdpi-v4/cat_edit_background_focused.9.png",
             "res/drawable-xhdpi-v4/cat_feedback_image.png",
             "res/drawable-xhdpi-v4/cat_navigation_background.9.png",
             "res/drawable-xhdpi-v4/cat_navigationitem_background_active.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_default.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_disabled.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_focused.9.png",
             "res/drawable-xhdpi-v4/cat_spinner_background_pressed.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_blue_focused.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_blue_normal.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_blue_pressed.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_grey_focused.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_grey_normal.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_grey_pressed.9.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_background.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_background_selected.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_icon.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_icon_selected.png",
             "res/drawable-xhdpi-v4/com_facebook_button_like_pressed.png",
             "res/drawable-xhdpi-v4/com_facebook_close.png",
             "res/drawable-xhdpi-v4/com_facebook_inverse_icon.png",
             "res/drawable-xhdpi-v4/com_facebook_logo.png",
             "res/drawable-xhdpi-v4/com_facebook_picker_magnifier.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_background.9.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_bottomnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_topnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_black_xout.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_background.9.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_topnub.png",
             "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_xout.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-xhdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-xhdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-xhdpi-v4/connect_header_img.png",
             "res/drawable-xhdpi-v4/connect_showcase.png",
             "res/drawable-xhdpi-v4/contextmenu_placeholder.png",
             "res/drawable-xhdpi-v4/fastscroll_default.png",
             "res/drawable-xhdpi-v4/fastscroll_pressed.png",
             "res/drawable-xhdpi-v4/find_friends.jpg",
             "res/drawable-xhdpi-v4/globe_telecom_flair_1.png",
             "res/drawable-xhdpi-v4/globe_telecom_flair_2.png",
             "res/drawable-xhdpi-v4/globe_telecom_logo.png",
             "res/drawable-xhdpi-v4/hlv_overscroll_edge.png",
             "res/drawable-xhdpi-v4/hlv_overscroll_glow.png",
             "res/drawable-xhdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-xhdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-xhdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-xhdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-xhdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-xhdpi-v4/icn_ads.png",
             "res/drawable-xhdpi-v4/icn_ads_large.png",
             "res/drawable-xhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-xhdpi-v4/icn_device_picker_volume.png",
             "res/drawable-xhdpi-v4/icn_facebook.png",
             "res/drawable-xhdpi-v4/icn_ford_logo.png",
             "res/drawable-xhdpi-v4/icn_ford_spotify_logo.png",
             "res/drawable-xhdpi-v4/icn_mft_home_back.png",
             "res/drawable-xhdpi-v4/icn_mft_home_logo.png",
             "res/drawable-xhdpi-v4/icn_notification.png",
             "res/drawable-xhdpi-v4/icn_notification_add_to.png",
             "res/drawable-xhdpi-v4/icn_notification_add_to_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_dismiss.png",
             "res/drawable-xhdpi-v4/icn_notification_next_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_next_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_pause_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_play_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_prev_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_prev_normal.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_down_default.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_down_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_down_selected.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_up_default.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_up_disabled.png",
             "res/drawable-xhdpi-v4/icn_notification_thumb_up_selected.png",
             "res/drawable-xhdpi-v4/icn_right_point_caret.png",
             "res/drawable-xhdpi-v4/icon.png",
             "res/drawable-xhdpi-v4/img_spotify_logo_text.png",
             "res/drawable-xhdpi-v4/logo_smaller.png",
             "res/drawable-xhdpi-v4/mediaservice_pause.png",
             "res/drawable-xhdpi-v4/mediaservice_play.png",
             "res/drawable-xhdpi-v4/mediaservice_save.png",
             "res/drawable-xhdpi-v4/mediaservice_save_enabled.png",
             "res/drawable-xhdpi-v4/mediaservice_shuffle.png",
             "res/drawable-xhdpi-v4/mediaservice_shuffle_checked.png",
             "res/drawable-xhdpi-v4/mediaservice_skip_next.png",
             "res/drawable-xhdpi-v4/mediaservice_skip_previous.png",
             "res/drawable-xhdpi-v4/mediaservice_start_radio_black.png",
             "res/drawable-xhdpi-v4/mediaservice_thumbs_down.png",
             "res/drawable-xhdpi-v4/mediaservice_thumbs_up.png",
             "res/drawable-xhdpi-v4/mediaservice_thumbs_up_selected.png",
             "res/drawable-xhdpi-v4/mft_home_background1.jpg",
             "res/drawable-xhdpi-v4/mft_home_background2.jpg",
             "res/drawable-xhdpi-v4/mft_home_background3.jpg",
             "res/drawable-xhdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-xhdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-xhdpi-v4/nav_icon.png",
             "res/drawable-xhdpi-v4/nav_icon_gray.png",
             "res/drawable-xhdpi-v4/powered_by_google_dark.png",
             "res/drawable-xhdpi-v4/powered_by_google_light.png",
             "res/drawable-xhdpi-v4/premium_upsell_icon.png",
             "res/drawable-xhdpi-v4/psn_icon.png",
             "res/drawable-xhdpi-v4/small_icon.png",
             "res/drawable-xhdpi-v4/socialchart_showcase.png",
             "res/drawable-xhdpi-v4/sp_logo.png",
             "res/drawable-xhdpi-v4/spinner_16_inner_holo.png",
             "res/drawable-xhdpi-v4/spinner_16_outer_holo.png",
             "res/drawable-xhdpi-v4/spinner_white.png",
             "res/drawable-xhdpi-v4/widget_next_disabled.png",
             "res/drawable-xhdpi-v4/widget_next_normal.png",
             "res/drawable-xhdpi-v4/widget_pause_disabled.png",
             "res/drawable-xhdpi-v4/widget_pause_normal.png",
             "res/drawable-xhdpi-v4/widget_play_disabled.png",
             "res/drawable-xhdpi-v4/widget_play_normal.png",
             "res/drawable-xhdpi-v4/widget_prev_disabled.png",
             "res/drawable-xhdpi-v4/widget_prev_normal.png",
             "res/drawable-xxhdpi-v4/abc_ab_share_pack_holo_dark.9.png",
             "res/drawable-xxhdpi-v4/abc_ab_share_pack_holo_light.9.png",
             "res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-xxhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-xxhdpi-v4/abc_list_divider_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_list_focused_holo.9.png",
             "res/drawable-xxhdpi-v4/abc_list_longpressed_holo.9.png",
             "res/drawable-xxhdpi-v4/abc_list_pressed_holo_dark.9.png",
             "res/drawable-xxhdpi-v4/abc_list_pressed_holo_light.9.png",
             "res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
             "res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_light.9.png",
             "res/drawable-xxhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
             "res/drawable-xxhdpi-v4/abc_popup_background_mtrl_mult.9.png",
             "res/drawable-xxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
             "res/drawable-xxhdpi-v4/background_icon.png",
             "res/drawable-xxhdpi-v4/btn_g_icon.png",
             "res/drawable-xxhdpi-v4/cat_navigation_background.9.png",
             "res/drawable-xxhdpi-v4/cat_overflow_icon.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_background.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_background_selected.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_icon.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_icon_selected.png",
             "res/drawable-xxhdpi-v4/com_facebook_button_like_pressed.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowleft.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowleft_faded.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowright.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowright_faded.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_checkmark.png",
             "res/drawable-xxhdpi-v4/com_mixpanel_android_logo.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_focus_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_focus_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_normal_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_normal_light.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_dark.9.png",
             "res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_light.9.png",
             "res/drawable-xxhdpi-v4/connect_header_img.png",
             "res/drawable-xxhdpi-v4/fastscroll_default.png",
             "res/drawable-xxhdpi-v4/fastscroll_pressed.png",
             "res/drawable-xxhdpi-v4/ic_action_navigation_menu.png",
             "res/drawable-xxhdpi-v4/ic_plusone_medium_off_client.png",
             "res/drawable-xxhdpi-v4/ic_plusone_small_off_client.png",
             "res/drawable-xxhdpi-v4/ic_plusone_standard_off_client.png",
             "res/drawable-xxhdpi-v4/ic_plusone_tall_off_client.png",
             "res/drawable-xxhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-xxhdpi-v4/icn_facebook.png",
             "res/drawable-xxhdpi-v4/icn_mft_home_back.png",
             "res/drawable-xxhdpi-v4/icn_mft_home_logo.png",
             "res/drawable-xxhdpi-v4/icon.png",
             "res/drawable-xxhdpi-v4/logo_smaller.png",
             "res/drawable-xxhdpi-v4/mediaservice_albums.png",
             "res/drawable-xxhdpi-v4/mediaservice_artists.png",
             "res/drawable-xxhdpi-v4/mediaservice_browse.png",
             "res/drawable-xxhdpi-v4/mediaservice_newreleases.png",
             "res/drawable-xxhdpi-v4/mediaservice_playlists.png",
             "res/drawable-xxhdpi-v4/mediaservice_radio.png",
             "res/drawable-xxhdpi-v4/mediaservice_starred.png",
             "res/drawable-xxhdpi-v4/mediaservice_yourmusic.png",
             "res/drawable-xxhdpi-v4/mobile_artist_concert_header.png",
             "res/drawable-xxhdpi-v4/mobile_artist_concert_songkick.png",
             "res/drawable-xxhdpi-v4/nav_icon.png",
             "res/drawable-xxhdpi-v4/nav_icon_gray.png",
             "res/drawable-xxhdpi-v4/powered_by_google_dark.png",
             "res/drawable-xxhdpi-v4/powered_by_google_light.png",
             "res/drawable-xxhdpi-v4/psn_icon.png",
             "res/drawable-xxhdpi-v4/small_icon.png",
             "res/drawable-xxhdpi-v4/sp_logo.png",
             "res/drawable-xxhdpi-v4/widget_next_disabled.png",
             "res/drawable-xxhdpi-v4/widget_next_normal.png",
             "res/drawable-xxhdpi-v4/widget_pause_disabled.png",
             "res/drawable-xxhdpi-v4/widget_pause_normal.png",
             "res/drawable-xxhdpi-v4/widget_placeholder.png",
             "res/drawable-xxhdpi-v4/widget_play_disabled.png",
             "res/drawable-xxhdpi-v4/widget_play_normal.png",
             "res/drawable-xxhdpi-v4/widget_prev_disabled.png",
             "res/drawable-xxhdpi-v4/widget_prev_normal.png",
             "res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
             "res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
             "res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
             "res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
             "res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
             "res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
             "res/drawable-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_clear_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
             "res/drawable-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
             "res/drawable-xxxhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
             "res/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
             "res/drawable-xxxhdpi-v4/connect_header_img.png",
             "res/drawable-xxxhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
             "res/drawable-xxxhdpi-v4/icn_mft_home_back.png",
             "res/drawable-xxxhdpi-v4/icn_mft_home_logo.png",
             "res/drawable-xxxhdpi-v4/icon.png",
             "res/drawable-xxxhdpi-v4/logo_smaller.png",
             "res/drawable-xxxhdpi-v4/nav_icon.png",
             "res/drawable-xxxhdpi-v4/nav_icon_gray.png",
             "res/drawable-xxxhdpi-v4/psn_icon.png",
             "res/drawable-xxxhdpi-v4/sp_logo.png",
             "res/drawable/abc_btn_check_material.xml",
             "res/drawable/abc_btn_radio_material.xml",
             "res/drawable/abc_cab_background_internal_bg.xml",
             "res/drawable/abc_cab_background_top_material.xml",
             "res/drawable/abc_edit_text_material.xml",
             "res/drawable/abc_item_background_holo_dark.xml",
             "res/drawable/abc_item_background_holo_light.xml",
             "res/drawable/abc_list_selector_background_transition_holo_dark.xml",
             "res/drawable/abc_list_selector_background_transition_holo_light.xml",
             "res/drawable/abc_list_selector_holo_dark.xml",
             "res/drawable/abc_list_selector_holo_light.xml",
             "res/drawable/abc_switch_thumb_material.xml",
             "res/drawable/abc_tab_indicator_material.xml",
             "res/drawable/abc_textfield_search_material.xml",
             "res/drawable/bg_actionbar_item.xml",
             "res/drawable/bg_actionbar_tab.xml",
             "res/drawable/bg_activity_card.xml",
             "res/drawable/bg_browse_header.xml",
             "res/drawable/bg_browse_start_fragment_header.xml",
             "res/drawable/bg_button_dialog_bottom_left_light.xml",
             "res/drawable/bg_button_dialog_bottom_light.xml",
             "res/drawable/bg_button_dialog_bottom_right_light.xml",
             "res/drawable/bg_button_light.xml",
             "res/drawable/bg_button_queue.xml",
             "res/drawable/bg_cat_login_field.xml",
             "res/drawable/bg_cell.xml",
             "res/drawable/bg_connect_playing_from_bar_cat.xml",
             "res/drawable/bg_dialog_button_divider.xml",
             "res/drawable/bg_discover.xml",
             "res/drawable/bg_globe_telecom_premium_activation.xml",
             "res/drawable/bg_header.xml",
             "res/drawable/bg_notification_button.xml",
             "res/drawable/bg_placeholder_album.xml",
             "res/drawable/bg_placeholder_annotate_image.xml",
             "res/drawable/bg_placeholder_artist.xml",
             "res/drawable/bg_placeholder_artist_black.xml",
             "res/drawable/bg_placeholder_playlist.xml",
             "res/drawable/bg_placeholder_user.xml",
             "res/drawable/bg_popup.xml",
             "res/drawable/bg_popup_outside.xml",
             "res/drawable/bg_premium_upsell_interstitial_reason.xml",
             "res/drawable/bg_settings_bubble.xml",
             "res/drawable/bg_share_connect_icon_facebook.xml",
             "res/drawable/bg_share_connect_icon_tumblr.xml",
             "res/drawable/bg_share_connect_icon_twitter.xml",
             "res/drawable/bg_toast.xml",
             "res/drawable/bg_upsell_banner.xml",
             "res/drawable/bg_widget_button.xml",
             "res/drawable/btn_cat_login_button_facebook.xml",
             "res/drawable/btn_cat_login_button_google.xml",
             "res/drawable/btn_cat_login_button_later.xml",
             "res/drawable/btn_cat_login_button_primary.xml",
             "res/drawable/btn_cat_login_button_secondary.xml",
             "res/drawable/btn_cat_nav_upsell_button.xml",
             "res/drawable/btn_facebook.xml",
             "res/drawable/btn_header_overlay_pause.xml",
             "res/drawable/btn_header_overlay_play.xml",
             "res/drawable/btn_intro_primary.xml",
             "res/drawable/btn_twitter.xml",
             "res/drawable/button_download.xml",
             "res/drawable/cat_actionbar_background.xml",
             "res/drawable/cat_actionbar_background_split.xml",
             "res/drawable/cat_back_dummy.xml",
             "res/drawable/cat_button.xml",
             "res/drawable/cat_button_danger.xml",
             "res/drawable/cat_button_info.xml",
             "res/drawable/cat_button_info_small.xml",
             "res/drawable/cat_button_info_small_state_default.xml",
             "res/drawable/cat_button_info_small_state_disabled.xml",
             "res/drawable/cat_button_info_small_state_focused.xml",
             "res/drawable/cat_button_info_small_state_pressed.xml",
             "res/drawable/cat_button_info_state_default.xml",
             "res/drawable/cat_button_info_state_disabled.xml",
             "res/drawable/cat_button_info_state_focused.xml",
             "res/drawable/cat_button_info_state_pressed.xml",
             "res/drawable/cat_button_primary.xml",
             "res/drawable/cat_button_primary_small.xml",
             "res/drawable/cat_button_primary_small_state_default.xml",
             "res/drawable/cat_button_primary_small_state_disabled.xml",
             "res/drawable/cat_button_primary_small_state_focused.xml",
             "res/drawable/cat_button_primary_small_state_pressed.xml",
             "res/drawable/cat_button_primary_state_default.xml",
             "res/drawable/cat_button_primary_state_disabled.xml",
             "res/drawable/cat_button_primary_state_focused.xml",
             "res/drawable/cat_button_primary_state_pressed.xml",
             "res/drawable/cat_button_small.xml",
             "res/drawable/cat_button_small_state_checked.xml",
             "res/drawable/cat_button_small_state_default.xml",
             "res/drawable/cat_button_small_state_disabled.xml",
             "res/drawable/cat_button_small_state_focused.xml",
             "res/drawable/cat_button_small_state_pressed.xml",
             "res/drawable/cat_button_state_checked.xml",
             "res/drawable/cat_button_state_default.xml",
             "res/drawable/cat_button_state_disabled.xml",
             "res/drawable/cat_button_state_focused.xml",
             "res/drawable/cat_button_state_pressed.xml",
             "res/drawable/cat_card_background.xml",
             "res/drawable/cat_card_foreground.xml",
             "res/drawable/cat_checkbox.xml",
             "res/drawable/cat_dialog_background.xml",
             "res/drawable/cat_dialog_button_bar_background.xml",
             "res/drawable/cat_dialog_button_left.xml",
             "res/drawable/cat_dialog_button_right.xml",
             "res/drawable/cat_dialog_button_single_negative.xml",
             "res/drawable/cat_dialog_button_single_positive.xml",
             "res/drawable/cat_dropdown_list_divider.xml",
             "res/drawable/cat_edit_background.xml",
             "res/drawable/cat_edit_background_dialog.xml",
             "res/drawable/cat_filter_list_background.xml",
             "res/drawable/cat_filter_list_divider.xml",
             "res/drawable/cat_list_divider.xml",
             "res/drawable/cat_list_divider_light.xml",
             "res/drawable/cat_list_divider_vertical.xml",
             "res/drawable/cat_list_popup_filter_selector.xml",
             "res/drawable/cat_list_selector.xml",
             "res/drawable/cat_list_selector_default.xml",
             "res/drawable/cat_list_selector_focused.xml",
             "res/drawable/cat_list_selector_focused_no_margin.xml",
             "res/drawable/cat_list_selector_light.xml",
             "res/drawable/cat_list_selector_light_focused.xml",
             "res/drawable/cat_list_selector_light_pressed.xml",
             "res/drawable/cat_list_selector_no_margin.xml",
             "res/drawable/cat_list_selector_pressed.xml",
             "res/drawable/cat_list_selector_pressed_no_margin.xml",
             "res/drawable/cat_listitem_background.xml",
             "res/drawable/cat_listitem_background_default.xml",
             "res/drawable/cat_navigation_list_divider.xml",
             "res/drawable/cat_navigationitem_background.xml",
             "res/drawable/cat_notificationbadge_background.xml",
             "res/drawable/cat_progress.xml",
             "res/drawable/cat_seekbar_thumb.xml",
             "res/drawable/cat_seekbar_thumb_default.xml",
             "res/drawable/cat_spinner_background.xml",
             "res/drawable/cat_switch.xml",
             "res/drawable/cat_switch_default.xml",
             "res/drawable/cat_switch_disabled.xml",
             "res/drawable/cat_switch_focused.xml",
             "res/drawable/cat_switch_thumb.xml",
             "res/drawable/cat_switch_thumb_default.xml",
             "res/drawable/cat_switch_thumb_disabled.xml",
             "res/drawable/cat_text_background_explicit.xml",
             "res/drawable/com_facebook_button_blue.xml",
             "res/drawable/com_facebook_button_blue_focused.9.png",
             "res/drawable/com_facebook_button_blue_normal.9.png",
             "res/drawable/com_facebook_button_blue_pressed.9.png",
             "res/drawable/com_facebook_button_check.xml",
             "res/drawable/com_facebook_button_check_off.png",
             "res/drawable/com_facebook_button_check_on.png",
             "res/drawable/com_facebook_button_grey_focused.9.png",
             "res/drawable/com_facebook_button_grey_normal.9.png",
             "res/drawable/com_facebook_button_grey_pressed.9.png",
             "res/drawable/com_facebook_button_like.xml",
             "res/drawable/com_facebook_button_like_background.png",
             "res/drawable/com_facebook_button_like_background_selected.png",
             "res/drawable/com_facebook_button_like_icon.png",
             "res/drawable/com_facebook_button_like_icon_selected.png",
             "res/drawable/com_facebook_button_like_pressed.png",
             "res/drawable/com_facebook_button_like_selected.xml",
             "res/drawable/com_facebook_close.png",
             "res/drawable/com_facebook_inverse_icon.png",
             "res/drawable/com_facebook_list_divider.9.png",
             "res/drawable/com_facebook_list_section_header_background.9.png",
             "res/drawable/com_facebook_loginbutton_silver.xml",
             "res/drawable/com_facebook_logo.png",
             "res/drawable/com_facebook_picker_item_background.xml",
             "res/drawable/com_facebook_picker_list_focused.9.png",
             "res/drawable/com_facebook_picker_list_longpressed.9.png",
             "res/drawable/com_facebook_picker_list_pressed.9.png",
             "res/drawable/com_facebook_picker_list_selector.xml",
             "res/drawable/com_facebook_picker_list_selector_background_transition.xml",
             "res/drawable/com_facebook_picker_list_selector_disabled.9.png",
             "res/drawable/com_facebook_picker_top_button.xml",
             "res/drawable/com_facebook_place_default_icon.png",
             "res/drawable/com_facebook_profile_default_icon.png",
             "res/drawable/com_facebook_profile_picture_blank_portrait.png",
             "res/drawable/com_facebook_profile_picture_blank_square.png",
             "res/drawable/com_facebook_top_background.xml",
             "res/drawable/com_facebook_top_button.xml",
             "res/drawable/com_facebook_usersettingsfragment_background_gradient.xml",
             "res/drawable/com_mixpanel_android_arrowleft_insets.xml",
             "res/drawable/com_mixpanel_android_arrowleft_states.xml",
             "res/drawable/com_mixpanel_android_arrowright_insets.xml",
             "res/drawable/com_mixpanel_android_arrowright_states.xml",
             "res/drawable/com_mixpanel_android_checkmark_states.xml",
             "res/drawable/com_mixpanel_android_choice_first_states.xml",
             "res/drawable/com_mixpanel_android_choice_last_states.xml",
             "res/drawable/com_mixpanel_android_choice_middle_states.xml",
             "res/drawable/com_mixpanel_android_nocolor_list.xml",
             "res/drawable/com_mixpanel_android_rounded_bottom.9.png",
             "res/drawable/com_mixpanel_android_rounded_bottom_selected.9.png",
             "res/drawable/com_mixpanel_android_rounded_top.9.png",
             "res/drawable/com_mixpanel_android_rounded_top_selected.9.png",
             "res/drawable/com_mixpanel_android_square.9.png",
             "res/drawable/com_mixpanel_android_square_selected.9.png",
             "res/drawable/com_mixpanel_android_text_answer_border.xml",
             "res/drawable/common_signin_btn_icon_dark.xml",
             "res/drawable/common_signin_btn_icon_light.xml",
             "res/drawable/common_signin_btn_text_dark.xml",
             "res/drawable/common_signin_btn_text_light.xml",
             "res/drawable/fastscroll_selector.xml",
             "res/drawable/icn_loading_indicator.xml",
             "res/drawable/img_end_of_trial.xml",
             "res/drawable/indicator_bar.xml",
             "res/drawable/mft_home_cell_border.xml",
             "res/drawable/player_progress_thumb.xml",
             "res/drawable/profile_panel_badge_background.xml",
             "res/drawable/progress_small.xml",
             "res/drawable/progress_small_holo.xml",
             "res/drawable/socialchart_list_divider.xml",
             "res/drawable/socialchart_remaining_shape.xml",
             "res/drawable/transparent.xml",
             "res/layout-land/fragment_mft2_home.xml",
             "res/layout-land/list.xml",
             "res/layout-land/list_with_overlay.xml",
             "res/layout-land/mobile_artist_bio.xml",
             "res/layout-land/player.xml",
             "res/layout-land/player_content_view.xml",
             "res/layout-land/player_controls.xml",
             "res/layout-v11/abc_screen_content_include.xml",
             "res/layout-v21/abc_screen_toolbar.xml",
             "res/layout/abc_action_bar_title_item.xml",
             "res/layout/abc_action_bar_up_container.xml",
             "res/layout/abc_action_bar_view_list_nav_layout.xml",
             "res/layout/abc_action_menu_item_layout.xml",
             "res/layout/abc_action_menu_layout.xml",
             "res/layout/abc_action_mode_bar.xml",
             "res/layout/abc_action_mode_close_item_material.xml",
             "res/layout/abc_activity_chooser_view.xml",
             "res/layout/abc_activity_chooser_view_include.xml",
             "res/layout/abc_activity_chooser_view_list_item.xml",
             "res/layout/abc_expanded_menu_layout.xml",
             "res/layout/abc_list_menu_item_checkbox.xml",
             "res/layout/abc_list_menu_item_icon.xml",
             "res/layout/abc_list_menu_item_layout.xml",
             "res/layout/abc_list_menu_item_radio.xml",
             "res/layout/abc_popup_menu_item_layout.xml",
             "res/layout/abc_screen_content_include.xml",
             "res/layout/abc_screen_simple.xml",
             "res/layout/abc_screen_simple_overlay_action_mode.xml",
             "res/layout/abc_screen_toolbar.xml",
             "res/layout/abc_search_dropdown_item_icons_2line.xml",
             "res/layout/abc_search_view.xml",
             "res/layout/abc_simple_dropdown_hint.xml",
             "res/layout/actionbar_search.xml",
             "res/layout/activity_annotate_playlist.xml",
             "res/layout/activity_cover_image.xml",
             "res/layout/activity_default.xml",
             "res/layout/activity_device.xml",
             "res/layout/activity_disable_offline_mode.xml",
             "res/layout/activity_facebook_webview.xml",
             "res/layout/activity_general_message_radio_and_premium.xml",
             "res/layout/activity_globe_premium_activation.xml",
             "res/layout/activity_holiday_offer_upsell_interstitial.xml",
             "res/layout/activity_lockscreen.xml",
             "res/layout/activity_marketing_opt_in_body.xml",
             "res/layout/activity_notification_webview.xml",
             "res/layout/activity_open.xml",
             "res/layout/activity_player.xml",
             "res/layout/activity_premium_signup.xml",
             "res/layout/activity_premium_upsell_interstitial.xml",
             "res/layout/activity_reset_password.xml",
             "res/layout/activity_showcase.xml",
             "res/layout/activity_tos_text.xml",
             "res/layout/activity_two_buttons_dialog.xml",
             "res/layout/activity_uninstall_old_app.xml",
             "res/layout/activity_upsell_dialog.xml",
             "res/layout/activity_video_player.xml",
             "res/layout/additional_info_bar.xml",
             "res/layout/biography_image_view.xml",
             "res/layout/browse_cover_card.xml",
             "res/layout/browse_new_releases_header.xml",
             "res/layout/cardview.xml",
             "res/layout/cat_listtile_1.xml",
             "res/layout/cat_listtile_1_image.xml",
             "res/layout/cat_listtile_1_image_small.xml",
             "res/layout/cat_listtile_1_small.xml",
             "res/layout/cat_listtile_2.xml",
             "res/layout/cat_listtile_2_image.xml",
             "res/layout/cat_listtile_2_image_muted.xml",
             "res/layout/cat_listtile_2_muted.xml",
             "res/layout/cat_listtile_2_number.xml",
             "res/layout/cat_listtile_2_number_muted.xml",
             "res/layout/cat_listtile_multiline.xml",
             "res/layout/cell_activity_story.xml",
             "res/layout/cell_artist_portrait.xml",
             "res/layout/cell_browse_genre.xml",
             "res/layout/cell_browse_playlist.xml",
             "res/layout/cell_browse_playlist_horizontal_list.xml",
             "res/layout/cell_browse_trending_artist.xml",
             "res/layout/cell_copyright.xml",
             "res/layout/cell_mft_home.xml",
             "res/layout/cell_navigation.xml",
             "res/layout/cell_square_image.xml",
             "res/layout/cell_track_cover.xml",
             "res/layout/cell_tracks_sample.xml",
             "res/layout/collection_show_all.xml",
             "res/layout/com_facebook_friendpickerfragment.xml",
             "res/layout/com_facebook_login_activity_layout.xml",
             "res/layout/com_facebook_picker_activity_circle_row.xml",
             "res/layout/com_facebook_picker_checkbox.xml",
             "res/layout/com_facebook_picker_image.xml",
             "res/layout/com_facebook_picker_list_row.xml",
             "res/layout/com_facebook_picker_list_section_header.xml",
             "res/layout/com_facebook_picker_search_box.xml",
             "res/layout/com_facebook_picker_title_bar.xml",
             "res/layout/com_facebook_picker_title_bar_stub.xml",
             "res/layout/com_facebook_placepickerfragment.xml",
             "res/layout/com_facebook_placepickerfragment_list_row.xml",
             "res/layout/com_facebook_search_bar_layout.xml",
             "res/layout/com_facebook_tooltip_bubble.xml",
             "res/layout/com_facebook_usersettingsfragment.xml",
             "res/layout/com_mixpanel_android_activity_survey.xml",
             "res/layout/com_mixpanel_android_first_choice_answer.xml",
             "res/layout/com_mixpanel_android_last_choice_answer.xml",
             "res/layout/com_mixpanel_android_middle_choice_answer.xml",
             "res/layout/com_mixpanel_android_question_card.xml",
             "res/layout/connect_playing_from_bar.xml",
             "res/layout/context_menu.xml",
             "res/layout/cosmos_search_cell_mft_appears_on.xml",
             "res/layout/cosmos_search_footer_loading.xml",
             "res/layout/cosmos_search_playlist_row.xml",
             "res/layout/discover_grouped_card.xml",
             "res/layout/discover_story.xml",
             "res/layout/display_banner_ad.xml",
             "res/layout/findfriends_header.xml",
             "res/layout/footer_loading.xml",
             "res/layout/fragment_activity_list_view.xml",
             "res/layout/fragment_add_to_playlist.xml",
             "res/layout/fragment_arsenal_ask_login.xml",
             "res/layout/fragment_arsenal_dywla.xml",
             "res/layout/fragment_arsenal_feedback.xml",
             "res/layout/fragment_arsenal_linking.xml",
             "res/layout/fragment_arsenal_sso.xml",
             "res/layout/fragment_browse_default_list_view.xml",
             "res/layout/fragment_browse_default_list_view_cat.xml",
             "res/layout/fragment_browse_header_background.xml",
             "res/layout/fragment_browse_header_text.xml",
             "res/layout/fragment_collection.xml",
             "res/layout/fragment_context_recognition.xml",
             "res/layout/fragment_cosmos_test.xml",
             "res/layout/fragment_device.xml",
             "res/layout/fragment_discover.xml",
             "res/layout/fragment_inbox.xml",
             "res/layout/fragment_login_new.xml",
             "res/layout/fragment_login_splash.xml",
             "res/layout/fragment_login_welcome.xml",
             "res/layout/fragment_mft2_home.xml",
             "res/layout/fragment_not_available.xml",
             "res/layout/fragment_offline_bar.xml",
             "res/layout/fragment_open_access.xml",
             "res/layout/fragment_profile_panel.xml",
             "res/layout/fragment_push_notification_settings.xml",
             "res/layout/fragment_radio.xml",
             "res/layout/fragment_relatedartists_cat.xml",
             "res/layout/fragment_settings.xml",
             "res/layout/fragment_share_dialog_connect_facebook.xml",
             "res/layout/fragment_share_post.xml",
             "res/layout/fragment_show_licenses.xml",
             "res/layout/fragment_showcase.xml",
             "res/layout/fragment_signup_new.xml",
             "res/layout/fragment_sso_login.xml",
             "res/layout/fragment_start.xml",
             "res/layout/fragment_webview.xml",
             "res/layout/fragment_with_recycler_view.xml",
             "res/layout/fragment_x_promo_welcome.xml",
             "res/layout/generic_dialog_header.xml",
             "res/layout/generic_dialog_two_buttons.xml",
             "res/layout/header_devices.xml",
             "res/layout/header_download.xml",
             "res/layout/header_filter.xml",
             "res/layout/header_info_2_lines_page.xml",
             "res/layout/header_info_page.xml",
             "res/layout/header_pretty_subtitle.xml",
             "res/layout/include_start_login_buttons_anonymous.xml",
             "res/layout/include_start_login_buttons_normal.xml",
             "res/layout/list.xml",
             "res/layout/list_discovery.xml",
             "res/layout/list_frame.xml",
             "res/layout/list_popup.xml",
             "res/layout/list_with_emptyview.xml",
             "res/layout/list_with_overlay.xml",
             "res/layout/loading_view.xml",
             "res/layout/login_content.xml",
             "res/layout/main.xml",
             "res/layout/main_debug_overlay.xml",
             "res/layout/material_listtile_1.xml",
             "res/layout/material_listtile_1_image.xml",
             "res/layout/material_listtile_1_image_small.xml",
             "res/layout/material_listtile_1_small.xml",
             "res/layout/material_listtile_2.xml",
             "res/layout/material_listtile_2_image.xml",
             "res/layout/material_listtile_2_image_muted.xml",
             "res/layout/material_listtile_2_muted.xml",
             "res/layout/material_listtile_2_number.xml",
             "res/layout/material_listtile_2_number_muted.xml",
             "res/layout/material_listtile_multiline.xml",
             "res/layout/media_controller.xml",
             "res/layout/mobile_artist_bio.xml",
             "res/layout/mobile_artist_calendar_sheet_cat.xml",
             "res/layout/mobile_artist_concert_cat.xml",
             "res/layout/mobile_artist_fragment_base.xml",
             "res/layout/mobile_artist_header.xml",
             "res/layout/mobile_artist_header_single_image.xml",
             "res/layout/mobile_artist_page_indicator.xml",
             "res/layout/mobile_artist_portrait.xml",
             "res/layout/navigation.xml",
             "res/layout/notification_big_player.xml",
             "res/layout/notification_big_player_radio.xml",
             "res/layout/notification_coverart_and_text.xml",
             "res/layout/notification_next.xml",
             "res/layout/notification_play_pause.xml",
             "res/layout/notification_small_player.xml",
             "res/layout/page_debug_single_button.xml",
             "res/layout/page_player_done.xml",
             "res/layout/page_player_improving.xml",
             "res/layout/page_player_liked_list.xml",
             "res/layout/page_player_progress.xml",
             "res/layout/page_player_skips_left.xml",
             "res/layout/page_player_suggested_song.xml",
             "res/layout/page_player_text.xml",
             "res/layout/page_upsell_item.xml",
             "res/layout/paste_dialog.xml",
             "res/layout/paste_divider_wrapper.xml",
             "res/layout/paste_empty.xml",
             "res/layout/paste_header.xml",
             "res/layout/paste_listitem.xml",
             "res/layout/paste_match_parent_width.xml",
             "res/layout/paste_navigationitem.xml",
             "res/layout/paste_sectionheader.xml",
             "res/layout/paste_wrap_content.xml",
             "res/layout/placeholder_title.xml",
             "res/layout/play_button_view.xml",
             "res/layout/play_history.xml",
             "res/layout/player.xml",
             "res/layout/player_content_view.xml",
             "res/layout/player_controls.xml",
             "res/layout/player_new.xml",
             "res/layout/player_preview.xml",
             "res/layout/player_preview_item.xml",
             "res/layout/playlist_annotate_overlay.xml",
             "res/layout/popup_gender_select.xml",
             "res/layout/preview_progress_button.xml",
             "res/layout/profile_counts_subheader.xml",
             "res/layout/queue.xml",
             "res/layout/radio_cover_card.xml",
             "res/layout/search.xml",
             "res/layout/section_link_cat.xml",
             "res/layout/settings_basic_row.xml",
             "res/layout/settings_crossfade_row.xml",
             "res/layout/settings_facebook_row.xml",
             "res/layout/settings_spinner_row.xml",
             "res/layout/settings_toggle_button_row.xml",
             "res/layout/share_header.xml",
             "res/layout/simple_text_view.xml",
             "res/layout/socialchart_header2.xml",
             "res/layout/socialchart_smallfriendicon.xml",
             "res/layout/socialchart_trackrow.xml",
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ChainedApkInfos -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ChainedApkInfos -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script import ScriptUtil
from androlyze.model.script.ChainedScript import ChainedScript
from androlyze.model.script.impl.manifest.Files import Files
from androlyze.model.script.impl.manifest.Libs import Libs
from androlyze.model.script.impl.manifest.Permissions import Permissions
from androlyze.model.script.impl.manifest.components.Activities import Activities
from androlyze.model.script.impl.manifest.components.BroadcastReceivers import BroadcastReceivers
from androlyze.model.script.impl.manifest.components.ContentProviders import ContentProviders
from androlyze.model.script.impl.manifest.components.Intents import Intents
from androlyze.model.script.impl.manifest.components.Services import Services
from androlyze.model.script.impl.manifest.Manifest import Manifest
from androlyze.model.script.impl.manifest.components.PublicContentProviders import PublicContentProviders

class ChainedApkInfos(ChainedScript):
    ''' The same as the `ApkInfo` script, but build using modular scripts chained together '''

    VERSION = "0.1"

    def chain_scripts(self):
        # use the chained_script function to do further grouping
        components = ScriptUtil.chained_script([Activities(), Services(), BroadcastReceivers(),
                                                ContentProviders(), PublicContentProviders(),
                                                 Intents()], ("components", ), name = "components")

        return [components, Permissions(), Libs(), Files(), Manifest()]

    def root_categories(self):
        return ('apkinfo', )

    def log_chained_script_meta_infos(self):
        ''' By default some information will be logged.
        Like e.g. the scripts used, which ran successful and which failed.
        '''
        return False

ClassDetails

This is an autogenerated documentation file for the script: ClassDetails

Run it
$ ./androanalyze scripts_builtin/ClassDetails.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ClassDetails -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ClassDetails",
         "sha256": "3d3bc59c30a524773b0bc40697ff04de4f3b5e781426644df3f63b3a5ba00552",
         "analysis date": "2015-06-26T17:13:36.213000",
         "version": "0.1"
     },
     "class details": {
         "Landroid/support/v4/a/a/a;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/a/a/c;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/b;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/d;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/e;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/f;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/g;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/h;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/a/a/i;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/BackStackState$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/BackStackState;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "a",
                 "describeContents",
                 "writeToParcel"
             ],
             "fields": [
                 "CREATOR",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k"
             ]
         },
         "Landroid/support/v4/app/k;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/Fragment$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/Fragment$InstantiationException;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/Fragment$SavedState$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/Fragment$SavedState;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "describeContents",
                 "writeToParcel"
             ],
             "fields": [
                 "CREATOR",
                 "a"
             ]
         },
         "Landroid/support/v4/app/Fragment;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "G",
                 "a",
                 "a",
                 "b",
                 "j",
                 "m",
                 "r",
                 "A",
                 "B",
                 "C",
                 "D",
                 "E",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e_",
                 "equals",
                 "f",
                 "g",
                 "g",
                 "h",
                 "h",
                 "hashCode",
                 "i",
                 "i",
                 "i_",
                 "j_",
                 "k",
                 "k_",
                 "l",
                 "l_",
                 "n",
                 "o",
                 "onConfigurationChanged",
                 "onCreateContextMenu",
                 "onLowMemory",
                 "p",
                 "q",
                 "s",
                 "t",
                 "toString",
                 "u",
                 "v",
                 "w",
                 "x",
                 "y",
                 "z"
             ],
             "fields": [
                 "a",
                 "j",
                 "A",
                 "B",
                 "C",
                 "D",
                 "E",
                 "F",
                 "G",
                 "H",
                 "I",
                 "J",
                 "K",
                 "L",
                 "M",
                 "N",
                 "O",
                 "P",
                 "Q",
                 "R",
                 "S",
                 "T",
                 "U",
                 "V",
                 "W",
                 "X",
                 "Y",
                 "Z",
                 "aa",
                 "ab",
                 "ac",
                 "ad",
                 "ae",
                 "af",
                 "ag",
                 "ah",
                 "ai",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v",
                 "w",
                 "x",
                 "y",
                 "z"
             ]
         },
         "Landroid/support/v4/app/FragmentManagerState$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/FragmentManagerState;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "describeContents",
                 "writeToParcel"
             ],
             "fields": [
                 "CREATOR",
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/app/FragmentState$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/FragmentState;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "a",
                 "describeContents",
                 "writeToParcel"
             ],
             "fields": [
                 "CREATOR",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k"
             ]
         },
         "Landroid/support/v4/app/FragmentTabHost$SavedState$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/FragmentTabHost$SavedState;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "<init>",
                 "toString",
                 "writeToParcel"
             ],
             "fields": [
                 "CREATOR",
                 "a"
             ]
         },
         "Landroid/support/v4/app/FragmentTabHost;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "onAttachedToWindow",
                 "onDetachedFromWindow",
                 "onRestoreInstanceState",
                 "onSaveInstanceState",
                 "onTabChanged",
                 "setOnTabChangedListener",
                 "setup"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g"
             ]
         },
         "Landroid/support/v4/app/SuperNotCalledException;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/c;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/a;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/aa;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/ab;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ac;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ad;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ae;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/af;": {
             "methods": [
                 "<init>",
                 "a",
                 "dispatchRestoreInstanceState",
                 "dispatchSaveInstanceState"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ag;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ah;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ai;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/be;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/aj$1;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bd;": {
             "methods": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/aj;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ],
             "fields": [
                 "d",
                 "a",
                 "b",
                 "c",
                 "e",
                 "f"
             ]
         },
         "Landroid/support/v4/app/ax;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": [
                 "d",
                 "e",
                 "f",
                 "g"
             ]
         },
         "Landroid/support/v4/app/ak;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/app/al;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/am;": {
             "methods": [
                 "<init>",
                 "d",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": [
                 "A",
                 "B",
                 "C",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v",
                 "w",
                 "x",
                 "y",
                 "z"
             ]
         },
         "Landroid/support/v4/app/an;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/ao;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ar;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/av;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/aw;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ap;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/aq;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/as;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/at;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/au;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ay;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/az;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/app/b;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ba;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bb;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/bc;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bf;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bg;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bh;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bi;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d"
             ]
         },
         "Landroid/support/v4/app/bj;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/app/bk;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bl;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/app/bu;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bm$1;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bt;": {
             "methods": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bm;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ],
             "fields": [
                 "a",
                 "g",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f"
             ]
         },
         "Landroid/support/v4/app/bn;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bo;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bp;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bq;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/br;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bs;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bv;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bw;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/bx;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "iterator"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/app/by;": {
             "methods": [
                 "a_"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/bz;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/app/c;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/ca;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/cb;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/d;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/u;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/e$1;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/app/e$2;": {
             "methods": [
                 "<init>",
                 "onPreDraw"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h"
             ]
         },
         "Landroid/support/v4/app/e$3;": {
             "methods": [
                 "<init>",
                 "onPreDraw"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/app/r;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/e;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "run",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u"
             ]
         },
         "Landroid/support/v4/app/f;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i"
             ]
         },
         "Landroid/support/v4/app/g;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/app/h;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d",
                 "d",
                 "e",
                 "e_",
                 "k_",
                 "l_",
                 "onCancel",
                 "onDismiss"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i"
             ]
         },
         "Landroid/support/v4/app/i$1;": {
             "methods": [
                 "<init>",
                 "handleMessage"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/i$2;": {
             "methods": [
                 "<init>",
                 "a",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/i;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "d",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "c",
                 "dump",
                 "n_",
                 "onActivityResult",
                 "onBackPressed",
                 "onConfigurationChanged",
                 "onCreate",
                 "onCreatePanelMenu",
                 "onCreateView",
                 "onDestroy",
                 "onKeyDown",
                 "onLowMemory",
                 "onMenuItemSelected",
                 "onNewIntent",
                 "onPanelClosed",
                 "onPause",
                 "onPostResume",
                 "onPreparePanel",
                 "onResume",
                 "onRetainNonConfigurationInstance",
                 "onSaveInstanceState",
                 "onStart",
                 "onStop",
                 "p_",
                 "startActivityForResult"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m"
             ]
         },
         "Landroid/support/v4/app/j;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/app/l;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/m;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/n$1;": {
             "methods": [
                 "<init>",
                 "run"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/n$2;": {
             "methods": [
                 "<init>",
                 "run"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/n$3;": {
             "methods": [
                 "<init>",
                 "run"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/app/n$4;": {
             "methods": [
                 "<init>",
                 "onAnimationEnd",
                 "onAnimationRepeat",
                 "onAnimationStart"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/app/n;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "c",
                 "d",
                 "e",
                 "e",
                 "f",
                 "g",
                 "s",
                 "t",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "onCreateView",
                 "p",
                 "q",
                 "r",
                 "toString"
             ],
             "fields": [
                 "A",
                 "B",
                 "C",
                 "a",
                 "b",
                 "z",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v",
                 "w",
                 "x",
                 "y"
             ]
         },
         "Landroid/support/v4/app/o;": {
             "methods": [
                 "<clinit>"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/at;": {
             "methods": [
                 "<init>",
                 "c",
                 "d",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/p;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b"
             ],
             "fields": [
                 "b",
                 "c",
                 "d"
             ]
         },
         "Landroid/support/v4/app/q;": {
             "methods": [],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d"
             ]
         },
         "Landroid/support/v4/app/s$1;": {
             "methods": [
                 "<init>",
                 "onGetEpicenter"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/s$2;": {
             "methods": [
                 "<init>",
                 "onPreDraw"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f"
             ]
         },
         "Landroid/support/v4/app/s$3;": {
             "methods": [
                 "<init>",
                 "onGetEpicenter"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/app/s$4;": {
             "methods": [
                 "<init>",
                 "onPreDraw"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k"
             ]
         },
         "Landroid/support/v4/app/s;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/t;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/v$1;": {
             "methods": [
                 "<init>",
                 "run"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/v$2;": {
             "methods": [
                 "<init>",
                 "onItemClick"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/app/v;": {
             "methods": [
                 "<init>",
                 "H",
                 "a",
                 "F",
                 "G",
                 "a",
                 "a",
                 "a",
                 "a",
                 "d"
             ],
             "fields": [
                 "a",
                 "aj",
                 "ak",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i"
             ]
         },
         "Landroid/support/v4/app/w;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/x;": {
             "methods": [
                 "a",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/y;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "c",
                 "d",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h"
             ]
         },
         "Landroid/support/v4/content/p;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/app/z;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o"
             ]
         },
         "Landroid/support/v4/b/a/a;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/b/a/b;": {
             "methods": [
                 "a",
                 "expandActionView",
                 "getActionView",
                 "isActionViewExpanded",
                 "setActionView",
                 "setActionView",
                 "setShowAsAction"
             ],
             "fields": []
         },
         "Landroid/support/v4/b/a/c;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/c/a;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/c/b;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/c/c;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/c/d;": {
             "methods": [
                 "<init>",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/c/e;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/c/f;": {
             "methods": [
                 "<init>",
                 "createFromParcel",
                 "createFromParcel",
                 "newArray"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/c/g;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/ModernAsyncTask$1;": {
             "methods": [
                 "<init>",
                 "newThread"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/v;": {
             "methods": [
                 "<init>",
                 "<init>"
             ],
             "fields": [
                 "b"
             ]
         },
         "Landroid/support/v4/content/ModernAsyncTask$2;": {
             "methods": [
                 "<init>",
                 "call"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/ModernAsyncTask$3;": {
             "methods": [
                 "<init>",
                 "done"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/ModernAsyncTask$4;": {
             "methods": [
                 "<clinit>"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/ModernAsyncTask$Status;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "valueOf",
                 "values"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d"
             ]
         },
         "Landroid/support/v4/content/ModernAsyncTask;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "d",
                 "a",
                 "a",
                 "a",
                 "b",
                 "d"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i"
             ]
         },
         "Landroid/support/v4/content/n;": {
             "methods": [
                 "<init>",
                 "c",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "toString"
             ],
             "fields": [
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t"
             ]
         },
         "Landroid/support/v4/content/a;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "d"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/content/b;": {
             "methods": [
                 "<init>",
                 "e",
                 "a",
                 "a",
                 "b",
                 "run"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "e"
             ]
         },
         "Landroid/support/v4/content/d;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/e;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/f;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/g;": {
             "methods": [
                 "<init>",
                 "a",
                 "b",
                 "o",
                 "a",
                 "a",
                 "b",
                 "d",
                 "e",
                 "f",
                 "g"
             ],
             "fields": [
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l"
             ]
         },
         "Landroid/support/v4/content/h;": {
             "methods": [
                 "<clinit>",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/i;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/j;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/k;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/l;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/m;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/content/o;": {
             "methods": [
                 "<init>",
                 "deliverSelfNotifications",
                 "onChange"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/q$1;": {
             "methods": [
                 "<init>",
                 "handleMessage"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/content/q;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a"
             ],
             "fields": [
                 "f",
                 "g",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/content/r;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/content/s;": {
             "methods": [
                 "<init>",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/content/t;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/content/u;": {
             "methods": [
                 "<init>",
                 "<init>",
                 "handleMessage"
             ],
             "fields": []
         },
         "Landroid/support/v4/d/a;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/d/b;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/d/c;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/d/d;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/d/e;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/d/f;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/e/g;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b",
                 "c",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f"
             ],
             "fields": [
                 "b",
                 "c",
                 "d"
             ]
         },
         "Landroid/support/v4/e/a$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/e/p;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "e",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "clear",
                 "containsKey",
                 "containsValue",
                 "d",
                 "equals",
                 "get",
                 "hashCode",
                 "isEmpty",
                 "put",
                 "remove",
                 "size",
                 "toString"
             ],
             "fields": [
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h"
             ]
         },
         "Landroid/support/v4/e/a;": {
             "methods": [
                 "<init>",
                 "a",
                 "entrySet",
                 "keySet",
                 "putAll",
                 "values"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/e/b;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c"
             ],
             "fields": [
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/e/c;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/e/d;": {
             "methods": [
                 "<init>",
                 "a",
                 "close",
                 "flush",
                 "write"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/e/e;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "c",
                 "d",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "clone",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/e/f;": {
             "methods": [
                 "<init>",
                 "b",
                 "a",
                 "a",
                 "a",
                 "b",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g"
             ]
         },
         "Landroid/support/v4/e/h;": {
             "methods": [
                 "<init>",
                 "hasNext",
                 "next",
                 "remove"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/e/i;": {
             "methods": [
                 "<init>",
                 "add",
                 "addAll",
                 "clear",
                 "contains",
                 "containsAll",
                 "equals",
                 "hashCode",
                 "isEmpty",
                 "iterator",
                 "remove",
                 "removeAll",
                 "retainAll",
                 "size",
                 "toArray",
                 "toArray"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/e/j;": {
             "methods": [
                 "<init>",
                 "add",
                 "addAll",
                 "clear",
                 "contains",
                 "containsAll",
                 "equals",
                 "hashCode",
                 "isEmpty",
                 "iterator",
                 "remove",
                 "removeAll",
                 "retainAll",
                 "size",
                 "toArray",
                 "toArray"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/e/k;": {
             "methods": [
                 "<init>",
                 "a",
                 "equals",
                 "getKey",
                 "getValue",
                 "hasNext",
                 "hashCode",
                 "next",
                 "remove",
                 "setValue",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d"
             ]
         },
         "Landroid/support/v4/e/l;": {
             "methods": [
                 "<init>",
                 "add",
                 "addAll",
                 "clear",
                 "contains",
                 "containsAll",
                 "isEmpty",
                 "iterator",
                 "remove",
                 "removeAll",
                 "retainAll",
                 "size",
                 "toArray",
                 "toArray"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/e/m;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/e/n;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/e/o;": {
             "methods": [
                 "<init>",
                 "b",
                 "a",
                 "a"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/e/q;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "c",
                 "d",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "clone",
                 "d",
                 "e",
                 "f",
                 "toString"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/e/r;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/co;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/view/ActionBarTabStrip;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "d",
                 "a",
                 "onAttachedToWindow",
                 "onDetachedFromWindow"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o"
             ]
         },
         "Landroid/support/v4/view/PagerTabStrip$1;": {
             "methods": [
                 "<init>",
                 "onClick"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/PagerTabStrip$2;": {
             "methods": [
                 "<init>",
                 "onClick"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/PagerTitleStrip;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "onAttachedToWindow",
                 "onDetachedFromWindow",
                 "onLayout",
                 "onMeasure",
                 "requestLayout"
             ],
             "fields": [
                 "n",
                 "o",
                 "q",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "p"
             ]
         },
         "Landroid/support/v4/view/PagerTabStrip;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "onDraw",
                 "onTouchEvent",
                 "setBackgroundColor",
                 "setBackgroundDrawable",
                 "setBackgroundResource",
                 "setPadding"
             ],
             "fields": [
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v"
             ]
         },
         "Landroid/support/v4/view/PagerTitleStripHacked;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "onAttachedToWindow",
                 "onDetachedFromWindow",
                 "onLayout",
                 "onMeasure",
                 "requestLayout"
             ],
             "fields": [
                 "b",
                 "l",
                 "a",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k"
             ]
         },
         "Landroid/support/v4/view/ViewPager$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "compare"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ViewPager$2;": {
             "methods": [
                 "<init>",
                 "getInterpolation"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ViewPager$3;": {
             "methods": [
                 "<init>",
                 "run"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/ViewPager$LayoutParams;": {
             "methods": [
                 "<init>",
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f"
             ]
         },
         "Landroid/support/v4/view/ViewPager$SavedState$1;": {
             "methods": [
                 "<init>",
                 "b",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ViewPager$SavedState;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "toString",
                 "writeToParcel"
             ],
             "fields": [
                 "CREATOR",
                 "a",
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/view/ViewPager;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "addFocusables",
                 "addTouchables",
                 "addView",
                 "b",
                 "b",
                 "canScrollHorizontally",
                 "checkLayoutParams",
                 "computeScroll",
                 "dispatchKeyEvent",
                 "dispatchPopulateAccessibilityEvent",
                 "draw",
                 "drawableStateChanged",
                 "generateDefaultLayoutParams",
                 "generateLayoutParams",
                 "generateLayoutParams",
                 "getChildDrawingOrder",
                 "onAttachedToWindow",
                 "onDetachedFromWindow",
                 "onDraw",
                 "onInterceptTouchEvent",
                 "onLayout",
                 "onMeasure",
                 "onRequestFocusInDescendants",
                 "onRestoreInstanceState",
                 "onSaveInstanceState",
                 "onSizeChanged",
                 "onTouchEvent",
                 "removeView",
                 "verifyDrawable"
             ],
             "fields": [
                 "ag",
                 "e",
                 "g",
                 "h",
                 "A",
                 "B",
                 "C",
                 "D",
                 "E",
                 "F",
                 "G",
                 "H",
                 "I",
                 "J",
                 "K",
                 "L",
                 "M",
                 "N",
                 "O",
                 "P",
                 "Q",
                 "R",
                 "S",
                 "T",
                 "U",
                 "V",
                 "W",
                 "a",
                 "aa",
                 "ab",
                 "ac",
                 "ad",
                 "ae",
                 "af",
                 "ah",
                 "ai",
                 "b",
                 "c",
                 "d",
                 "f",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v",
                 "w",
                 "x",
                 "y",
                 "z"
             ]
         },
         "Landroid/support/v4/view/a/a;": {
             "methods": [
                 "<clinit>",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/aa$1;": {
             "methods": [
                 "<init>",
                 "createAccessibilityNodeInfo",
                 "findAccessibilityNodeInfosByText",
                 "findFocus",
                 "performAction"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/aa;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ab;": {
             "methods": [
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ac;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "equals",
                 "hashCode"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/a/af;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ah;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ad;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ae;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ag;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/ai;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/d;": {
             "methods": [],
             "fields": []
         },
         "Landroid/support/v4/view/a/c;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/b;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/e;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "c",
                 "c",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "equals",
                 "f",
                 "f",
                 "g",
                 "g",
                 "h",
                 "h",
                 "hashCode",
                 "i",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "toString"
             ],
             "fields": [
                 "b",
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/h;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "g",
                 "h",
                 "h",
                 "i",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/l;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "g",
                 "h",
                 "h",
                 "i",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/g;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/i;": {
             "methods": [
                 "<init>",
                 "b",
                 "h",
                 "i",
                 "r",
                 "s",
                 "t"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/j;": {
             "methods": [
                 "<init>",
                 "u"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/k;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/f;": {
             "methods": [
                 "<init>",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/m;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/n;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/o;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/p;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/q;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/r;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/s;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/t;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "<init>",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": [
                 "b",
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/u;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/z;": {
             "methods": [
                 "a",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/v$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "b",
                 "c"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/a/x;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/v;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/w$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/a/w;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a/y$1;": {
             "methods": [
                 "<init>",
                 "createAccessibilityNodeInfo",
                 "findAccessibilityNodeInfosByText",
                 "performAction"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/a/y;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/a;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "c",
                 "a",
                 "a",
                 "a",
                 "b",
                 "d"
             ],
             "fields": [
                 "b",
                 "c",
                 "a"
             ]
         },
         "Landroid/support/v4/view/aa;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/ab;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ac;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ad;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ae;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/af;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/aj;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ag;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ah;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ai;": {
             "methods": [
                 "<init>",
                 "b",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ak;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/al;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/am;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/an;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "c",
                 "d"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/aq;": {
             "methods": [
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ao;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ap;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ar;": {
             "methods": [
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/as;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cr;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cs;": {
             "methods": [
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/au;": {
             "methods": [
                 "<init>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "onChanged"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/av;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/aw;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ax;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ay;": {
             "methods": [
                 "<init>",
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "b",
                 "onChanged"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/az;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/g;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/b$1;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": [
                 "a",
                 "b"
             ]
         },
         "Landroid/support/v4/view/c;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/e;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/b;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ba;": {
             "methods": [
                 "<init>",
                 "getTransformation"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/bb;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/be;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bc;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bd;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bf;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bg;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/bq;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bi;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "b",
                 "c",
                 "c",
                 "c",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "f",
                 "g",
                 "h",
                 "i",
                 "j",
                 "k",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "q",
                 "r",
                 "s",
                 "t",
                 "u",
                 "v"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/bj;": {
             "methods": [
                 "<init>",
                 "a",
                 "k"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bk;": {
             "methods": [
                 "<init>",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bl;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h",
                 "l",
                 "m",
                 "n",
                 "o",
                 "p",
                 "v"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bm;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "a",
                 "b",
                 "c",
                 "s"
             ],
             "fields": [
                 "b",
                 "c"
             ]
         },
         "Landroid/support/v4/view/bn;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "a",
                 "c",
                 "d",
                 "e",
                 "f",
                 "j",
                 "q",
                 "r",
                 "u"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bo;": {
             "methods": [
                 "<init>",
                 "a",
                 "i",
                 "t"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bp;": {
             "methods": [
                 "<init>",
                 "c"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bh;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/br$1;": {
             "methods": [
                 "<init>",
                 "onApplyWindowInsets"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/br;": {
             "methods": [
                 "a",
                 "a",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bs;": {
             "methods": [
                 "a",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/bt;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bu;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "b",
                 "c",
                 "c",
                 "d",
                 "d",
                 "e",
                 "e",
                 "f",
                 "g",
                 "h"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bv;": {
             "methods": [
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bw;": {
             "methods": [
                 "a",
                 "a",
                 "a",
                 "a",
                 "a",
                 "b",
                 "c",
                 "d",
                 "e",
                 "f",
                 "g",
                 "h"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bx;": {
             "methods": [
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/by;": {
             "methods": [
                 "<clinit>",
                 "a",
                 "b"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/cd;": {
             "methods": [
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/bz;": {
             "methods": [
                 "<init>",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ca;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cb;": {
             "methods": [
                 "<init>",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cc;": {
             "methods": [
                 "<init>",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ce;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cf;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cg;": {
             "methods": [
                 "<clinit>",
                 "a"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/ck;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cm;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ci;": {
             "methods": [
                 "<init>",
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cj;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cl;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/ch;": {
             "methods": [
                 "<init>"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cn;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cp;": {
             "methods": [
                 "<init>"
             ],
             "fields": [
                 "a",
                 "b",
                 "c",
                 "d",
                 "e"
             ]
         },
         "Landroid/support/v4/view/cq;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "a",
                 "d"
             ],
             "fields": [
                 "b"
             ]
         },
         "Landroid/support/v4/view/ct;": {
             "methods": [
                 "a"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cu;": {
             "methods": [
                 "<init>",
                 "<init>",
                 "onChanged",
                 "onInvalidated"
             ],
             "fields": [
                 "a"
             ]
         },
         "Landroid/support/v4/view/cv;": {
             "methods": [
                 "<init>",
                 "a",
                 "a",
                 "b"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cw;": {
             "methods": [
                 "<init>",
                 "a",
                 "compare"
             ],
             "fields": []
         },
         "Landroid/support/v4/view/cx;": {
             "methods": [
                 "<clinit>",
                 "<init>",
                 "a",
                 "b",
                 "c",
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ClassDetails -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ClassDetails -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

# categories
CAT_CLASS_DETAILS = "class details"
CAT_METHODS = "methods"
CAT_FIELDS = "fields"

class ClassDetails(AndroScript):
    ''' Retrieve all classes and their methods and fields '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        res = self.res

        # dvm stuff
        # list<ClassDefItem>
        classes = dalvik_vm_format.get_classes()

        # run over classes
        for c in classes:
            ROOT_CAT = (CAT_CLASS_DETAILS, c.name)
            res.register_keys([CAT_METHODS, CAT_FIELDS], *ROOT_CAT)

            # list<EncodedMethod>
            methods = c.get_methods()
            res.log(CAT_METHODS, [mn.name for mn in methods], *ROOT_CAT)

            # list<EncodedField>
            fields = c.get_fields()
            res.log(CAT_FIELDS, [fn.name for fn in fields], *ROOT_CAT)

    ############################################################
    #---Options
    ############################################################

    def needs_dalvik_vm_format(self):
        return True

if __name__ == '__main__':
    for res in AndroScript.test(ClassDetails, ["../../../../testenv/apks/a2dp.Vol.apk"]):
        print res
        print res.write_to_json()

ClassInfos

This is an autogenerated documentation file for the script: ClassInfos

Run it
$ ./androanalyze scripts_builtin/ClassInfos.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ClassInfos -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ClassInfos",
         "sha256": "2bb0c0f793cc7447edd429ed97079edeaa86bef2e248b2c85fc50dd344d91c89",
         "analysis date": "2015-06-22T20:22:51.559000",
         "version": "0.1",
         "time script": 0.1976008415222168,
         "time androguard open": 37.81527519226074,
         "time total": 38.01287603378296
     },
     "ChainedScript": {
         "scripts": [
             "ClassListing",
             "ClassDetails"
         ],
         "successful": [
             "ClassListing",
             "ClassDetails"
         ],
         "failures": []
     },
     "classes": [
         "Landroid/support/v4/a/a/a;",
         "Landroid/support/v4/a/a/c;",
         "Landroid/support/v4/a/a/b;",
         "Landroid/support/v4/a/a/d;",
         "Landroid/support/v4/a/a/e;",
         "Landroid/support/v4/a/a/f;",
         "Landroid/support/v4/a/a/g;",
         "Landroid/support/v4/a/a/h;",
         "Landroid/support/v4/a/a/i;",
         "Landroid/support/v4/app/BackStackState$1;",
         "Landroid/support/v4/app/BackStackState;",
         "Landroid/support/v4/app/k;",
         "Landroid/support/v4/app/Fragment$1;",
         "Landroid/support/v4/app/Fragment$InstantiationException;",
         "Landroid/support/v4/app/Fragment$SavedState$1;",
         "Landroid/support/v4/app/Fragment$SavedState;",
         "Landroid/support/v4/app/Fragment;",
         "Landroid/support/v4/app/FragmentManagerState$1;",
         "Landroid/support/v4/app/FragmentManagerState;",
         "Landroid/support/v4/app/FragmentState$1;",
         "Landroid/support/v4/app/FragmentState;",
         "Landroid/support/v4/app/FragmentTabHost$SavedState$1;",
         "Landroid/support/v4/app/FragmentTabHost$SavedState;",
         "Landroid/support/v4/app/FragmentTabHost;",
         "Landroid/support/v4/app/SuperNotCalledException;",
         "Landroid/support/v4/content/c;",
         "Landroid/support/v4/app/a;",
         "Landroid/support/v4/app/aa;",
         "Landroid/support/v4/app/ab;",
         "Landroid/support/v4/app/ac;",
         "Landroid/support/v4/app/ad;",
         "Landroid/support/v4/app/ae;",
         "Landroid/support/v4/app/af;",
         "Landroid/support/v4/app/ag;",
         "Landroid/support/v4/app/ah;",
         "Landroid/support/v4/app/ai;",
         "Landroid/support/v4/app/be;",
         "Landroid/support/v4/app/aj$1;",
         "Landroid/support/v4/app/bd;",
         "Landroid/support/v4/app/aj;",
         "Landroid/support/v4/app/ax;",
         "Landroid/support/v4/app/ak;",
         "Landroid/support/v4/app/al;",
         "Landroid/support/v4/app/am;",
         "Landroid/support/v4/app/an;",
         "Landroid/support/v4/app/ao;",
         "Landroid/support/v4/app/ar;",
         "Landroid/support/v4/app/av;",
         "Landroid/support/v4/app/aw;",
         "Landroid/support/v4/app/ap;",
         "Landroid/support/v4/app/aq;",
         "Landroid/support/v4/app/as;",
         "Landroid/support/v4/app/at;",
         "Landroid/support/v4/app/au;",
         "Landroid/support/v4/app/ay;",
         "Landroid/support/v4/app/az;",
         "Landroid/support/v4/app/b;",
         "Landroid/support/v4/app/ba;",
         "Landroid/support/v4/app/bb;",
         "Landroid/support/v4/app/bc;",
         "Landroid/support/v4/app/bf;",
         "Landroid/support/v4/app/bg;",
         "Landroid/support/v4/app/bh;",
         "Landroid/support/v4/app/bi;",
         "Landroid/support/v4/app/bj;",
         "Landroid/support/v4/app/bk;",
         "Landroid/support/v4/app/bl;",
         "Landroid/support/v4/app/bu;",
         "Landroid/support/v4/app/bm$1;",
         "Landroid/support/v4/app/bt;",
         "Landroid/support/v4/app/bm;",
         "Landroid/support/v4/app/bn;",
         "Landroid/support/v4/app/bo;",
         "Landroid/support/v4/app/bp;",
         "Landroid/support/v4/app/bq;",
         "Landroid/support/v4/app/br;",
         "Landroid/support/v4/app/bs;",
         "Landroid/support/v4/app/bv;",
         "Landroid/support/v4/app/bw;",
         "Landroid/support/v4/app/bx;",
         "Landroid/support/v4/app/by;",
         "Landroid/support/v4/app/bz;",
         "Landroid/support/v4/app/c;",
         "Landroid/support/v4/app/ca;",
         "Landroid/support/v4/app/cb;",
         "Landroid/support/v4/app/d;",
         "Landroid/support/v4/app/u;",
         "Landroid/support/v4/app/e$1;",
         "Landroid/support/v4/app/e$2;",
         "Landroid/support/v4/app/e$3;",
         "Landroid/support/v4/app/r;",
         "Landroid/support/v4/app/e;",
         "Landroid/support/v4/app/f;",
         "Landroid/support/v4/app/g;",
         "Landroid/support/v4/app/h;",
         "Landroid/support/v4/app/i$1;",
         "Landroid/support/v4/app/i$2;",
         "Landroid/support/v4/app/i;",
         "Landroid/support/v4/app/j;",
         "Landroid/support/v4/app/l;",
         "Landroid/support/v4/app/m;",
         "Landroid/support/v4/app/n$1;",
         "Landroid/support/v4/app/n$2;",
         "Landroid/support/v4/app/n$3;",
         "Landroid/support/v4/app/n$4;",
         "Landroid/support/v4/app/n;",
         "Landroid/support/v4/app/o;",
         "Landroid/support/v4/view/at;",
         "Landroid/support/v4/app/p;",
         "Landroid/support/v4/app/q;",
         "Landroid/support/v4/app/s$1;",
         "Landroid/support/v4/app/s$2;",
         "Landroid/support/v4/app/s$3;",
         "Landroid/support/v4/app/s$4;",
         "Landroid/support/v4/app/s;",
         "Landroid/support/v4/app/t;",
         "Landroid/support/v4/app/v$1;",
         "Landroid/support/v4/app/v$2;",
         "Landroid/support/v4/app/v;",
         "Landroid/support/v4/app/w;",
         "Landroid/support/v4/app/x;",
         "Landroid/support/v4/app/y;",
         "Landroid/support/v4/content/p;",
         "Landroid/support/v4/app/z;",
         "Landroid/support/v4/b/a/a;",
         "Landroid/support/v4/b/a/b;",
         "Landroid/support/v4/b/a/c;",
         "Landroid/support/v4/c/a;",
         "Landroid/support/v4/c/b;",
         "Landroid/support/v4/c/c;",
         "Landroid/support/v4/c/d;",
         "Landroid/support/v4/c/e;",
         "Landroid/support/v4/c/f;",
         "Landroid/support/v4/c/g;",
         "Landroid/support/v4/content/ModernAsyncTask$1;",
         "Landroid/support/v4/content/v;",
         "Landroid/support/v4/content/ModernAsyncTask$2;",
         "Landroid/support/v4/content/ModernAsyncTask$3;",
         "Landroid/support/v4/content/ModernAsyncTask$4;",
         "Landroid/support/v4/content/ModernAsyncTask$Status;",
         "Landroid/support/v4/content/ModernAsyncTask;",
         "Landroid/support/v4/content/n;",
         "Landroid/support/v4/content/a;",
         "Landroid/support/v4/content/b;",
         "Landroid/support/v4/content/d;",
         "Landroid/support/v4/content/e;",
         "Landroid/support/v4/content/f;",
         "Landroid/support/v4/content/g;",
         "Landroid/support/v4/content/h;",
         "Landroid/support/v4/content/i;",
         "Landroid/support/v4/content/j;",
         "Landroid/support/v4/content/k;",
         "Landroid/support/v4/content/l;",
         "Landroid/support/v4/content/m;",
         "Landroid/support/v4/content/o;",
         "Landroid/support/v4/content/q$1;",
         "Landroid/support/v4/content/q;",
         "Landroid/support/v4/content/r;",
         "Landroid/support/v4/content/s;",
         "Landroid/support/v4/content/t;",
         "Landroid/support/v4/content/u;",
         "Landroid/support/v4/d/a;",
         "Landroid/support/v4/d/b;",
         "Landroid/support/v4/d/c;",
         "Landroid/support/v4/d/d;",
         "Landroid/support/v4/d/e;",
         "Landroid/support/v4/d/f;",
         "Landroid/support/v4/e/g;",
         "Landroid/support/v4/e/a$1;",
         "Landroid/support/v4/e/p;",
         "Landroid/support/v4/e/a;",
         "Landroid/support/v4/e/b;",
         "Landroid/support/v4/e/c;",
         "Landroid/support/v4/e/d;",
         "Landroid/support/v4/e/e;",
         "Landroid/support/v4/e/f;",
         "Landroid/support/v4/e/h;",
         "Landroid/support/v4/e/i;",
         "Landroid/support/v4/e/j;",
         "Landroid/support/v4/e/k;",
         "Landroid/support/v4/e/l;",
         "Landroid/support/v4/e/m;",
         "Landroid/support/v4/e/n;",
         "Landroid/support/v4/e/o;",
         "Landroid/support/v4/e/q;",
         "Landroid/support/v4/e/r;",
         "Landroid/support/v4/view/co;",
         "Landroid/support/v4/view/ActionBarTabStrip;",
         "Landroid/support/v4/view/PagerTabStrip$1;",
         "Landroid/support/v4/view/PagerTabStrip$2;",
         "Landroid/support/v4/view/PagerTitleStrip;",
         "Landroid/support/v4/view/PagerTabStrip;",
         "Landroid/support/v4/view/PagerTitleStripHacked;",
         "Landroid/support/v4/view/ViewPager$1;",
         "Landroid/support/v4/view/ViewPager$2;",
         "Landroid/support/v4/view/ViewPager$3;",
         "Landroid/support/v4/view/ViewPager$LayoutParams;",
         "Landroid/support/v4/view/ViewPager$SavedState$1;",
         "Landroid/support/v4/view/ViewPager$SavedState;",
         "Landroid/support/v4/view/ViewPager;",
         "Landroid/support/v4/view/a/a;",
         "Landroid/support/v4/view/a/aa$1;",
         "Landroid/support/v4/view/a/aa;",
         "Landroid/support/v4/view/a/ab;",
         "Landroid/support/v4/view/a/ac;",
         "Landroid/support/v4/view/a/af;",
         "Landroid/support/v4/view/a/ah;",
         "Landroid/support/v4/view/a/ad;",
         "Landroid/support/v4/view/a/ae;",
         "Landroid/support/v4/view/a/ag;",
         "Landroid/support/v4/view/a/ai;",
         "Landroid/support/v4/view/a/d;",
         "Landroid/support/v4/view/a/c;",
         "Landroid/support/v4/view/a/b;",
         "Landroid/support/v4/view/a/e;",
         "Landroid/support/v4/view/a/h;",
         "Landroid/support/v4/view/a/l;",
         "Landroid/support/v4/view/a/g;",
         "Landroid/support/v4/view/a/i;",
         "Landroid/support/v4/view/a/j;",
         "Landroid/support/v4/view/a/k;",
         "Landroid/support/v4/view/a/f;",
         "Landroid/support/v4/view/a/m;",
         "Landroid/support/v4/view/a/n;",
         "Landroid/support/v4/view/a/o;",
         "Landroid/support/v4/view/a/p;",
         "Landroid/support/v4/view/a/q;",
         "Landroid/support/v4/view/a/r;",
         "Landroid/support/v4/view/a/s;",
         "Landroid/support/v4/view/a/t;",
         "Landroid/support/v4/view/a/u;",
         "Landroid/support/v4/view/a/z;",
         "Landroid/support/v4/view/a/v$1;",
         "Landroid/support/v4/view/a/x;",
         "Landroid/support/v4/view/a/v;",
         "Landroid/support/v4/view/a/w$1;",
         "Landroid/support/v4/view/a/w;",
         "Landroid/support/v4/view/a/y$1;",
         "Landroid/support/v4/view/a/y;",
         "Landroid/support/v4/view/a;",
         "Landroid/support/v4/view/aa;",
         "Landroid/support/v4/view/ab;",
         "Landroid/support/v4/view/ac;",
         "Landroid/support/v4/view/ad;",
         "Landroid/support/v4/view/ae;",
         "Landroid/support/v4/view/af;",
         "Landroid/support/v4/view/aj;",
         "Landroid/support/v4/view/ag;",
         "Landroid/support/v4/view/ah;",
         "Landroid/support/v4/view/ai;",
         "Landroid/support/v4/view/ak;",
         "Landroid/support/v4/view/al;",
         "Landroid/support/v4/view/am;",
         "Landroid/support/v4/view/an;",
         "Landroid/support/v4/view/aq;",
         "Landroid/support/v4/view/ao;",
         "Landroid/support/v4/view/ap;",
         "Landroid/support/v4/view/ar;",
         "Landroid/support/v4/view/as;",
         "Landroid/support/v4/view/cr;",
         "Landroid/support/v4/view/cs;",
         "Landroid/support/v4/view/au;",
         "Landroid/support/v4/view/av;",
         "Landroid/support/v4/view/aw;",
         "Landroid/support/v4/view/ax;",
         "Landroid/support/v4/view/ay;",
         "Landroid/support/v4/view/az;",
         "Landroid/support/v4/view/g;",
         "Landroid/support/v4/view/b$1;",
         "Landroid/support/v4/view/c;",
         "Landroid/support/v4/view/e;",
         "Landroid/support/v4/view/b;",
         "Landroid/support/v4/view/ba;",
         "Landroid/support/v4/view/bb;",
         "Landroid/support/v4/view/be;",
         "Landroid/support/v4/view/bc;",
         "Landroid/support/v4/view/bd;",
         "Landroid/support/v4/view/bf;",
         "Landroid/support/v4/view/bg;",
         "Landroid/support/v4/view/bq;",
         "Landroid/support/v4/view/bi;",
         "Landroid/support/v4/view/bj;",
         "Landroid/support/v4/view/bk;",
         "Landroid/support/v4/view/bl;",
         "Landroid/support/v4/view/bm;",
         "Landroid/support/v4/view/bn;",
         "Landroid/support/v4/view/bo;",
         "Landroid/support/v4/view/bp;",
         "Landroid/support/v4/view/bh;",
         "Landroid/support/v4/view/br$1;",
         "Landroid/support/v4/view/br;",
         "Landroid/support/v4/view/bs;",
         "Landroid/support/v4/view/bt;",
         "Landroid/support/v4/view/bu;",
         "Landroid/support/v4/view/bv;",
         "Landroid/support/v4/view/bw;",
         "Landroid/support/v4/view/bx;",
         "Landroid/support/v4/view/by;",
         "Landroid/support/v4/view/cd;",
         "Landroid/support/v4/view/bz;",
         "Landroid/support/v4/view/ca;",
         "Landroid/support/v4/view/cb;",
         "Landroid/support/v4/view/cc;",
         "Landroid/support/v4/view/ce;",
         "Landroid/support/v4/view/cf;",
         "Landroid/support/v4/view/cg;",
         "Landroid/support/v4/view/ck;",
         "Landroid/support/v4/view/cm;",
         "Landroid/support/v4/view/ci;",
         "Landroid/support/v4/view/cj;",
         "Landroid/support/v4/view/cl;",
         "Landroid/support/v4/view/ch;",
         "Landroid/support/v4/view/cn;",
         "Landroid/support/v4/view/cp;",
         "Landroid/support/v4/view/cq;",
         "Landroid/support/v4/view/ct;",
         "Landroid/support/v4/view/cu;",
         "Landroid/support/v4/view/cv;",
         "Landroid/support/v4/view/cw;",
         "Landroid/support/v4/view/cx;",
         "Landroid/support/v4/view/df;",
         "Landroid/support/v4/view/cy;",
         "Landroid/support/v4/view/cz;",
         "Landroid/support/v4/view/i;",
         "Landroid/support/v4/view/d$1;",
         "Landroid/support/v4/view/d;",
         "Landroid/support/v4/view/da;",
         "Landroid/support/v4/view/dj;",
         "Landroid/support/v4/view/db;",
         "Landroid/support/v4/view/dd;",
         "Landroid/support/v4/view/dc;",
         "Landroid/support/v4/view/de;",
         "Landroid/support/v4/view/dg$1;",
         "Landroid/support/v4/view/dg;",
         "Landroid/support/v4/view/dh$1;",
         "Landroid/support/v4/view/dh;",
         "Landroid/support/v4/view/di$1;",
         "Landroid/support/v4/view/di;",
         "Landroid/support/v4/view/dk;",
         "Landroid/support/v4/view/dl;",
         "Landroid/support/v4/view/dm;",
         "Landroid/support/v4/view/dn;",
         "Landroid/support/v4/view/f$1;",
         "Landroid/support/v4/view/f;",
         "Landroid/support/v4/view/h$1;",
         "Landroid/support/v4/view/h;",
         "Landroid/support/v4/view/j;",
         "Landroid/support/v4/view/k;",
         "Landroid/support/v4/view/l;",
         "Landroid/support/v4/view/m;",
         "Landroid/support/v4/view/n;",
         "Landroid/support/v4/view/o;",
         "Landroid/support/v4/view/p;",
         "Landroid/support/v4/view/q;",
         "Landroid/support/v4/view/r;",
         "Landroid/support/v4/view/s;",
         "Landroid/support/v4/view/t;",
         "Landroid/support/v4/view/x;",
         "Landroid/support/v4/view/u;",
         "Landroid/support/v4/view/v;",
         "Landroid/support/v4/view/w;",
         "Landroid/support/v4/view/y;",
         "Landroid/support/v4/view/z;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar$1;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar$2;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar;",
         "Landroid/support/v4/widget/DrawerLayout$LayoutParams;",
         "Landroid/support/v4/widget/DrawerLayout$SavedState$1;",
         "Landroid/support/v4/widget/DrawerLayout$SavedState;",
         "Landroid/support/v4/widget/s;",
         "Landroid/support/v4/widget/DrawerLayout;",
         "Landroid/support/v4/widget/SlidingPaneLayout$LayoutParams;",
         "Landroid/support/v4/widget/SlidingPaneLayout$SavedState$1;",
         "Landroid/support/v4/widget/SlidingPaneLayout$SavedState;",
         "Landroid/support/v4/widget/SlidingPaneLayout;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$1;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$2;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$3;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$4;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$5;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$6;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$7;",
         "Landroid/support/v4/widget/SwipeRefreshLayout;",
         "Landroid/support/v4/widget/a;",
         "Landroid/support/v4/widget/aa;",
         "Landroid/support/v4/widget/ab;",
         "Landroid/support/v4/widget/ac;",
         "Landroid/support/v4/widget/ad;",
         "Landroid/support/v4/widget/ag;",
         "Landroid/support/v4/widget/ae;",
         "Landroid/support/v4/widget/af;",
         "Landroid/support/v4/widget/ah;",
         "Landroid/support/v4/widget/i;",
         "Landroid/support/v4/widget/f;",
         "Landroid/support/v4/widget/ai;",
         "Landroid/support/v4/widget/aj;",
         "Landroid/support/v4/widget/ak;",
         "Landroid/support/v4/widget/al;",
         "Landroid/support/v4/widget/am;",
         "Landroid/support/v4/widget/an;",
         "Landroid/support/v4/widget/ao;",
         "Landroid/support/v4/widget/ap;",
         "Landroid/support/v4/widget/aq;",
         "Landroid/support/v4/widget/ar;",
         "Landroid/support/v4/widget/ba;",
         "Landroid/support/v4/widget/as;",
         "Landroid/support/v4/widget/at;",
         "Landroid/support/v4/widget/au;",
         "Landroid/support/v4/widget/av;",
         "Landroid/support/v4/widget/aw;",
         "Landroid/support/v4/widget/ax;",
         "Landroid/support/v4/widget/ay;",
         "Landroid/support/v4/widget/az$1;",
         "Landroid/support/v4/widget/az$2;",
         "Landroid/support/v4/widget/az;",
         "Landroid/support/v4/widget/b;",
         "Landroid/support/v4/widget/c;",
         "Landroid/support/v4/widget/d;",
         "Landroid/support/v4/widget/e;",
         "Landroid/support/v4/widget/g;",
         "Landroid/support/v4/widget/h;",
         "Landroid/support/v4/widget/j;",
         "Landroid/support/v4/widget/k;",
         "Landroid/support/v4/widget/l;",
         "Landroid/support/v4/widget/m;",
         "Landroid/support/v4/widget/n;",
         "Landroid/support/v4/widget/o;",
         "Landroid/support/v4/widget/p$1;",
         "Landroid/support/v4/widget/p;",
         "Landroid/support/v4/widget/q;",
         "Landroid/support/v4/widget/r;",
         "Landroid/support/v4/widget/t;",
         "Landroid/support/v4/widget/w;",
         "Landroid/support/v4/widget/u;",
         "Landroid/support/v4/widget/v;",
         "Landroid/support/v4/widget/x;",
         "Landroid/support/v4/widget/y;",
         "Landroid/support/v4/widget/z$1;",
         "Landroid/support/v4/widget/z$2;",
         "Landroid/support/v4/widget/z$3;",
         "Landroid/support/v4/widget/z$4;",
         "Landroid/support/v4/widget/z$5;",
         "Landroid/support/v4/widget/z;",
         "Landroid/support/v7/a/a;",
         "Landroid/support/v7/a/b;",
         "Landroid/support/v7/a/c;",
         "Landroid/support/v7/a/d;",
         "Landroid/support/v7/a/e;",
         "Landroid/support/v7/a/f;",
         "Landroid/support/v7/a/g;",
         "Landroid/support/v7/a/h;",
         "Landroid/support/v7/a/i;",
         "Landroid/support/v7/a/j;",
         "Landroid/support/v7/a/k;",
         "Landroid/support/v7/a/l;",
         "Landroid/support/v7/app/ActionBar$LayoutParams;",
         "Landroid/support/v7/app/ActionBar;",
         "Landroid/support/v7/app/a;",
         "Landroid/support/v7/app/s;",
         "Landroid/support/v7/app/b;",
         "Landroid/support/v7/internal/a/f;",
         "Landroid/support/v7/app/c$1;",
         "Landroid/support/v7/app/c;",
         "Landroid/support/v7/app/l;",
         "Landroid/support/v7/app/d;",
         "Landroid/support/v7/app/e$1;",
         "Landroid/support/v7/app/e$2;",
         "Landroid/support/v7/internal/widget/x;",
         "Landroid/support/v7/app/e$3;",
         "Landroid/support/v7/app/e$4;",
         "Landroid/support/v7/internal/view/menu/j;",
         "Landroid/support/v7/app/e;",
         "Landroid/support/v7/internal/view/menu/w;",
         "Landroid/support/v7/app/f;",
         "Landroid/support/v7/b/b;",
         "Landroid/support/v7/app/g;",
         "Landroid/support/v7/app/h;",
         "Landroid/support/v7/app/i;",
         "Landroid/support/v7/internal/widget/z;",
         "Landroid/support/v7/app/j;",
         "Landroid/support/v7/app/k;",
         "Landroid/support/v7/app/m;",
         "Landroid/support/v7/app/x;",
         "Landroid/support/v7/app/o;",
         "Landroid/support/v7/app/n;",
         "Landroid/support/v7/app/p;",
         "Landroid/support/v7/app/q;",
         "Landroid/support/v7/app/r;",
         "Landroid/support/v7/app/t;",
         "Landroid/support/v7/app/u;",
         "Landroid/support/v7/app/v;",
         "Lcom/spotify/mobile/android/util/ui/d;",
         "Landroid/support/v7/app/w;",
         "Landroid/support/v7/b/a;",
         "Landroid/support/v7/b/c;",
         "Landroid/support/v7/internal/a/a$1;",
         "Landroid/support/v7/widget/br;",
         "Landroid/support/v7/internal/a/a$2;",
         "Landroid/support/v7/internal/a/a;",
         "Landroid/support/v7/internal/a/b;",
         "Landroid/support/v7/internal/a/c;",
         "Landroid/support/v7/internal/a/d;",
         "Landroid/support/v7/widget/bs;",
         "Landroid/support/v7/internal/a/e;",
         "Landroid/support/v7/internal/a/g$1;",
         "Landroid/support/v7/internal/a/g$2;",
         "Landroid/support/v7/internal/a/g$3;",
         "Landroid/support/v7/internal/widget/f;",
         "Landroid/support/v7/internal/a/g;",
         "Landroid/support/v7/internal/a/h;",
         "Landroid/support/v7/internal/a;",
         "Landroid/support/v7/internal/b/a;",
         "Landroid/support/v7/internal/view/a;",
         "Landroid/support/v7/internal/view/b;",
         "Landroid/support/v7/internal/view/c;",
         "Landroid/support/v7/internal/view/d;",
         "Landroid/support/v7/internal/view/e;",
         "Landroid/support/v7/internal/view/f;",
         "Landroid/support/v7/internal/view/g;",
         "Landroid/support/v7/internal/view/h$1;",
         "Landroid/support/v7/internal/view/h;",
         "Landroid/support/v7/internal/widget/CompatTextView;",
         "Landroid/support/v7/internal/view/menu/y;",
         "Landroid/support/v7/widget/h;",
         "Landroid/support/v7/internal/view/menu/ActionMenuItemView;",
         "Landroid/support/v7/internal/view/menu/k;",
         "Landroid/support/v7/internal/view/menu/x;",
         "Landroid/support/v7/internal/view/menu/ExpandedMenuView;",
         "Landroid/support/v7/internal/view/menu/ListMenuItemView;",
         "Landroid/support/v7/internal/view/menu/a;",
         "Landroid/support/v7/internal/view/menu/f;",
         "Landroid/support/v7/internal/view/menu/e;",
         "Landroid/support/v7/internal/view/menu/aa;",
         "Landroid/support/v7/internal/view/menu/i;",
         "Landroid/support/v7/internal/view/menu/ab;",
         "Landroid/support/v7/internal/view/menu/ac;",
         "Landroid/support/v7/widget/ab;",
         "Landroid/support/v7/internal/view/menu/b;",
         "Landroid/support/v7/internal/view/menu/c;",
         "Landroid/support/v7/internal/view/menu/v;",
         "Landroid/support/v7/internal/view/menu/d;",
         "Landroid/support/v7/internal/view/menu/g;",
         "Landroid/support/v7/internal/view/menu/h;",
         "Landroid/support/v7/internal/view/menu/l;",
         "Landroid/support/v7/internal/view/menu/m$1;",
         "Landroid/support/v7/internal/view/menu/m;",
         "Landroid/support/v7/internal/view/menu/n;",
         "Landroid/support/v7/internal/view/menu/o$1;",
         "Landroid/support/v7/internal/view/menu/o;",
         "Landroid/support/v7/internal/view/menu/p;",
         "Landroid/support/v7/internal/view/menu/q;",
         "Landroid/support/v7/internal/view/menu/r;",
         "Landroid/support/v7/internal/view/menu/s;",
         "Landroid/support/v7/internal/view/menu/t;",
         "Landroid/support/v7/internal/view/menu/u;",
         "Landroid/support/v7/internal/view/menu/z;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat$SavedState$1;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat$SavedState;",
         "Landroid/support/v7/internal/widget/o;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat;",
         "Landroid/support/v7/internal/widget/ActionBarContainer;",
         "Landroid/support/v7/internal/widget/ActionBarContextView$1;",
         "Landroid/support/v7/internal/widget/a;",
         "Landroid/support/v7/internal/widget/ActionBarContextView;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$1;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$2;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$3;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$4;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$LayoutParams;",
         "Landroid/support/v7/internal/widget/t;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$1;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$2;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$3;",
         "Landroid/support/v7/internal/widget/ActivityChooserView;",
         "Landroid/support/v7/internal/widget/AppCompatPopupWindow;",
         "Landroid/support/v7/internal/widget/ContentFrameLayout;",
         "Landroid/support/v7/internal/widget/w;",
         "Landroid/support/v7/internal/widget/FitWindowsFrameLayout;",
         "Landroid/support/v7/internal/widget/FitWindowsLinearLayout;",
         "Landroid/support/v7/internal/widget/ListViewCompat;",
         "Landroid/support/v7/internal/widget/NativeActionModeAwareLayout;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$1;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$2;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$SavedState$1;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$SavedState;",
         "Landroid/support/v7/internal/widget/SpinnerCompat;",
         "Landroid/support/v7/internal/widget/TintCheckBox;",
         "Landroid/support/v7/internal/widget/TintCheckedTextView;",
         "Landroid/support/v7/internal/widget/TintEditText;",
         "Landroid/support/v7/internal/widget/TintImageView;",
         "Landroid/support/v7/internal/widget/TintRadioButton;",
         "Landroid/support/v7/internal/widget/TintSpinner;",
         "Landroid/support/v7/internal/widget/ViewStubCompat;",
         "Landroid/support/v7/internal/widget/aa;",
         "Landroid/support/v7/internal/widget/ab$1;",
         "Landroid/support/v7/internal/widget/q;",
         "Landroid/support/v7/internal/widget/ab;",
         "Landroid/support/v7/internal/widget/ac;",
         "Landroid/support/v7/widget/LinearLayoutCompat;",
         "Landroid/support/v7/internal/widget/ad;",
         "Landroid/support/v7/internal/widget/ah;",
         "Landroid/support/v7/internal/widget/ae;",
         "Landroid/support/v7/internal/widget/af;",
         "Landroid/support/v7/internal/widget/ag$1;",
         "Landroid/support/v7/widget/ListPopupWindow;",
         "Landroid/support/v7/internal/widget/ag;",
         "Landroid/support/v7/internal/widget/v;",
         "Landroid/support/v7/internal/widget/ai;",
         "Landroid/support/v7/internal/widget/aj;",
         "Landroid/support/v7/internal/widget/ak;",
         "Landroid/support/v7/internal/widget/al;",
         "Landroid/support/v7/internal/widget/am;",
         "Landroid/support/v7/internal/widget/an$1;",
         "Landroid/support/v7/internal/widget/an$2;",
         "Landroid/support/v7/internal/widget/an$3;",
         "Landroid/support/v7/internal/widget/u;",
         "Landroid/support/v7/internal/widget/an;",
         "Landroid/support/v7/internal/widget/ao;",
         "Landroid/support/v7/internal/widget/ap;",
         "Landroid/support/v7/internal/widget/b;",
         "Landroid/support/v7/internal/widget/c;",
         "Landroid/support/v7/internal/widget/d;",
         "Landroid/support/v7/internal/widget/e;",
         "Landroid/support/v7/internal/widget/g;",
         "Landroid/support/v7/internal/widget/h;",
         "Landroid/support/v7/internal/widget/i;",
         "Landroid/support/v7/internal/widget/j;",
         "Landroid/support/v7/internal/widget/k;",
         "Landroid/support/v7/internal/widget/l;",
         "Landroid/support/v7/internal/widget/m;",
         "Landroid/support/v7/internal/widget/n;",
         "Landroid/support/v7/internal/widget/p;",
         "Landroid/support/v7/internal/widget/r;",
         "Landroid/support/v7/internal/widget/s;",
         "Landroid/support/v7/internal/widget/y;",
         "Landroid/support/v7/widget/LinearLayoutCompat$LayoutParams;",
         "Landroid/support/v7/widget/ActionMenuView$LayoutParams;",
         "Landroid/support/v7/widget/ActionMenuView;",
         "Landroid/support/v7/widget/RecyclerView$LayoutParams;",
         "Landroid/support/v7/widget/GridLayoutManager$LayoutParams;",
         "Landroid/support/v7/widget/at;",
         "Landroid/support/v7/widget/LinearLayoutManager;",
         "Landroid/support/v7/widget/GridLayoutManager;",
         "Landroid/support/v7/widget/LinearLayoutManager$SavedState$1;",
         "Landroid/support/v7/widget/LinearLayoutManager$SavedState;",
         "Landroid/support/v7/widget/ListPopupWindow$1;",
         "Landroid/support/v7/widget/ListPopupWindow$2;",
         "Landroid/support/v7/widget/RecyclerView$1;",
         "Landroid/support/v7/widget/RecyclerView$2;",
         "Landroid/support/v7/widget/RecyclerView$3;",
         "Landroid/support/v7/widget/q;",
         "Landroid/support/v7/widget/RecyclerView$4;",
         "Landroid/support/v7/widget/m;",
         "Landroid/support/v7/widget/RecyclerView$5;",
         "Landroid/support/v7/widget/RecyclerView$SavedState$1;",
         "Landroid/support/v7/widget/RecyclerView$SavedState;",
         "Landroid/support/v7/widget/RecyclerView;",
         "Landroid/support/v7/widget/SearchView$10;",
         "Landroid/support/v7/widget/SearchView$11;",
         "Landroid/support/v7/widget/SearchView$12;",
         "Landroid/support/v7/widget/SearchView$1;",
         "Landroid/support/v7/widget/SearchView$2;",
         "Landroid/support/v7/widget/SearchView$3;",
         "Landroid/support/v7/widget/SearchView$4;",
         "Landroid/support/v7/widget/SearchView$5;",
         "Landroid/support/v7/widget/SearchView$6;",
         "Landroid/support/v7/widget/SearchView$7;",
         "Landroid/support/v7/widget/SearchView$8;",
         "Landroid/support/v7/widget/SearchView$9;",
         "Landroid/support/v7/widget/SearchView$SearchAutoComplete;",
         "Landroid/support/v7/widget/SearchView;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LayoutParams;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem$1;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$SavedState$1;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$SavedState;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager;",
         "Landroid/support/v7/widget/SwitchCompat$1;",
         "Landroid/support/v7/widget/SwitchCompat;",
         "Landroid/support/v7/widget/k;",
         "Landroid/support/v7/widget/Toolbar$1;",
         "Landroid/support/v7/widget/Toolbar$2;",
         "Landroid/support/v7/widget/Toolbar$3;",
         "Landroid/support/v7/widget/Toolbar$LayoutParams;",
         "Landroid/support/v7/widget/Toolbar$SavedState$1;",
         "Landroid/support/v7/widget/Toolbar$SavedState;",
         "Landroid/support/v7/widget/Toolbar;",
         "Landroid/support/v7/widget/a;",
         "Landroid/support/v7/widget/aa;",
         "Landroid/support/v7/widget/ac;",
         "Landroid/support/v7/widget/ad;",
         "Landroid/support/v7/widget/ae;",
         "Landroid/support/v7/widget/af;",
         "Landroid/support/v7/widget/ag;",
         "Landroid/support/v7/widget/ah;",
         "Landroid/support/v7/widget/ai;",
         "Landroid/support/v7/widget/aj;",
         "Landroid/support/v7/widget/ak;",
         "Landroid/support/v7/widget/al;",
         "Landroid/support/v7/widget/al$1;",
         "Landroid/support/v7/widget/al$2;",
         "Landroid/support/v7/widget/am;",
         "Landroid/support/v7/widget/an;",
         "Landroid/support/v7/widget/ao;",
         "Landroid/support/v7/widget/ap;",
         "Landroid/support/v7/widget/aq;",
         "Landroid/support/v7/widget/ar;",
         "Landroid/support/v7/widget/as;",
         "Landroid/support/v7/widget/au;",
         "Landroid/support/v7/widget/av;",
         "Landroid/support/v7/widget/aw;",
         "Landroid/support/v7/widget/ax;",
         "Landroid/support/v7/widget/ay;",
         "Landroid/support/v7/widget/az;",
         "Landroid/support/v7/widget/b;",
         "Landroid/support/v7/widget/ba;",
         "Landroid/support/v7/widget/bb;",
         "Landroid/support/v7/widget/bc;",
         "Landroid/support/v7/widget/bd;",
         "Landroid/support/v7/widget/be;",
         "Landroid/support/v7/widget/bf;",
         "Landroid/support/v7/widget/bg$1;",
         "Landroid/support/v7/widget/bg;",
         "Landroid/support/v7/widget/bh;",
         "Landroid/support/v7/widget/bi;",
         "Landroid/support/v7/widget/bj;",
         "Landroid/support/v7/widget/bk;",
         "Landroid/support/v7/widget/bl;",
         "Landroid/support/v7/widget/bm;",
         "Landroid/support/v7/widget/bn;",
         "Landroid/support/v7/widget/bo;",
         "Landroid/support/v7/widget/bp;",
         "Landroid/support/v7/widget/bq;",
         "Landroid/support/v7/widget/c;",
         "Landroid/support/v7/widget/d;",
         "Landroid/support/v7/widget/e$1;",
         "Landroid/support/v7/widget/e;",
         "Landroid/support/v7/widget/f;",
         "Landroid/support/v7/widget/g;",
         "Landroid/support/v7/widget/i;",
         "Landroid/support/v7/widget/j;",
         "Landroid/support/v7/widget/l;",
         "Landroid/support/v7/widget/n;",
         "Landroid/support/v7/widget/o;",
         "Landroid/support/v7/widget/p;",
         "Landroid/support/v7/widget/r$1;",
         "Landroid/support/v7/widget/r$2;",
         "Landroid/support/v7/widget/r$3;",
         "Landroid/support/v7/widget/u;",
         "Landroid/support/v7/widget/r$4;",
         "Landroid/support/v7/widget/r$5;",
         "Landroid/support/v7/widget/r$6;",
         "Landroid/support/v7/widget/r$7;",
         "Landroid/support/v7/widget/r$8;",
         "Landroid/support/v7/widget/r;",
         "Landroid/support/v7/widget/s;",
         "Landroid/support/v7/widget/t;",
         "Landroid/support/v7/widget/v;",
         "Landroid/support/v7/widget/w;",
         "Landroid/support/v7/widget/x;",
         "Landroid/support/v7/widget/y;",
         "Landroid/support/v7/widget/z;",
         "Lcom/a/a/a/a;",
         "Lcom/a/a/a/b;",
         "Lcom/a/a/a/c;",
         "Lcom/b/a/a$1;",
         "Lcom/b/a/a$2;",
         "Lcom/b/a/a;",
         "Lcom/b/a/b;",
         "Lcom/b/a/c;",
         "Lcom/b/a/d;",
         "Lcom/b/a/e;",
         "Lcom/b/a/f$1;",
         "Lcom/b/a/f;",
         "Lcom/b/a/g;",
         "Lcom/c/a;",
         "Lcom/c/b;",
         "Lcom/c/c;",
         "Lcom/c/d;",
         "Lcom/c/e;",
         "Lcom/c/f;",
         "Lcom/c/g;",
         "Lcom/c/h;",
         "Lcom/c/i;",
         "Lcom/c/j;",
         "Lcom/c/k;",
         "Lcom/c/l;",
         "Lcom/c/m;",
         "Lcom/c/n;",
         "Lcom/c/o;",
         "Lcom/c/p;",
         "Lcom/c/q;",
         "Lcom/c/r;",
         "Lcom/c/s;",
         "Lcom/c/t;",
         "Lcom/c/u;",
         "Lcom/comscore/a/a/a;",
         "Lcom/comscore/a/a/b;",
         "Lcom/comscore/a/a/c;",
         "Lcom/comscore/a/a/d;",
         "Lcom/comscore/a/a/e;",
         "Lcom/comscore/a/a/f;",
         "Lcom/comscore/analytics/ApplicationState;",
         "Lcom/comscore/analytics/SessionState;",
         "Lcom/comscore/analytics/a;",
         "Lcom/comscore/analytics/b;",
         "Lcom/comscore/analytics/c;",
         "Lcom/comscore/analytics/d;",
         "Lcom/comscore/analytics/e;",
         "Lcom/comscore/analytics/f;",
         "Lcom/comscore/analytics/g;",
         "Lcom/comscore/analytics/h;",
         "Lcom/comscore/analytics/i;",
         "Lcom/comscore/analytics/j;",
         "Lcom/comscore/analytics/k;",
         "Lcom/comscore/analytics/l;",
         "Lcom/comscore/analytics/m;",
         "Lcom/comscore/analytics/n;",
         "Lcom/comscore/analytics/o;",
         "Lcom/comscore/analytics/p;",
         "Lcom/comscore/applications/EventType;",
         "Lcom/comscore/b/b;",
         "Lcom/comscore/applications/c;",
         "Lcom/comscore/applications/a;",
         "Lcom/comscore/applications/b;",
         "Lcom/comscore/applications/d;",
         "Lcom/comscore/b/a;",
         "Lcom/comscore/b/c;",
         "Lcom/comscore/b/d;",
         "Lcom/comscore/b/e;",
         "Lcom/comscore/metrics/EventType;",
         "Lcom/comscore/metrics/a;",
         "Lcom/comscore/metrics/b;",
         "Lcom/comscore/utils/DispatchQueue;",
         "Lcom/comscore/utils/TransmissionMode;",
         "Lcom/comscore/utils/a/a;",
         "Lcom/comscore/utils/a;",
         "Lcom/comscore/utils/b/a;",
         "Lcom/comscore/utils/b/b;",
         "Lcom/comscore/utils/b/c;",
         "Lcom/comscore/utils/b;",
         "Lcom/comscore/utils/c;",
         "Lcom/comscore/utils/d;",
         "Lcom/comscore/utils/e;",
         "Lcom/comscore/utils/f;",
         "Lcom/comscore/utils/g;",
         "Lcom/comscore/utils/h;",
         "Lcom/comscore/utils/i;",
         "Lcom/comscore/utils/j;",
         "Lcom/comscore/utils/k;",
         "Lcom/comscore/utils/l;",
         "Lcom/comscore/utils/m;",
         "Lcom/comscore/utils/n;",
         "Lcom/comscore/utils/o;",
         "Lcom/comscore/utils/p;",
         "Lcom/comscore/utils/q;",
         "Lcom/comscore/utils/r;",
         "Lcom/comscore/utils/s;",
         "Lcom/comscore/utils/t;",
         "Lcom/comscore/utils/u;",
         "Lcom/crashlytics/android/ndk/JniNativeApi;",
         "Lcom/devsmart/android/ui/HorizontalListView$1;",
         "Lcom/devsmart/android/ui/HorizontalListView$2;",
         "Lcom/devsmart/android/ui/HorizontalListView$3;",
         "Lcom/devsmart/android/ui/HorizontalListView;",
         "Lcom/facebook/AccessToken$SerializationProxyV2;",
         "Lcom/facebook/AccessToken;",
         "Lcom/facebook/AccessTokenSource;",
         "Lcom/facebook/AppEventsLogger$1;",
         "Lcom/facebook/AppEventsLogger$2;",
         "Lcom/facebook/AppEventsLogger$3;",
         "Lcom/facebook/AppEventsLogger$4;",
         "Lcom/facebook/AppEventsLogger$5;",
         "Lcom/facebook/q;",
         "Lcom/facebook/AppEventsLogger$6;",
         "Lcom/facebook/AppEventsLogger$AccessTokenAppIdPair$SerializationProxyV1;",
         "Lcom/facebook/AppEventsLogger$AccessTokenAppIdPair;",
         "Lcom/facebook/AppEventsLogger$AppEvent$SerializationProxyV1;",
         "Lcom/facebook/AppEventsLogger$AppEvent;",
         "Lcom/facebook/AppEventsLogger$FlushBehavior;",
         "Lcom/facebook/AppEventsLogger$FlushReason;",
         "Lcom/facebook/AppEventsLogger$FlushResult;",
         "Lcom/facebook/AppEventsLogger;",
         "Lcom/facebook/h;",
         "Lcom/facebook/AuthorizationClient$1;",
         "Lcom/facebook/AuthorizationClient$2;",
         "Lcom/facebook/AuthorizationClient$3;",
         "Lcom/facebook/AuthorizationClient$4;",
         "Lcom/facebook/x;",
         "Lcom/facebook/AuthorizationClient$5;",
         "Lcom/facebook/AuthorizationClient$AuthHandler;",
         "Lcom/facebook/AuthorizationClient$AuthorizationRequest;",
         "Lcom/facebook/internal/av;",
         "Lcom/facebook/AuthorizationClient$GetTokenAuthHandler$1;",
         "Lcom/facebook/AuthorizationClient$GetTokenAuthHandler;",
         "Lcom/facebook/AuthorizationClient$KatanaAuthHandler;",
         "Lcom/facebook/AuthorizationClient$KatanaProxyAuthHandler;",
         "Lcom/facebook/AuthorizationClient$Result$Code;",
         "Lcom/facebook/AuthorizationClient$Result;",
         "Lcom/facebook/widget/s;",
         "Lcom/facebook/AuthorizationClient$WebViewAuthHandler$1;",
         "Lcom/facebook/AuthorizationClient$WebViewAuthHandler;",
         "Lcom/facebook/AuthorizationClient;",
         "Lcom/facebook/FacebookException;",
         "Lcom/facebook/FacebookAuthorizationException;",
         "Lcom/facebook/FacebookDialogException;",
         "Lcom/facebook/FacebookGraphObjectException;",
         "Lcom/facebook/FacebookOperationCanceledException;",
         "Lcom/facebook/FacebookRequestError$Category;",
         "Lcom/facebook/FacebookRequestError;",
         "Lcom/facebook/FacebookServiceException;",
         "Lcom/facebook/FacebookTimeSpentData$SerializationProxyV2;",
         "Lcom/facebook/FacebookTimeSpentData;",
         "Lcom/facebook/HttpMethod;",
         "Lcom/facebook/LoggingBehavior;",
         "Lcom/facebook/g;",
         "Lcom/facebook/LoginActivity$1;",
         "Lcom/facebook/f;",
         "Lcom/facebook/LoginActivity$2;",
         "Lcom/facebook/LoginActivity;",
         "Lcom/facebook/Request$1;",
         "Lcom/facebook/Request$2;",
         "Lcom/facebook/s;",
         "Lcom/facebook/Request$3;",
         "Lcom/facebook/Request$ParcelFileDescriptorWithMimeType$1;",
         "Lcom/facebook/Request$ParcelFileDescriptorWithMimeType;",
         "Lcom/facebook/Request;",
         "Lcom/facebook/Session$1;",
         "Lcom/facebook/Session$2;",
         "Lcom/facebook/Session$3;",
         "Lcom/facebook/Session$4$1;",
         "Lcom/facebook/Session$4;",
         "Lcom/facebook/Session$5;",
         "Lcom/facebook/af;",
         "Lcom/facebook/Session$AuthorizationRequest$1;",
         "Lcom/facebook/Session$AuthorizationRequest$2;",
         "Lcom/facebook/Session$AuthorizationRequest$3;",
         "Lcom/facebook/Session$AuthorizationRequest$4;",
         "Lcom/facebook/Session$AuthorizationRequest$AuthRequestSerializationProxyV1;",
         "Lcom/facebook/Session$AuthorizationRequest;",
         "Lcom/facebook/Session$NewPermissionsRequest;",
         "Lcom/facebook/Session$OpenRequest;",
         "Lcom/facebook/Session$SerializationProxyV1;",
         "Lcom/facebook/Session;",
         "Lcom/facebook/SessionDefaultAudience;",
         "Lcom/facebook/SessionLoginBehavior;",
         "Lcom/facebook/SessionState$Category;",
         "Lcom/facebook/SessionState;",
         "Lcom/facebook/a/a;",
         "Lcom/facebook/a/b;",
         "Lcom/facebook/a/c;",
         "Lcom/facebook/a/d;",
         "Lcom/facebook/a/e;",
         "Lcom/facebook/a/f;",
         "Lcom/facebook/a/g;",
         "Lcom/facebook/a/h;",
         "Lcom/facebook/a;",
         "Lcom/facebook/aa$1;",
         "Lcom/facebook/aa;",
         "Lcom/facebook/ab;",
         "Lcom/facebook/ac;",
         "Lcom/facebook/ad;",
         "Lcom/facebook/ae;",
         "Lcom/facebook/ag;",
         "Lcom/facebook/ah;",
         "Lcom/facebook/ai;",
         "Lcom/facebook/aj$1;",
         "Lcom/facebook/aj$2$1;",
         "Lcom/facebook/aj$2;",
         "Lcom/facebook/aj;",
         "Lcom/facebook/al;",
         "Lcom/facebook/ak;",
         "Lcom/facebook/am;",
         "Lcom/facebook/an;",
         "Lcom/facebook/b$1;",
         "Lcom/facebook/b;",
         "Lcom/facebook/c;",
         "Lcom/facebook/d;",
         "Lcom/facebook/widget/q;",
         "Lcom/facebook/widget/p;",
         "Lcom/facebook/e;",
         "Lcom/facebook/i;",
         "Lcom/facebook/internal/LikeActionController$10;",
         "Lcom/facebook/internal/aa;",
         "Lcom/facebook/internal/LikeActionController$1;",
         "Lcom/facebook/internal/LikeActionController$2;",
         "Lcom/facebook/internal/LikeActionController$3;",
         "Lcom/facebook/internal/LikeActionController$4;",
         "Lcom/facebook/internal/LikeActionController$5$1;",
         "Lcom/facebook/internal/LikeActionController$5;",
         "Lcom/facebook/widget/b;",
         "Lcom/facebook/internal/LikeActionController$6;",
         "Lcom/facebook/internal/LikeActionController$7$1;",
         "Lcom/facebook/internal/aj;",
         "Lcom/facebook/internal/LikeActionController$7;",
         "Lcom/facebook/internal/LikeActionController$8;",
         "Lcom/facebook/internal/LikeActionController$9$1;",
         "Lcom/facebook/internal/LikeActionController$9;",
         "Lcom/facebook/widget/c;",
         "Lcom/facebook/internal/LikeActionController$LikeDialogFeature;",
         "Lcom/facebook/internal/LikeActionController;",
         "Lcom/facebook/internal/LikeBoxCountView$1;",
         "Lcom/facebook/internal/LikeBoxCountView$LikeBoxCountViewCaretPosition;",
         "Lcom/facebook/internal/LikeBoxCountView;",
         "Lcom/facebook/internal/SessionAuthorizationType;",
         "Lcom/facebook/internal/a;",
         "Lcom/facebook/internal/y;",
         "Lcom/facebook/internal/ab;",
         "Lcom/facebook/internal/ac;",
         "Lcom/facebook/internal/ad;",
         "Lcom/facebook/internal/ae;",
         "Lcom/facebook/widget/a;",
         "Lcom/facebook/internal/af;",
         "Lcom/facebook/internal/ag;",
         "Lcom/facebook/internal/ah;",
         "Lcom/facebook/internal/ai;",
         "Lcom/facebook/internal/ak;",
         "Lcom/facebook/internal/al;",
         "Lcom/facebook/internal/au;",
         "Lcom/facebook/internal/am;",
         "Lcom/facebook/internal/an;",
         "Lcom/facebook/internal/ao;",
         "Lcom/facebook/internal/ar;",
         "Lcom/facebook/internal/ap;",
         "Lcom/facebook/internal/aq;",
         "Lcom/facebook/internal/as;",
         "Lcom/facebook/internal/at;",
         "Lcom/facebook/internal/au$1;",
         "Lcom/facebook/internal/aw;",
         "Lcom/facebook/internal/ax;",
         "Lcom/facebook/internal/ay;",
         "Lcom/facebook/internal/az;",
         "Lcom/facebook/internal/c;",
         "Lcom/facebook/internal/b$1;",
         "Lcom/facebook/internal/b$2;",
         "Lcom/facebook/internal/b$3;",
         "Lcom/facebook/internal/b$4;",
         "Lcom/facebook/internal/b$5;",
         "Lcom/facebook/internal/b$6;",
         "Lcom/facebook/internal/b$7;",
         "Lcom/facebook/internal/b;",
         "Lcom/facebook/internal/ba;",
         "Lcom/facebook/internal/bb$1;",
         "Lcom/facebook/internal/bb;",
         "Lcom/facebook/internal/bc;",
         "Lcom/facebook/internal/bd;",
         "Lcom/facebook/internal/be;",
         "Lcom/facebook/internal/bf$1;",
         "Lcom/facebook/internal/bf;",
         "Lcom/facebook/internal/bg;",
         "Lcom/facebook/internal/bh;",
         "Lcom/facebook/w;",
         "Lcom/facebook/internal/d;",
         "Lcom/facebook/internal/e$1;",
         "Lcom/facebook/internal/e$2;",
         "Lcom/facebook/widget/o;",
         "Lcom/facebook/internal/e;",
         "Lcom/facebook/internal/l;",
         "Lcom/facebook/internal/f$1;",
         "Lcom/facebook/internal/f$2;",
         "Lcom/facebook/internal/f$3;",
         "Lcom/facebook/internal/f;",
         "Lcom/facebook/internal/g$1;",
         "Lcom/facebook/internal/g$2;",
         "Lcom/facebook/internal/g;",
         "Lcom/facebook/internal/h;",
         "Lcom/facebook/internal/i;",
         "Lcom/facebook/internal/j;",
         "Lcom/facebook/internal/k;",
         "Lcom/facebook/internal/m;",
         "Lcom/facebook/internal/n$1;",
         "Lcom/facebook/internal/n;",
         "Lcom/facebook/internal/o;",
         "Lcom/facebook/internal/p;",
         "Lcom/facebook/internal/q;",
         "Lcom/facebook/internal/r;",
         "Lcom/facebook/internal/s;",
         "Lcom/facebook/internal/t;",
         "Lcom/facebook/internal/u;",
         "Lcom/facebook/internal/v;",
         "Lcom/facebook/internal/w;",
         "Lcom/facebook/internal/x;",
         "Lcom/facebook/internal/y$1;",
         "Lcom/facebook/internal/z;",
         "Lcom/facebook/j;",
         "Lcom/facebook/k;",
         "Lcom/facebook/m;",
         "Lcom/facebook/l$1;",
         "Lcom/facebook/l$2;",
         "Lcom/facebook/l;",
         "Lcom/facebook/model/CreateGraphObject;",
         "Lcom/facebook/model/GraphObject;",
         "Lcom/facebook/model/GraphLocation;",
         "Lcom/facebook/model/GraphMultiResult;",
         "Lcom/facebook/model/GraphObjectList;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectListImpl;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectProxy$1;",
         "Lcom/facebook/model/GraphObject$Factory$ProxyBase;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectProxy;",
         "Lcom/facebook/model/GraphObject$Factory;",
         "Lcom/facebook/model/GraphPlace;",
         "Lcom/facebook/model/GraphUser;",
         "Lcom/facebook/model/JsonUtil$JSONObjectEntry;",
         "Lcom/facebook/model/JsonUtil;",
         "Lcom/facebook/model/OpenGraphAction$Factory;",
         "Lcom/facebook/model/OpenGraphAction;",
         "Lcom/facebook/model/OpenGraphObject$Factory;",
         "Lcom/facebook/model/OpenGraphObject;",
         "Lcom/facebook/model/PropertyName;",
         "Lcom/facebook/z;",
         "Lcom/facebook/n;",
         "Lcom/facebook/o$1;",
         "Lcom/facebook/o;",
         "Lcom/facebook/p;",
         "Lcom/facebook/r;",
         "Lcom/facebook/t;",
         "Lcom/facebook/u;",
         "Lcom/facebook/v;",
         "Lcom/facebook/widget/FacebookDialog$PendingCall$1;",
         "Lcom/facebook/widget/FacebookDialog$PendingCall;",
         "Lcom/facebook/widget/FacebookDialog;",
         "Lcom/facebook/widget/LikeView$1;",
         "Lcom/facebook/widget/LikeView$2;",
         "Lcom/facebook/widget/LikeView$AuxiliaryViewPosition;",
         "Lcom/facebook/widget/LikeView$HorizontalAlignment;",
         "Lcom/facebook/widget/LikeView$Style;",
         "Lcom/facebook/widget/LikeView;",
         "Lcom/facebook/widget/LoginButton$1;",
         "Lcom/facebook/widget/LoginButton$2;",
         "Lcom/facebook/widget/LoginButton$ToolTipMode;",
         "Lcom/facebook/widget/LoginButton;",
         "Lcom/facebook/widget/ProfilePictureView$1;",
         "Lcom/facebook/widget/ProfilePictureView;",
         "Lcom/facebook/widget/ToolTipPopup$1;",
         "Lcom/facebook/widget/ToolTipPopup$2;",
         "Lcom/facebook/widget/ToolTipPopup$3;",
         "Lcom/facebook/widget/ToolTipPopup$Style;",
         "Lcom/facebook/widget/ToolTipPopup;",
         "Lcom/facebook/widget/d;",
         "Lcom/facebook/widget/a$1;",
         "Lcom/facebook/widget/e;",
         "Lcom/facebook/widget/f;",
         "Lcom/facebook/widget/g;",
         "Lcom/facebook/widget/h;",
         "Lcom/facebook/widget/i;",
         "Lcom/facebook/widget/j$1;",
         "Lcom/facebook/widget/j;",
         "Lcom/facebook/widget/k;",
         "Lcom/facebook/widget/l;",
         "Lcom/facebook/widget/m;",
         "Lcom/facebook/widget/n;",
         "Lcom/facebook/widget/o$1;",
         "Lcom/facebook/widget/o$2;",
         "Lcom/facebook/widget/o$3;",
         "Lcom/facebook/widget/r;",
         "Lcom/facebook/y;",
         "Lcom/fasterxml/jackson/annotation/JacksonAnnotationsInside;",
         "Lcom/fasterxml/jackson/annotation/JacksonInject;",
         "Lcom/fasterxml/jackson/annotation/JsonAnyGetter;",
         "Lcom/fasterxml/jackson/annotation/JsonAnySetter;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect$1;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect;",
         "Lcom/fasterxml/jackson/annotation/JsonBackReference;",
         "Lcom/fasterxml/jackson/annotation/JsonCreator;",
         "Lcom/fasterxml/jackson/annotation/JsonFilter;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat$Value;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat;",
         "Lcom/fasterxml/jackson/annotation/JsonGetter;",
         "Lcom/fasterxml/jackson/annotation/JsonIdentityInfo;",
         "Lcom/fasterxml/jackson/annotation/JsonIdentityReference;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnore;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnoreProperties;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnoreType;",
         "Lcom/fasterxml/jackson/annotation/JsonInclude$Include;",
         "Lcom/fasterxml/jackson/annotation/JsonInclude;",
         "Lcom/fasterxml/jackson/annotation/JsonManagedReference;",
         "Lcom/fasterxml/jackson/annotation/JsonProperty;",
         "Lcom/fasterxml/jackson/annotation/JsonPropertyOrder;",
         "Lcom/fasterxml/jackson/annotation/JsonRawValue;",
         "Lcom/fasterxml/jackson/annotation/JsonRootName;",
         "Lcom/fasterxml/jackson/annotation/JsonSetter;",
         "Lcom/fasterxml/jackson/annotation/JsonSubTypes$Type;",
         "Lcom/fasterxml/jackson/annotation/JsonSubTypes;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeId;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$As;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$None;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeName;",
         "Lcom/fasterxml/jackson/annotation/JsonUnwrapped;",
         "Lcom/fasterxml/jackson/annotation/JsonValue;",
         "Lcom/fasterxml/jackson/annotation/JsonView;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerator$IdKey;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerator;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$Base;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$None;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$PropertyGenerator;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators;",
         "Lcom/fasterxml/jackson/core/Base64Variant;",
         "Lcom/fasterxml/jackson/core/Base64Variants;",
         "Lcom/fasterxml/jackson/core/FormatSchema;",
         "Lcom/fasterxml/jackson/core/JsonEncoding;",
         "Lcom/fasterxml/jackson/core/JsonFactory$Feature;",
         "Lcom/fasterxml/jackson/core/JsonFactory;",
         "Lcom/fasterxml/jackson/core/JsonProcessingException;",
         "Lcom/fasterxml/jackson/core/JsonGenerationException;",
         "Lcom/fasterxml/jackson/core/JsonGenerator$Feature;",
         "Lcom/fasterxml/jackson/core/JsonGenerator;",
         "Lcom/fasterxml/jackson/core/JsonLocation;",
         "Lcom/fasterxml/jackson/core/JsonParseException;",
         "Lcom/fasterxml/jackson/core/JsonParser$Feature;",
         "Lcom/fasterxml/jackson/core/JsonParser$NumberType;",
         "Lcom/fasterxml/jackson/core/JsonParser;",
         "Lcom/fasterxml/jackson/core/JsonStreamContext;",
         "Lcom/fasterxml/jackson/core/JsonToken;",
         "Lcom/fasterxml/jackson/core/ObjectCodec;",
         "Lcom/fasterxml/jackson/core/PrettyPrinter;",
         "Lcom/fasterxml/jackson/core/SerializableString;",
         "Lcom/fasterxml/jackson/core/TreeNode;",
         "Lcom/fasterxml/jackson/core/base/GeneratorBase;",
         "Lcom/fasterxml/jackson/core/base/ParserMinimalBase;",
         "Lcom/fasterxml/jackson/core/base/ParserBase;",
         "Lcom/fasterxml/jackson/core/base/ParserMinimalBase$1;",
         "Lcom/fasterxml/jackson/core/io/BaseReader;",
         "Lcom/fasterxml/jackson/core/io/CharTypes;",
         "Lcom/fasterxml/jackson/core/io/CharacterEscapes;",
         "Lcom/fasterxml/jackson/core/io/IOContext;",
         "Lcom/fasterxml/jackson/core/io/InputDecorator;",
         "Lcom/fasterxml/jackson/core/io/JsonStringEncoder;",
         "Lcom/fasterxml/jackson/core/io/MergedStream;",
         "Lcom/fasterxml/jackson/core/io/NumberInput;",
         "Lcom/fasterxml/jackson/core/io/NumberOutput;",
         "Lcom/fasterxml/jackson/core/io/OutputDecorator;",
         "Lcom/fasterxml/jackson/core/io/SegmentedStringWriter;",
         "Lcom/fasterxml/jackson/core/io/SerializedString;",
         "Lcom/fasterxml/jackson/core/io/UTF32Reader;",
         "Lcom/fasterxml/jackson/core/io/UTF8Writer;",
         "Lcom/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper$1;",
         "Lcom/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper;",
         "Lcom/fasterxml/jackson/core/json/JsonGeneratorImpl;",
         "Lcom/fasterxml/jackson/core/json/JsonReadContext;",
         "Lcom/fasterxml/jackson/core/json/JsonWriteContext;",
         "Lcom/fasterxml/jackson/core/json/ReaderBasedJsonParser$1;",
         "Lcom/fasterxml/jackson/core/json/ReaderBasedJsonParser;",
         "Lcom/fasterxml/jackson/core/json/UTF8JsonGenerator;",
         "Lcom/fasterxml/jackson/core/json/UTF8StreamJsonParser$1;",
         "Lcom/fasterxml/jackson/core/json/UTF8StreamJsonParser;",
         "Lcom/fasterxml/jackson/core/json/WriterBasedJsonGenerator;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer$Bucket;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer$TableInfo;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer;",
         "Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;",
         "Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;",
         "Lcom/fasterxml/jackson/core/sym/Name;",
         "Lcom/fasterxml/jackson/core/sym/Name1;",
         "Lcom/fasterxml/jackson/core/sym/Name2;",
         "Lcom/fasterxml/jackson/core/sym/Name3;",
         "Lcom/fasterxml/jackson/core/sym/NameN;",
         "Lcom/fasterxml/jackson/core/type/ResolvedType;",
         "Lcom/fasterxml/jackson/core/type/TypeReference;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler$ByteBufferType;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler$CharBufferType;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler;",
         "Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Indenter;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$FixedSpaceIndenter;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Lf2SpacesIndenter;",
         "Lcom/fasterxml/jackson/core/util/Instantiatable;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter;",
         "Lcom/fasterxml/jackson/core/util/InternCache;",
         "Lcom/fasterxml/jackson/core/util/JsonParserDelegate;",
         "Lcom/fasterxml/jackson/core/util/JsonParserSequence;",
         "Lcom/fasterxml/jackson/core/util/MinimalPrettyPrinter;",
         "Lcom/fasterxml/jackson/core/util/TextBuffer;",
         "Lcom/fasterxml/jackson/databind/AbstractTypeResolver;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty$Type;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/BeanDescription;",
         "Lcom/fasterxml/jackson/databind/BeanProperty;",
         "Lcom/fasterxml/jackson/databind/BeanProperty$Std;",
         "Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector$MixInResolver;",
         "Lcom/fasterxml/jackson/databind/cfg/MapperConfig;",
         "Lcom/fasterxml/jackson/databind/cfg/MapperConfigBase;",
         "Lcom/fasterxml/jackson/databind/DeserializationConfig;",
         "Lcom/fasterxml/jackson/databind/DeserializationContext;",
         "Lcom/fasterxml/jackson/databind/cfg/ConfigFeature;",
         "Lcom/fasterxml/jackson/databind/DeserializationFeature;",
         "Lcom/fasterxml/jackson/databind/InjectableValues;",
         "Lcom/fasterxml/jackson/databind/JavaType;",
         "Lcom/fasterxml/jackson/databind/JsonDeserializer;",
         "Lcom/fasterxml/jackson/databind/JsonDeserializer$None;",
         "Lcom/fasterxml/jackson/databind/JsonMappingException$Reference;",
         "Lcom/fasterxml/jackson/databind/JsonMappingException;",
         "Lcom/fasterxml/jackson/databind/JsonNode;",
         "Lcom/fasterxml/jackson/databind/JsonSerializable;",
         "Lcom/fasterxml/jackson/databind/JsonSerializer;",
         "Lcom/fasterxml/jackson/databind/JsonSerializer$None;",
         "Lcom/fasterxml/jackson/databind/KeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/KeyDeserializer$None;",
         "Lcom/fasterxml/jackson/databind/MapperFeature;",
         "Lcom/fasterxml/jackson/databind/MappingJsonFactory;",
         "Lcom/fasterxml/jackson/databind/ObjectMapper;",
         "Lcom/fasterxml/jackson/databind/ObjectWriter;",
         "Lcom/fasterxml/jackson/databind/PropertyName;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$PropertyNamingStrategyBase;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$PascalCaseStrategy;",
         "Lcom/fasterxml/jackson/databind/SerializationConfig;",
         "Lcom/fasterxml/jackson/databind/SerializationFeature;",
         "Lcom/fasterxml/jackson/databind/SerializerProvider;",
         "Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonDeserialize;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonNaming;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonPOJOBuilder$Value;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonPOJOBuilder;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize$Inclusion;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize$Typing;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonTypeIdResolver;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonTypeResolver;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/annotation/NoClass;",
         "Lcom/fasterxml/jackson/databind/cfg/BaseSettings;",
         "Lcom/fasterxml/jackson/databind/cfg/DeserializerFactoryConfig;",
         "Lcom/fasterxml/jackson/databind/cfg/HandlerInstantiator;",
         "Lcom/fasterxml/jackson/databind/cfg/SerializerFactoryConfig;",
         "Lcom/fasterxml/jackson/databind/deser/AbstractDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/AbstractDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ContextualDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ResolvableDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBuilder;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerModifier;",
         "Lcom/fasterxml/jackson/databind/deser/BuilderBasedDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/BuilderBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ContextualKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/SettableBeanProperty;",
         "Lcom/fasterxml/jackson/databind/deser/CreatorProperty;",
         "Lcom/fasterxml/jackson/databind/deser/DefaultDeserializationContext;",
         "Lcom/fasterxml/jackson/databind/deser/DefaultDeserializationContext$Impl;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializationProblemHandler;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializerCache;",
         "Lcom/fasterxml/jackson/databind/deser/Deserializers;",
         "Lcom/fasterxml/jackson/databind/deser/KeyDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/SettableAnyProperty;",
         "Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/ValueInstantiators;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanAsArrayBuilderDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanAsArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap$Bucket;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap$IteratorImpl;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap;",
         "Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler$Builder;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler$ExtTypedProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler;",
         "Lcom/fasterxml/jackson/databind/deser/impl/FieldProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/InnerClassProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ManagedReferenceProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/MethodProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/NullProvider;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ObjectIdReader;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ObjectIdValueProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedCreator;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedObjectIdGenerator;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Any;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Map;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Regular;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ReadableObjectId;",
         "Lcom/fasterxml/jackson/databind/deser/impl/SetterlessProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/TypeWrappedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/UnwrappedPropertyHandler;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ValueInjector;",
         "Lcom/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdScalarDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ClassDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ContainerDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/deser/std/CollectionDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$DateBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$CalendarDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$DateDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$SqlDateDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$TimeZoneDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$TimestampDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/DelegatingDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumDeserializer$FactoryBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumMapDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumSetDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$JavaTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$JsonLocationInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$TokenBufferDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$AtomicBooleanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$AtomicReferenceDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$CharsetDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$CurrencyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$FileDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$InetAddressDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$LocaleDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$PatternDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$StackTraceElementDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$URIDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$URLDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$UUIDDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$ArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$ObjectDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/MapDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigIntegerDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$PrimitiveOrWrapperDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$NumberDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/ObjectArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$Base;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$BooleanDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$ByteDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$CharDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$DoubleDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$FloatDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$IntDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$LongDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$ShortDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$StringDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdDelegatingDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$BoolKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$ByteKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$CalendarKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$CharKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DateKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DelegatingKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DoubleKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$EnumKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$FloatKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$IntKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$LocaleKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$LongKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$ShortKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringCtorKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringFactoryKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$UuidKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/std/StringCollectionDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StringDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer;",
         "Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;",
         "Lcom/fasterxml/jackson/databind/exc/UnrecognizedPropertyException;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$DurationDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$GregorianCalendarDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$QNameDeserializer;",
         "Lcom/fasterxml/jackson/databind/util/Provider;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLSerializers$XMLGregorianCalendarSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLSerializers;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer$DocumentDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer$NodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/OptionalHandlerFactory;",
         "Lcom/fasterxml/jackson/databind/introspect/Annotated;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedClass;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMember;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedWithParams;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedField$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedField;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethodMap;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedParameter;",
         "Lcom/fasterxml/jackson/databind/util/Annotations;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotationMap;",
         "Lcom/fasterxml/jackson/databind/introspect/BasicBeanDescription;",
         "Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/BasicClassIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/BeanPropertyDefinition;",
         "Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector$1;",
         "Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/MemberKey;",
         "Lcom/fasterxml/jackson/databind/introspect/NopAnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/NopAnnotationIntrospector$1;",
         "Lcom/fasterxml/jackson/databind/introspect/ObjectIdInfo;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$WithMember;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$1;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$2;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$3;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$Linked;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder;",
         "Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker;",
         "Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker$Std;",
         "Lcom/fasterxml/jackson/databind/jsontype/NamedType;",
         "Lcom/fasterxml/jackson/databind/jsontype/SubtypeResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeResolverBuilder;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsArrayTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeSerializerBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsArrayTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsExternalTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsExternalTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsWrapperTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsWrapperTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeIdResolverBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/MinimalClassNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdSubtypeResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder$1;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/node/BaseJsonNode;",
         "Lcom/fasterxml/jackson/databind/node/ContainerNode;",
         "Lcom/fasterxml/jackson/databind/node/ArrayNode;",
         "Lcom/fasterxml/jackson/databind/node/ValueNode;",
         "Lcom/fasterxml/jackson/databind/node/NumericNode;",
         "Lcom/fasterxml/jackson/databind/node/BigIntegerNode;",
         "Lcom/fasterxml/jackson/databind/node/BinaryNode;",
         "Lcom/fasterxml/jackson/databind/node/BooleanNode;",
         "Lcom/fasterxml/jackson/databind/node/ContainerNode$NoNodesIterator;",
         "Lcom/fasterxml/jackson/databind/node/DecimalNode;",
         "Lcom/fasterxml/jackson/databind/node/DoubleNode;",
         "Lcom/fasterxml/jackson/databind/node/IntNode;",
         "Lcom/fasterxml/jackson/databind/node/JsonNodeFactory;",
         "Lcom/fasterxml/jackson/databind/node/LongNode;",
         "Lcom/fasterxml/jackson/databind/node/MissingNode;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$Array;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$Object;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$RootValue;",
         "Lcom/fasterxml/jackson/databind/node/NullNode;",
         "Lcom/fasterxml/jackson/databind/node/ObjectNode$NoFieldsIterator;",
         "Lcom/fasterxml/jackson/databind/node/ObjectNode;",
         "Lcom/fasterxml/jackson/databind/node/POJONode;",
         "Lcom/fasterxml/jackson/databind/node/TextNode;",
         "Lcom/fasterxml/jackson/databind/node/TreeTraversingParser$1;",
         "Lcom/fasterxml/jackson/databind/node/TreeTraversingParser;",
         "Lcom/fasterxml/jackson/databind/ser/AnyGetterWriter;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BasicSerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BeanPropertyFilter;",
         "Lcom/fasterxml/jackson/databind/ser/BeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/ContextualSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/ResolvableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/BeanSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerBuilder;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerModifier;",
         "Lcom/fasterxml/jackson/databind/ser/ContainerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;",
         "Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider$Impl;",
         "Lcom/fasterxml/jackson/databind/ser/FilterProvider;",
         "Lcom/fasterxml/jackson/databind/ser/PropertyBuilder$1;",
         "Lcom/fasterxml/jackson/databind/ser/PropertyBuilder;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerCache$TypeKey;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerCache;",
         "Lcom/fasterxml/jackson/databind/ser/Serializers;",
         "Lcom/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FailingSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter$MultiView;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter$SingleView;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/std/AsArraySerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IndexedListSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StaticListSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IndexedStringListSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IteratorSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/JsonSerializerMap$Bucket;",
         "Lcom/fasterxml/jackson/databind/ser/impl/JsonSerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/impl/ObjectIdWriter;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertyBasedObjectIdGenerator;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Double;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Empty;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Multi;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$SerializerAndMapResult;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Single;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$TypeAndSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/ReadOnlyClassToSerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/StringCollectionSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/TypeWrappedSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnknownSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnwrappingBeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/WritableObjectId;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NonTypedScalarSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/std/BooleanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/DateTimeSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/std/CalendarSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/CollectionSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/DateSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumMapSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumSetSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/InetAddressSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/IterableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/JsonValueSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/MapSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NullSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$DoubleSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$FloatSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$IntLikeSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$IntegerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$LongSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$NumberSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/ObjectArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/RawSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SerializableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SqlDateSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SqlTimeSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$BooleanArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$ByteArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$CharArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$DoubleArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$TypedPrimitiveArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$FloatArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$IntArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$LongArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$ShortArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdContainerSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdDelegatingSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicBooleanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicIntegerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicLongSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicReferenceSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$ClassSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$FileSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$CalendarKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$DateKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$StringKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StringSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/TimeZoneSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/ToStringSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/TokenBufferSerializer;",
         "Lcom/fasterxml/jackson/databind/type/TypeBase;",
         "Lcom/fasterxml/jackson/databind/type/ArrayType;",
         "Lcom/fasterxml/jackson/databind/type/ClassKey;",
         "Lcom/fasterxml/jackson/databind/type/CollectionLikeType;",
         "Lcom/fasterxml/jackson/databind/type/CollectionType;",
         "Lcom/fasterxml/jackson/databind/type/HierarchicType;",
         "Lcom/fasterxml/jackson/databind/type/MapLikeType;",
         "Lcom/fasterxml/jackson/databind/type/MapType;",
         "Lcom/fasterxml/jackson/databind/type/SimpleType;",
         "Lcom/fasterxml/jackson/databind/type/TypeBindings;",
         "Lcom/fasterxml/jackson/databind/type/TypeFactory;",
         "Lcom/fasterxml/jackson/databind/type/TypeModifier;",
         "Lcom/fasterxml/jackson/databind/type/TypeParser$MyTokenizer;",
         "Lcom/fasterxml/jackson/databind/type/TypeParser;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ArrayIterator;",
         "Lcom/fasterxml/jackson/databind/util/PrimitiveArrayBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$BooleanBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ByteBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$DoubleBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$FloatBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$IntBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$LongBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ShortBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders;",
         "Lcom/fasterxml/jackson/databind/util/BeanUtil;",
         "Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;",
         "Lcom/fasterxml/jackson/databind/util/ClassUtil;",
         "Lcom/fasterxml/jackson/databind/util/Comparators$1;",
         "Lcom/fasterxml/jackson/databind/util/Comparators;",
         "Lcom/fasterxml/jackson/databind/util/Converter;",
         "Lcom/fasterxml/jackson/databind/util/EnumResolver;",
         "Lcom/fasterxml/jackson/databind/util/EnumValues;",
         "Lcom/fasterxml/jackson/databind/util/LRUMap;",
         "Lcom/fasterxml/jackson/databind/util/LinkedNode;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$1;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$2;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$3;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$4;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$Chained;",
         "Lcom/fasterxml/jackson/databind/util/ObjectBuffer$Node;",
         "Lcom/fasterxml/jackson/databind/util/ObjectBuffer;",
         "Lcom/fasterxml/jackson/databind/util/PrimitiveArrayBuilder$Node;",
         "Lcom/fasterxml/jackson/databind/util/RootNameLookup;",
         "Lcom/fasterxml/jackson/databind/util/SimpleBeanPropertyDefinition;",
         "Lcom/fasterxml/jackson/databind/util/StdDateFormat;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$1;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$Parser;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$Segment;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Empty;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Multi;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Single;",
         "Lcom/ford/syncV4/a/a;",
         "Lcom/ford/syncV4/b/a;",
         "Lcom/ford/syncV4/b/b;",
         "Lcom/ford/syncV4/b/c;",
         "Lcom/ford/syncV4/b/d;",
         "Lcom/ford/syncV4/b/e$1;",
         "Lcom/ford/syncV4/b/e;",
         "Lcom/ford/syncV4/c/a;",
         "Lcom/ford/syncV4/d/a;",
         "Lcom/ford/syncV4/protocol/c;",
         "Lcom/ford/syncV4/transport/f;",
         "Lcom/ford/syncV4/d/b;",
         "Lcom/ford/syncV4/d/c;",
         "Lcom/ford/syncV4/protocol/a/c;",
         "Lcom/ford/syncV4/d/d;",
         "Lcom/ford/syncV4/exception/SyncException;",
         "Lcom/ford/syncV4/exception/SyncExceptionCause;",
         "Lcom/ford/syncV4/protocol/a/a$1;",
         "Lcom/ford/syncV4/protocol/a/a$2;",
         "Lcom/ford/syncV4/protocol/a/b;",
         "Lcom/ford/syncV4/protocol/a/a;",
         "Lcom/ford/syncV4/protocol/a;",
         "Lcom/ford/syncV4/protocol/b;",
         "Lcom/ford/syncV4/protocol/d;",
         "Lcom/ford/syncV4/protocol/e;",
         "Lcom/ford/syncV4/protocol/enums/FunctionID$1;",
         "Lcom/ford/syncV4/protocol/enums/MessageType;",
         "Lcom/ford/syncV4/util/b;",
         "Lcom/ford/syncV4/protocol/enums/a;",
         "Lcom/ford/syncV4/protocol/enums/b;",
         "Lcom/ford/syncV4/protocol/enums/c;",
         "Lcom/ford/syncV4/protocol/enums/d;",
         "Lcom/ford/syncV4/protocol/f;",
         "Lcom/ford/syncV4/protocol/g;",
         "Lcom/ford/syncV4/protocol/h;",
         "Lcom/ford/syncV4/proxy/a/a;",
         "Lcom/ford/syncV4/proxy/a/b;",
         "Lcom/ford/syncV4/proxy/a/c;",
         "Lcom/ford/syncV4/proxy/b/b;",
         "Lcom/ford/syncV4/proxy/a;",
         "Lcom/ford/syncV4/proxy/b/a;",
         "Lcom/ford/syncV4/proxy/b;",
         "Lcom/ford/syncV4/proxy/h;",
         "Lcom/ford/syncV4/proxy/c;",
         "Lcom/ford/syncV4/proxy/d;",
         "Lcom/ford/syncV4/proxy/e;",
         "Lcom/ford/syncV4/proxy/f;",
         "Lcom/ford/syncV4/proxy/g;",
         "Lcom/ford/syncV4/proxy/j;",
         "Lcom/ford/syncV4/proxy/i;",
         "Lcom/ford/syncV4/proxy/j$10;",
         "Lcom/ford/syncV4/proxy/j$11;",
         "Lcom/ford/syncV4/proxy/j$12;",
         "Lcom/ford/syncV4/proxy/j$13;",
         "Lcom/ford/syncV4/proxy/j$14;",
         "Lcom/ford/syncV4/proxy/j$15;",
         "Lcom/ford/syncV4/proxy/j$16;",
         "Lcom/ford/syncV4/proxy/j$17;",
         "Lcom/ford/syncV4/proxy/j$18;",
         "Lcom/ford/syncV4/proxy/j$19;",
         "Lcom/ford/syncV4/proxy/j$1;",
         "Lcom/ford/syncV4/proxy/j$20;",
         "Lcom/ford/syncV4/proxy/j$21;",
         "Lcom/ford/syncV4/proxy/j$22;",
         "Lcom/ford/syncV4/proxy/j$23;",
         "Lcom/ford/syncV4/proxy/j$24;",
         "Lcom/ford/syncV4/proxy/j$25;",
         "Lcom/ford/syncV4/proxy/j$26;",
         "Lcom/ford/syncV4/proxy/j$27;",
         "Lcom/ford/syncV4/proxy/j$28;",
         "Lcom/ford/syncV4/proxy/j$29;",
         "Lcom/ford/syncV4/proxy/j$2;",
         "Lcom/ford/syncV4/proxy/j$30;",
         "Lcom/ford/syncV4/proxy/j$31;",
         "Lcom/ford/syncV4/proxy/j$32;",
         "Lcom/ford/syncV4/proxy/j$33;",
         "Lcom/ford/syncV4/proxy/j$34;",
         "Lcom/ford/syncV4/proxy/j$35;",
         "Lcom/ford/syncV4/proxy/j$36;",
         "Lcom/ford/syncV4/proxy/j$37;",
         "Lcom/ford/syncV4/proxy/j$38;",
         "Lcom/ford/syncV4/proxy/j$39;",
         "Lcom/ford/syncV4/proxy/j$3;",
         "Lcom/ford/syncV4/proxy/j$40;",
         "Lcom/ford/syncV4/proxy/j$41;",
         "Lcom/ford/syncV4/proxy/j$42;",
         "Lcom/ford/syncV4/proxy/j$43;",
         "Lcom/ford/syncV4/proxy/j$44;",
         "Lcom/ford/syncV4/proxy/j$45;",
         "Lcom/ford/syncV4/proxy/j$46;",
         "Lcom/ford/syncV4/proxy/j$47;",
         "Lcom/ford/syncV4/proxy/j$48;",
         "Lcom/ford/syncV4/proxy/j$49;",
         "Lcom/ford/syncV4/proxy/j$4;",
         "Lcom/ford/syncV4/proxy/j$50;",
         "Lcom/ford/syncV4/proxy/j$51;",
         "Lcom/ford/syncV4/proxy/j$52;",
         "Lcom/ford/syncV4/proxy/j$53;",
         "Lcom/ford/syncV4/proxy/j$54;",
         "Lcom/ford/syncV4/proxy/j$55;",
         "Lcom/ford/syncV4/proxy/j$56;",
         "Lcom/ford/syncV4/proxy/j$57;",
         "Lcom/ford/syncV4/proxy/j$58;",
         "Lcom/ford/syncV4/proxy/j$59;",
         "Lcom/ford/syncV4/proxy/j$5;",
         "Lcom/ford/syncV4/proxy/j$60;",
         "Lcom/ford/syncV4/proxy/j$61;",
         "Lcom/ford/syncV4/proxy/j$62;",
         "Lcom/ford/syncV4/proxy/j$63;",
         "Lcom/ford/syncV4/proxy/j$64;",
         "Lcom/ford/syncV4/proxy/j$6;",
         "Lcom/ford/syncV4/proxy/j$7;",
         "Lcom/ford/syncV4/proxy/j$8;",
         "Lcom/ford/syncV4/pr
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ClassInfos -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ClassInfos -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.ChainedScript import ChainedScript
from androlyze.model.script.impl.ClassDetails import ClassDetails
from androlyze.model.script.impl.ClassListing import ClassListing

class ClassInfos(ChainedScript):
    ''' List classes as well as their details (methods and fields) '''

    VERSION = "0.1"

    ############################################################
    #---ChainedScript options
    ############################################################

    def chain_scripts(self):
        return [ClassListing(), ClassDetails()]

    def continue_on_script_failure(self):
        ''' Specify if the analysis shall continue if a script encounters an error '''
        return True

    def log_script_failure_exception(self):
        ''' If true, write the exception into the result file'''
        return True

    def create_script_stats(self):
        ''' If true, create some script statistics and
        write them into the `ResultObject` (at least if used)'''
        return True


if __name__ == '__main__':
    from androlyze.model.script.AndroScript import AndroScript

    for res in AndroScript.test(ClassInfos, ["../../../../testenv/apks/a2dp.Vol.apk"]):
        # get result object
        print res
        print
        # get json
        print res.write_to_json()

ClassListing

This is an autogenerated documentation file for the script: ClassListing

Run it
$ ./androanalyze scripts_builtin/ClassListing.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ClassListing -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ClassListing",
         "sha256": "751e97d37b745d177d670debd51d8950ba070cfcb0dbb4914d6d6ae7143df0b8",
         "analysis date": "2015-06-26T17:13:38.527000",
         "version": "0.1"
     },
     "classes": [
         "Landroid/support/v4/a/a/a;",
         "Landroid/support/v4/a/a/c;",
         "Landroid/support/v4/a/a/b;",
         "Landroid/support/v4/a/a/d;",
         "Landroid/support/v4/a/a/e;",
         "Landroid/support/v4/a/a/f;",
         "Landroid/support/v4/a/a/g;",
         "Landroid/support/v4/a/a/h;",
         "Landroid/support/v4/a/a/i;",
         "Landroid/support/v4/app/BackStackState$1;",
         "Landroid/support/v4/app/BackStackState;",
         "Landroid/support/v4/app/k;",
         "Landroid/support/v4/app/Fragment$1;",
         "Landroid/support/v4/app/Fragment$InstantiationException;",
         "Landroid/support/v4/app/Fragment$SavedState$1;",
         "Landroid/support/v4/app/Fragment$SavedState;",
         "Landroid/support/v4/app/Fragment;",
         "Landroid/support/v4/app/FragmentManagerState$1;",
         "Landroid/support/v4/app/FragmentManagerState;",
         "Landroid/support/v4/app/FragmentState$1;",
         "Landroid/support/v4/app/FragmentState;",
         "Landroid/support/v4/app/FragmentTabHost$SavedState$1;",
         "Landroid/support/v4/app/FragmentTabHost$SavedState;",
         "Landroid/support/v4/app/FragmentTabHost;",
         "Landroid/support/v4/app/SuperNotCalledException;",
         "Landroid/support/v4/content/c;",
         "Landroid/support/v4/app/a;",
         "Landroid/support/v4/app/aa;",
         "Landroid/support/v4/app/ab;",
         "Landroid/support/v4/app/ac;",
         "Landroid/support/v4/app/ad;",
         "Landroid/support/v4/app/ae;",
         "Landroid/support/v4/app/af;",
         "Landroid/support/v4/app/ag;",
         "Landroid/support/v4/app/ah;",
         "Landroid/support/v4/app/ai;",
         "Landroid/support/v4/app/be;",
         "Landroid/support/v4/app/aj$1;",
         "Landroid/support/v4/app/bd;",
         "Landroid/support/v4/app/aj;",
         "Landroid/support/v4/app/ax;",
         "Landroid/support/v4/app/ak;",
         "Landroid/support/v4/app/al;",
         "Landroid/support/v4/app/am;",
         "Landroid/support/v4/app/an;",
         "Landroid/support/v4/app/ao;",
         "Landroid/support/v4/app/ar;",
         "Landroid/support/v4/app/av;",
         "Landroid/support/v4/app/aw;",
         "Landroid/support/v4/app/ap;",
         "Landroid/support/v4/app/aq;",
         "Landroid/support/v4/app/as;",
         "Landroid/support/v4/app/at;",
         "Landroid/support/v4/app/au;",
         "Landroid/support/v4/app/ay;",
         "Landroid/support/v4/app/az;",
         "Landroid/support/v4/app/b;",
         "Landroid/support/v4/app/ba;",
         "Landroid/support/v4/app/bb;",
         "Landroid/support/v4/app/bc;",
         "Landroid/support/v4/app/bf;",
         "Landroid/support/v4/app/bg;",
         "Landroid/support/v4/app/bh;",
         "Landroid/support/v4/app/bi;",
         "Landroid/support/v4/app/bj;",
         "Landroid/support/v4/app/bk;",
         "Landroid/support/v4/app/bl;",
         "Landroid/support/v4/app/bu;",
         "Landroid/support/v4/app/bm$1;",
         "Landroid/support/v4/app/bt;",
         "Landroid/support/v4/app/bm;",
         "Landroid/support/v4/app/bn;",
         "Landroid/support/v4/app/bo;",
         "Landroid/support/v4/app/bp;",
         "Landroid/support/v4/app/bq;",
         "Landroid/support/v4/app/br;",
         "Landroid/support/v4/app/bs;",
         "Landroid/support/v4/app/bv;",
         "Landroid/support/v4/app/bw;",
         "Landroid/support/v4/app/bx;",
         "Landroid/support/v4/app/by;",
         "Landroid/support/v4/app/bz;",
         "Landroid/support/v4/app/c;",
         "Landroid/support/v4/app/ca;",
         "Landroid/support/v4/app/cb;",
         "Landroid/support/v4/app/d;",
         "Landroid/support/v4/app/u;",
         "Landroid/support/v4/app/e$1;",
         "Landroid/support/v4/app/e$2;",
         "Landroid/support/v4/app/e$3;",
         "Landroid/support/v4/app/r;",
         "Landroid/support/v4/app/e;",
         "Landroid/support/v4/app/f;",
         "Landroid/support/v4/app/g;",
         "Landroid/support/v4/app/h;",
         "Landroid/support/v4/app/i$1;",
         "Landroid/support/v4/app/i$2;",
         "Landroid/support/v4/app/i;",
         "Landroid/support/v4/app/j;",
         "Landroid/support/v4/app/l;",
         "Landroid/support/v4/app/m;",
         "Landroid/support/v4/app/n$1;",
         "Landroid/support/v4/app/n$2;",
         "Landroid/support/v4/app/n$3;",
         "Landroid/support/v4/app/n$4;",
         "Landroid/support/v4/app/n;",
         "Landroid/support/v4/app/o;",
         "Landroid/support/v4/view/at;",
         "Landroid/support/v4/app/p;",
         "Landroid/support/v4/app/q;",
         "Landroid/support/v4/app/s$1;",
         "Landroid/support/v4/app/s$2;",
         "Landroid/support/v4/app/s$3;",
         "Landroid/support/v4/app/s$4;",
         "Landroid/support/v4/app/s;",
         "Landroid/support/v4/app/t;",
         "Landroid/support/v4/app/v$1;",
         "Landroid/support/v4/app/v$2;",
         "Landroid/support/v4/app/v;",
         "Landroid/support/v4/app/w;",
         "Landroid/support/v4/app/x;",
         "Landroid/support/v4/app/y;",
         "Landroid/support/v4/content/p;",
         "Landroid/support/v4/app/z;",
         "Landroid/support/v4/b/a/a;",
         "Landroid/support/v4/b/a/b;",
         "Landroid/support/v4/b/a/c;",
         "Landroid/support/v4/c/a;",
         "Landroid/support/v4/c/b;",
         "Landroid/support/v4/c/c;",
         "Landroid/support/v4/c/d;",
         "Landroid/support/v4/c/e;",
         "Landroid/support/v4/c/f;",
         "Landroid/support/v4/c/g;",
         "Landroid/support/v4/content/ModernAsyncTask$1;",
         "Landroid/support/v4/content/v;",
         "Landroid/support/v4/content/ModernAsyncTask$2;",
         "Landroid/support/v4/content/ModernAsyncTask$3;",
         "Landroid/support/v4/content/ModernAsyncTask$4;",
         "Landroid/support/v4/content/ModernAsyncTask$Status;",
         "Landroid/support/v4/content/ModernAsyncTask;",
         "Landroid/support/v4/content/n;",
         "Landroid/support/v4/content/a;",
         "Landroid/support/v4/content/b;",
         "Landroid/support/v4/content/d;",
         "Landroid/support/v4/content/e;",
         "Landroid/support/v4/content/f;",
         "Landroid/support/v4/content/g;",
         "Landroid/support/v4/content/h;",
         "Landroid/support/v4/content/i;",
         "Landroid/support/v4/content/j;",
         "Landroid/support/v4/content/k;",
         "Landroid/support/v4/content/l;",
         "Landroid/support/v4/content/m;",
         "Landroid/support/v4/content/o;",
         "Landroid/support/v4/content/q$1;",
         "Landroid/support/v4/content/q;",
         "Landroid/support/v4/content/r;",
         "Landroid/support/v4/content/s;",
         "Landroid/support/v4/content/t;",
         "Landroid/support/v4/content/u;",
         "Landroid/support/v4/d/a;",
         "Landroid/support/v4/d/b;",
         "Landroid/support/v4/d/c;",
         "Landroid/support/v4/d/d;",
         "Landroid/support/v4/d/e;",
         "Landroid/support/v4/d/f;",
         "Landroid/support/v4/e/g;",
         "Landroid/support/v4/e/a$1;",
         "Landroid/support/v4/e/p;",
         "Landroid/support/v4/e/a;",
         "Landroid/support/v4/e/b;",
         "Landroid/support/v4/e/c;",
         "Landroid/support/v4/e/d;",
         "Landroid/support/v4/e/e;",
         "Landroid/support/v4/e/f;",
         "Landroid/support/v4/e/h;",
         "Landroid/support/v4/e/i;",
         "Landroid/support/v4/e/j;",
         "Landroid/support/v4/e/k;",
         "Landroid/support/v4/e/l;",
         "Landroid/support/v4/e/m;",
         "Landroid/support/v4/e/n;",
         "Landroid/support/v4/e/o;",
         "Landroid/support/v4/e/q;",
         "Landroid/support/v4/e/r;",
         "Landroid/support/v4/view/co;",
         "Landroid/support/v4/view/ActionBarTabStrip;",
         "Landroid/support/v4/view/PagerTabStrip$1;",
         "Landroid/support/v4/view/PagerTabStrip$2;",
         "Landroid/support/v4/view/PagerTitleStrip;",
         "Landroid/support/v4/view/PagerTabStrip;",
         "Landroid/support/v4/view/PagerTitleStripHacked;",
         "Landroid/support/v4/view/ViewPager$1;",
         "Landroid/support/v4/view/ViewPager$2;",
         "Landroid/support/v4/view/ViewPager$3;",
         "Landroid/support/v4/view/ViewPager$LayoutParams;",
         "Landroid/support/v4/view/ViewPager$SavedState$1;",
         "Landroid/support/v4/view/ViewPager$SavedState;",
         "Landroid/support/v4/view/ViewPager;",
         "Landroid/support/v4/view/a/a;",
         "Landroid/support/v4/view/a/aa$1;",
         "Landroid/support/v4/view/a/aa;",
         "Landroid/support/v4/view/a/ab;",
         "Landroid/support/v4/view/a/ac;",
         "Landroid/support/v4/view/a/af;",
         "Landroid/support/v4/view/a/ah;",
         "Landroid/support/v4/view/a/ad;",
         "Landroid/support/v4/view/a/ae;",
         "Landroid/support/v4/view/a/ag;",
         "Landroid/support/v4/view/a/ai;",
         "Landroid/support/v4/view/a/d;",
         "Landroid/support/v4/view/a/c;",
         "Landroid/support/v4/view/a/b;",
         "Landroid/support/v4/view/a/e;",
         "Landroid/support/v4/view/a/h;",
         "Landroid/support/v4/view/a/l;",
         "Landroid/support/v4/view/a/g;",
         "Landroid/support/v4/view/a/i;",
         "Landroid/support/v4/view/a/j;",
         "Landroid/support/v4/view/a/k;",
         "Landroid/support/v4/view/a/f;",
         "Landroid/support/v4/view/a/m;",
         "Landroid/support/v4/view/a/n;",
         "Landroid/support/v4/view/a/o;",
         "Landroid/support/v4/view/a/p;",
         "Landroid/support/v4/view/a/q;",
         "Landroid/support/v4/view/a/r;",
         "Landroid/support/v4/view/a/s;",
         "Landroid/support/v4/view/a/t;",
         "Landroid/support/v4/view/a/u;",
         "Landroid/support/v4/view/a/z;",
         "Landroid/support/v4/view/a/v$1;",
         "Landroid/support/v4/view/a/x;",
         "Landroid/support/v4/view/a/v;",
         "Landroid/support/v4/view/a/w$1;",
         "Landroid/support/v4/view/a/w;",
         "Landroid/support/v4/view/a/y$1;",
         "Landroid/support/v4/view/a/y;",
         "Landroid/support/v4/view/a;",
         "Landroid/support/v4/view/aa;",
         "Landroid/support/v4/view/ab;",
         "Landroid/support/v4/view/ac;",
         "Landroid/support/v4/view/ad;",
         "Landroid/support/v4/view/ae;",
         "Landroid/support/v4/view/af;",
         "Landroid/support/v4/view/aj;",
         "Landroid/support/v4/view/ag;",
         "Landroid/support/v4/view/ah;",
         "Landroid/support/v4/view/ai;",
         "Landroid/support/v4/view/ak;",
         "Landroid/support/v4/view/al;",
         "Landroid/support/v4/view/am;",
         "Landroid/support/v4/view/an;",
         "Landroid/support/v4/view/aq;",
         "Landroid/support/v4/view/ao;",
         "Landroid/support/v4/view/ap;",
         "Landroid/support/v4/view/ar;",
         "Landroid/support/v4/view/as;",
         "Landroid/support/v4/view/cr;",
         "Landroid/support/v4/view/cs;",
         "Landroid/support/v4/view/au;",
         "Landroid/support/v4/view/av;",
         "Landroid/support/v4/view/aw;",
         "Landroid/support/v4/view/ax;",
         "Landroid/support/v4/view/ay;",
         "Landroid/support/v4/view/az;",
         "Landroid/support/v4/view/g;",
         "Landroid/support/v4/view/b$1;",
         "Landroid/support/v4/view/c;",
         "Landroid/support/v4/view/e;",
         "Landroid/support/v4/view/b;",
         "Landroid/support/v4/view/ba;",
         "Landroid/support/v4/view/bb;",
         "Landroid/support/v4/view/be;",
         "Landroid/support/v4/view/bc;",
         "Landroid/support/v4/view/bd;",
         "Landroid/support/v4/view/bf;",
         "Landroid/support/v4/view/bg;",
         "Landroid/support/v4/view/bq;",
         "Landroid/support/v4/view/bi;",
         "Landroid/support/v4/view/bj;",
         "Landroid/support/v4/view/bk;",
         "Landroid/support/v4/view/bl;",
         "Landroid/support/v4/view/bm;",
         "Landroid/support/v4/view/bn;",
         "Landroid/support/v4/view/bo;",
         "Landroid/support/v4/view/bp;",
         "Landroid/support/v4/view/bh;",
         "Landroid/support/v4/view/br$1;",
         "Landroid/support/v4/view/br;",
         "Landroid/support/v4/view/bs;",
         "Landroid/support/v4/view/bt;",
         "Landroid/support/v4/view/bu;",
         "Landroid/support/v4/view/bv;",
         "Landroid/support/v4/view/bw;",
         "Landroid/support/v4/view/bx;",
         "Landroid/support/v4/view/by;",
         "Landroid/support/v4/view/cd;",
         "Landroid/support/v4/view/bz;",
         "Landroid/support/v4/view/ca;",
         "Landroid/support/v4/view/cb;",
         "Landroid/support/v4/view/cc;",
         "Landroid/support/v4/view/ce;",
         "Landroid/support/v4/view/cf;",
         "Landroid/support/v4/view/cg;",
         "Landroid/support/v4/view/ck;",
         "Landroid/support/v4/view/cm;",
         "Landroid/support/v4/view/ci;",
         "Landroid/support/v4/view/cj;",
         "Landroid/support/v4/view/cl;",
         "Landroid/support/v4/view/ch;",
         "Landroid/support/v4/view/cn;",
         "Landroid/support/v4/view/cp;",
         "Landroid/support/v4/view/cq;",
         "Landroid/support/v4/view/ct;",
         "Landroid/support/v4/view/cu;",
         "Landroid/support/v4/view/cv;",
         "Landroid/support/v4/view/cw;",
         "Landroid/support/v4/view/cx;",
         "Landroid/support/v4/view/df;",
         "Landroid/support/v4/view/cy;",
         "Landroid/support/v4/view/cz;",
         "Landroid/support/v4/view/i;",
         "Landroid/support/v4/view/d$1;",
         "Landroid/support/v4/view/d;",
         "Landroid/support/v4/view/da;",
         "Landroid/support/v4/view/dj;",
         "Landroid/support/v4/view/db;",
         "Landroid/support/v4/view/dd;",
         "Landroid/support/v4/view/dc;",
         "Landroid/support/v4/view/de;",
         "Landroid/support/v4/view/dg$1;",
         "Landroid/support/v4/view/dg;",
         "Landroid/support/v4/view/dh$1;",
         "Landroid/support/v4/view/dh;",
         "Landroid/support/v4/view/di$1;",
         "Landroid/support/v4/view/di;",
         "Landroid/support/v4/view/dk;",
         "Landroid/support/v4/view/dl;",
         "Landroid/support/v4/view/dm;",
         "Landroid/support/v4/view/dn;",
         "Landroid/support/v4/view/f$1;",
         "Landroid/support/v4/view/f;",
         "Landroid/support/v4/view/h$1;",
         "Landroid/support/v4/view/h;",
         "Landroid/support/v4/view/j;",
         "Landroid/support/v4/view/k;",
         "Landroid/support/v4/view/l;",
         "Landroid/support/v4/view/m;",
         "Landroid/support/v4/view/n;",
         "Landroid/support/v4/view/o;",
         "Landroid/support/v4/view/p;",
         "Landroid/support/v4/view/q;",
         "Landroid/support/v4/view/r;",
         "Landroid/support/v4/view/s;",
         "Landroid/support/v4/view/t;",
         "Landroid/support/v4/view/x;",
         "Landroid/support/v4/view/u;",
         "Landroid/support/v4/view/v;",
         "Landroid/support/v4/view/w;",
         "Landroid/support/v4/view/y;",
         "Landroid/support/v4/view/z;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar$1;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar$2;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar;",
         "Landroid/support/v4/widget/DrawerLayout$LayoutParams;",
         "Landroid/support/v4/widget/DrawerLayout$SavedState$1;",
         "Landroid/support/v4/widget/DrawerLayout$SavedState;",
         "Landroid/support/v4/widget/s;",
         "Landroid/support/v4/widget/DrawerLayout;",
         "Landroid/support/v4/widget/SlidingPaneLayout$LayoutParams;",
         "Landroid/support/v4/widget/SlidingPaneLayout$SavedState$1;",
         "Landroid/support/v4/widget/SlidingPaneLayout$SavedState;",
         "Landroid/support/v4/widget/SlidingPaneLayout;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$1;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$2;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$3;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$4;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$5;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$6;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$7;",
         "Landroid/support/v4/widget/SwipeRefreshLayout;",
         "Landroid/support/v4/widget/a;",
         "Landroid/support/v4/widget/aa;",
         "Landroid/support/v4/widget/ab;",
         "Landroid/support/v4/widget/ac;",
         "Landroid/support/v4/widget/ad;",
         "Landroid/support/v4/widget/ag;",
         "Landroid/support/v4/widget/ae;",
         "Landroid/support/v4/widget/af;",
         "Landroid/support/v4/widget/ah;",
         "Landroid/support/v4/widget/i;",
         "Landroid/support/v4/widget/f;",
         "Landroid/support/v4/widget/ai;",
         "Landroid/support/v4/widget/aj;",
         "Landroid/support/v4/widget/ak;",
         "Landroid/support/v4/widget/al;",
         "Landroid/support/v4/widget/am;",
         "Landroid/support/v4/widget/an;",
         "Landroid/support/v4/widget/ao;",
         "Landroid/support/v4/widget/ap;",
         "Landroid/support/v4/widget/aq;",
         "Landroid/support/v4/widget/ar;",
         "Landroid/support/v4/widget/ba;",
         "Landroid/support/v4/widget/as;",
         "Landroid/support/v4/widget/at;",
         "Landroid/support/v4/widget/au;",
         "Landroid/support/v4/widget/av;",
         "Landroid/support/v4/widget/aw;",
         "Landroid/support/v4/widget/ax;",
         "Landroid/support/v4/widget/ay;",
         "Landroid/support/v4/widget/az$1;",
         "Landroid/support/v4/widget/az$2;",
         "Landroid/support/v4/widget/az;",
         "Landroid/support/v4/widget/b;",
         "Landroid/support/v4/widget/c;",
         "Landroid/support/v4/widget/d;",
         "Landroid/support/v4/widget/e;",
         "Landroid/support/v4/widget/g;",
         "Landroid/support/v4/widget/h;",
         "Landroid/support/v4/widget/j;",
         "Landroid/support/v4/widget/k;",
         "Landroid/support/v4/widget/l;",
         "Landroid/support/v4/widget/m;",
         "Landroid/support/v4/widget/n;",
         "Landroid/support/v4/widget/o;",
         "Landroid/support/v4/widget/p$1;",
         "Landroid/support/v4/widget/p;",
         "Landroid/support/v4/widget/q;",
         "Landroid/support/v4/widget/r;",
         "Landroid/support/v4/widget/t;",
         "Landroid/support/v4/widget/w;",
         "Landroid/support/v4/widget/u;",
         "Landroid/support/v4/widget/v;",
         "Landroid/support/v4/widget/x;",
         "Landroid/support/v4/widget/y;",
         "Landroid/support/v4/widget/z$1;",
         "Landroid/support/v4/widget/z$2;",
         "Landroid/support/v4/widget/z$3;",
         "Landroid/support/v4/widget/z$4;",
         "Landroid/support/v4/widget/z$5;",
         "Landroid/support/v4/widget/z;",
         "Landroid/support/v7/a/a;",
         "Landroid/support/v7/a/b;",
         "Landroid/support/v7/a/c;",
         "Landroid/support/v7/a/d;",
         "Landroid/support/v7/a/e;",
         "Landroid/support/v7/a/f;",
         "Landroid/support/v7/a/g;",
         "Landroid/support/v7/a/h;",
         "Landroid/support/v7/a/i;",
         "Landroid/support/v7/a/j;",
         "Landroid/support/v7/a/k;",
         "Landroid/support/v7/a/l;",
         "Landroid/support/v7/app/ActionBar$LayoutParams;",
         "Landroid/support/v7/app/ActionBar;",
         "Landroid/support/v7/app/a;",
         "Landroid/support/v7/app/s;",
         "Landroid/support/v7/app/b;",
         "Landroid/support/v7/internal/a/f;",
         "Landroid/support/v7/app/c$1;",
         "Landroid/support/v7/app/c;",
         "Landroid/support/v7/app/l;",
         "Landroid/support/v7/app/d;",
         "Landroid/support/v7/app/e$1;",
         "Landroid/support/v7/app/e$2;",
         "Landroid/support/v7/internal/widget/x;",
         "Landroid/support/v7/app/e$3;",
         "Landroid/support/v7/app/e$4;",
         "Landroid/support/v7/internal/view/menu/j;",
         "Landroid/support/v7/app/e;",
         "Landroid/support/v7/internal/view/menu/w;",
         "Landroid/support/v7/app/f;",
         "Landroid/support/v7/b/b;",
         "Landroid/support/v7/app/g;",
         "Landroid/support/v7/app/h;",
         "Landroid/support/v7/app/i;",
         "Landroid/support/v7/internal/widget/z;",
         "Landroid/support/v7/app/j;",
         "Landroid/support/v7/app/k;",
         "Landroid/support/v7/app/m;",
         "Landroid/support/v7/app/x;",
         "Landroid/support/v7/app/o;",
         "Landroid/support/v7/app/n;",
         "Landroid/support/v7/app/p;",
         "Landroid/support/v7/app/q;",
         "Landroid/support/v7/app/r;",
         "Landroid/support/v7/app/t;",
         "Landroid/support/v7/app/u;",
         "Landroid/support/v7/app/v;",
         "Lcom/spotify/mobile/android/util/ui/d;",
         "Landroid/support/v7/app/w;",
         "Landroid/support/v7/b/a;",
         "Landroid/support/v7/b/c;",
         "Landroid/support/v7/internal/a/a$1;",
         "Landroid/support/v7/widget/br;",
         "Landroid/support/v7/internal/a/a$2;",
         "Landroid/support/v7/internal/a/a;",
         "Landroid/support/v7/internal/a/b;",
         "Landroid/support/v7/internal/a/c;",
         "Landroid/support/v7/internal/a/d;",
         "Landroid/support/v7/widget/bs;",
         "Landroid/support/v7/internal/a/e;",
         "Landroid/support/v7/internal/a/g$1;",
         "Landroid/support/v7/internal/a/g$2;",
         "Landroid/support/v7/internal/a/g$3;",
         "Landroid/support/v7/internal/widget/f;",
         "Landroid/support/v7/internal/a/g;",
         "Landroid/support/v7/internal/a/h;",
         "Landroid/support/v7/internal/a;",
         "Landroid/support/v7/internal/b/a;",
         "Landroid/support/v7/internal/view/a;",
         "Landroid/support/v7/internal/view/b;",
         "Landroid/support/v7/internal/view/c;",
         "Landroid/support/v7/internal/view/d;",
         "Landroid/support/v7/internal/view/e;",
         "Landroid/support/v7/internal/view/f;",
         "Landroid/support/v7/internal/view/g;",
         "Landroid/support/v7/internal/view/h$1;",
         "Landroid/support/v7/internal/view/h;",
         "Landroid/support/v7/internal/widget/CompatTextView;",
         "Landroid/support/v7/internal/view/menu/y;",
         "Landroid/support/v7/widget/h;",
         "Landroid/support/v7/internal/view/menu/ActionMenuItemView;",
         "Landroid/support/v7/internal/view/menu/k;",
         "Landroid/support/v7/internal/view/menu/x;",
         "Landroid/support/v7/internal/view/menu/ExpandedMenuView;",
         "Landroid/support/v7/internal/view/menu/ListMenuItemView;",
         "Landroid/support/v7/internal/view/menu/a;",
         "Landroid/support/v7/internal/view/menu/f;",
         "Landroid/support/v7/internal/view/menu/e;",
         "Landroid/support/v7/internal/view/menu/aa;",
         "Landroid/support/v7/internal/view/menu/i;",
         "Landroid/support/v7/internal/view/menu/ab;",
         "Landroid/support/v7/internal/view/menu/ac;",
         "Landroid/support/v7/widget/ab;",
         "Landroid/support/v7/internal/view/menu/b;",
         "Landroid/support/v7/internal/view/menu/c;",
         "Landroid/support/v7/internal/view/menu/v;",
         "Landroid/support/v7/internal/view/menu/d;",
         "Landroid/support/v7/internal/view/menu/g;",
         "Landroid/support/v7/internal/view/menu/h;",
         "Landroid/support/v7/internal/view/menu/l;",
         "Landroid/support/v7/internal/view/menu/m$1;",
         "Landroid/support/v7/internal/view/menu/m;",
         "Landroid/support/v7/internal/view/menu/n;",
         "Landroid/support/v7/internal/view/menu/o$1;",
         "Landroid/support/v7/internal/view/menu/o;",
         "Landroid/support/v7/internal/view/menu/p;",
         "Landroid/support/v7/internal/view/menu/q;",
         "Landroid/support/v7/internal/view/menu/r;",
         "Landroid/support/v7/internal/view/menu/s;",
         "Landroid/support/v7/internal/view/menu/t;",
         "Landroid/support/v7/internal/view/menu/u;",
         "Landroid/support/v7/internal/view/menu/z;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat$SavedState$1;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat$SavedState;",
         "Landroid/support/v7/internal/widget/o;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat;",
         "Landroid/support/v7/internal/widget/ActionBarContainer;",
         "Landroid/support/v7/internal/widget/ActionBarContextView$1;",
         "Landroid/support/v7/internal/widget/a;",
         "Landroid/support/v7/internal/widget/ActionBarContextView;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$1;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$2;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$3;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$4;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$LayoutParams;",
         "Landroid/support/v7/internal/widget/t;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$1;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$2;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$3;",
         "Landroid/support/v7/internal/widget/ActivityChooserView;",
         "Landroid/support/v7/internal/widget/AppCompatPopupWindow;",
         "Landroid/support/v7/internal/widget/ContentFrameLayout;",
         "Landroid/support/v7/internal/widget/w;",
         "Landroid/support/v7/internal/widget/FitWindowsFrameLayout;",
         "Landroid/support/v7/internal/widget/FitWindowsLinearLayout;",
         "Landroid/support/v7/internal/widget/ListViewCompat;",
         "Landroid/support/v7/internal/widget/NativeActionModeAwareLayout;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$1;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$2;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$SavedState$1;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$SavedState;",
         "Landroid/support/v7/internal/widget/SpinnerCompat;",
         "Landroid/support/v7/internal/widget/TintCheckBox;",
         "Landroid/support/v7/internal/widget/TintCheckedTextView;",
         "Landroid/support/v7/internal/widget/TintEditText;",
         "Landroid/support/v7/internal/widget/TintImageView;",
         "Landroid/support/v7/internal/widget/TintRadioButton;",
         "Landroid/support/v7/internal/widget/TintSpinner;",
         "Landroid/support/v7/internal/widget/ViewStubCompat;",
         "Landroid/support/v7/internal/widget/aa;",
         "Landroid/support/v7/internal/widget/ab$1;",
         "Landroid/support/v7/internal/widget/q;",
         "Landroid/support/v7/internal/widget/ab;",
         "Landroid/support/v7/internal/widget/ac;",
         "Landroid/support/v7/widget/LinearLayoutCompat;",
         "Landroid/support/v7/internal/widget/ad;",
         "Landroid/support/v7/internal/widget/ah;",
         "Landroid/support/v7/internal/widget/ae;",
         "Landroid/support/v7/internal/widget/af;",
         "Landroid/support/v7/internal/widget/ag$1;",
         "Landroid/support/v7/widget/ListPopupWindow;",
         "Landroid/support/v7/internal/widget/ag;",
         "Landroid/support/v7/internal/widget/v;",
         "Landroid/support/v7/internal/widget/ai;",
         "Landroid/support/v7/internal/widget/aj;",
         "Landroid/support/v7/internal/widget/ak;",
         "Landroid/support/v7/internal/widget/al;",
         "Landroid/support/v7/internal/widget/am;",
         "Landroid/support/v7/internal/widget/an$1;",
         "Landroid/support/v7/internal/widget/an$2;",
         "Landroid/support/v7/internal/widget/an$3;",
         "Landroid/support/v7/internal/widget/u;",
         "Landroid/support/v7/internal/widget/an;",
         "Landroid/support/v7/internal/widget/ao;",
         "Landroid/support/v7/internal/widget/ap;",
         "Landroid/support/v7/internal/widget/b;",
         "Landroid/support/v7/internal/widget/c;",
         "Landroid/support/v7/internal/widget/d;",
         "Landroid/support/v7/internal/widget/e;",
         "Landroid/support/v7/internal/widget/g;",
         "Landroid/support/v7/internal/widget/h;",
         "Landroid/support/v7/internal/widget/i;",
         "Landroid/support/v7/internal/widget/j;",
         "Landroid/support/v7/internal/widget/k;",
         "Landroid/support/v7/internal/widget/l;",
         "Landroid/support/v7/internal/widget/m;",
         "Landroid/support/v7/internal/widget/n;",
         "Landroid/support/v7/internal/widget/p;",
         "Landroid/support/v7/internal/widget/r;",
         "Landroid/support/v7/internal/widget/s;",
         "Landroid/support/v7/internal/widget/y;",
         "Landroid/support/v7/widget/LinearLayoutCompat$LayoutParams;",
         "Landroid/support/v7/widget/ActionMenuView$LayoutParams;",
         "Landroid/support/v7/widget/ActionMenuView;",
         "Landroid/support/v7/widget/RecyclerView$LayoutParams;",
         "Landroid/support/v7/widget/GridLayoutManager$LayoutParams;",
         "Landroid/support/v7/widget/at;",
         "Landroid/support/v7/widget/LinearLayoutManager;",
         "Landroid/support/v7/widget/GridLayoutManager;",
         "Landroid/support/v7/widget/LinearLayoutManager$SavedState$1;",
         "Landroid/support/v7/widget/LinearLayoutManager$SavedState;",
         "Landroid/support/v7/widget/ListPopupWindow$1;",
         "Landroid/support/v7/widget/ListPopupWindow$2;",
         "Landroid/support/v7/widget/RecyclerView$1;",
         "Landroid/support/v7/widget/RecyclerView$2;",
         "Landroid/support/v7/widget/RecyclerView$3;",
         "Landroid/support/v7/widget/q;",
         "Landroid/support/v7/widget/RecyclerView$4;",
         "Landroid/support/v7/widget/m;",
         "Landroid/support/v7/widget/RecyclerView$5;",
         "Landroid/support/v7/widget/RecyclerView$SavedState$1;",
         "Landroid/support/v7/widget/RecyclerView$SavedState;",
         "Landroid/support/v7/widget/RecyclerView;",
         "Landroid/support/v7/widget/SearchView$10;",
         "Landroid/support/v7/widget/SearchView$11;",
         "Landroid/support/v7/widget/SearchView$12;",
         "Landroid/support/v7/widget/SearchView$1;",
         "Landroid/support/v7/widget/SearchView$2;",
         "Landroid/support/v7/widget/SearchView$3;",
         "Landroid/support/v7/widget/SearchView$4;",
         "Landroid/support/v7/widget/SearchView$5;",
         "Landroid/support/v7/widget/SearchView$6;",
         "Landroid/support/v7/widget/SearchView$7;",
         "Landroid/support/v7/widget/SearchView$8;",
         "Landroid/support/v7/widget/SearchView$9;",
         "Landroid/support/v7/widget/SearchView$SearchAutoComplete;",
         "Landroid/support/v7/widget/SearchView;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LayoutParams;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem$1;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$SavedState$1;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$SavedState;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager;",
         "Landroid/support/v7/widget/SwitchCompat$1;",
         "Landroid/support/v7/widget/SwitchCompat;",
         "Landroid/support/v7/widget/k;",
         "Landroid/support/v7/widget/Toolbar$1;",
         "Landroid/support/v7/widget/Toolbar$2;",
         "Landroid/support/v7/widget/Toolbar$3;",
         "Landroid/support/v7/widget/Toolbar$LayoutParams;",
         "Landroid/support/v7/widget/Toolbar$SavedState$1;",
         "Landroid/support/v7/widget/Toolbar$SavedState;",
         "Landroid/support/v7/widget/Toolbar;",
         "Landroid/support/v7/widget/a;",
         "Landroid/support/v7/widget/aa;",
         "Landroid/support/v7/widget/ac;",
         "Landroid/support/v7/widget/ad;",
         "Landroid/support/v7/widget/ae;",
         "Landroid/support/v7/widget/af;",
         "Landroid/support/v7/widget/ag;",
         "Landroid/support/v7/widget/ah;",
         "Landroid/support/v7/widget/ai;",
         "Landroid/support/v7/widget/aj;",
         "Landroid/support/v7/widget/ak;",
         "Landroid/support/v7/widget/al;",
         "Landroid/support/v7/widget/al$1;",
         "Landroid/support/v7/widget/al$2;",
         "Landroid/support/v7/widget/am;",
         "Landroid/support/v7/widget/an;",
         "Landroid/support/v7/widget/ao;",
         "Landroid/support/v7/widget/ap;",
         "Landroid/support/v7/widget/aq;",
         "Landroid/support/v7/widget/ar;",
         "Landroid/support/v7/widget/as;",
         "Landroid/support/v7/widget/au;",
         "Landroid/support/v7/widget/av;",
         "Landroid/support/v7/widget/aw;",
         "Landroid/support/v7/widget/ax;",
         "Landroid/support/v7/widget/ay;",
         "Landroid/support/v7/widget/az;",
         "Landroid/support/v7/widget/b;",
         "Landroid/support/v7/widget/ba;",
         "Landroid/support/v7/widget/bb;",
         "Landroid/support/v7/widget/bc;",
         "Landroid/support/v7/widget/bd;",
         "Landroid/support/v7/widget/be;",
         "Landroid/support/v7/widget/bf;",
         "Landroid/support/v7/widget/bg$1;",
         "Landroid/support/v7/widget/bg;",
         "Landroid/support/v7/widget/bh;",
         "Landroid/support/v7/widget/bi;",
         "Landroid/support/v7/widget/bj;",
         "Landroid/support/v7/widget/bk;",
         "Landroid/support/v7/widget/bl;",
         "Landroid/support/v7/widget/bm;",
         "Landroid/support/v7/widget/bn;",
         "Landroid/support/v7/widget/bo;",
         "Landroid/support/v7/widget/bp;",
         "Landroid/support/v7/widget/bq;",
         "Landroid/support/v7/widget/c;",
         "Landroid/support/v7/widget/d;",
         "Landroid/support/v7/widget/e$1;",
         "Landroid/support/v7/widget/e;",
         "Landroid/support/v7/widget/f;",
         "Landroid/support/v7/widget/g;",
         "Landroid/support/v7/widget/i;",
         "Landroid/support/v7/widget/j;",
         "Landroid/support/v7/widget/l;",
         "Landroid/support/v7/widget/n;",
         "Landroid/support/v7/widget/o;",
         "Landroid/support/v7/widget/p;",
         "Landroid/support/v7/widget/r$1;",
         "Landroid/support/v7/widget/r$2;",
         "Landroid/support/v7/widget/r$3;",
         "Landroid/support/v7/widget/u;",
         "Landroid/support/v7/widget/r$4;",
         "Landroid/support/v7/widget/r$5;",
         "Landroid/support/v7/widget/r$6;",
         "Landroid/support/v7/widget/r$7;",
         "Landroid/support/v7/widget/r$8;",
         "Landroid/support/v7/widget/r;",
         "Landroid/support/v7/widget/s;",
         "Landroid/support/v7/widget/t;",
         "Landroid/support/v7/widget/v;",
         "Landroid/support/v7/widget/w;",
         "Landroid/support/v7/widget/x;",
         "Landroid/support/v7/widget/y;",
         "Landroid/support/v7/widget/z;",
         "Lcom/a/a/a/a;",
         "Lcom/a/a/a/b;",
         "Lcom/a/a/a/c;",
         "Lcom/b/a/a$1;",
         "Lcom/b/a/a$2;",
         "Lcom/b/a/a;",
         "Lcom/b/a/b;",
         "Lcom/b/a/c;",
         "Lcom/b/a/d;",
         "Lcom/b/a/e;",
         "Lcom/b/a/f$1;",
         "Lcom/b/a/f;",
         "Lcom/b/a/g;",
         "Lcom/c/a;",
         "Lcom/c/b;",
         "Lcom/c/c;",
         "Lcom/c/d;",
         "Lcom/c/e;",
         "Lcom/c/f;",
         "Lcom/c/g;",
         "Lcom/c/h;",
         "Lcom/c/i;",
         "Lcom/c/j;",
         "Lcom/c/k;",
         "Lcom/c/l;",
         "Lcom/c/m;",
         "Lcom/c/n;",
         "Lcom/c/o;",
         "Lcom/c/p;",
         "Lcom/c/q;",
         "Lcom/c/r;",
         "Lcom/c/s;",
         "Lcom/c/t;",
         "Lcom/c/u;",
         "Lcom/comscore/a/a/a;",
         "Lcom/comscore/a/a/b;",
         "Lcom/comscore/a/a/c;",
         "Lcom/comscore/a/a/d;",
         "Lcom/comscore/a/a/e;",
         "Lcom/comscore/a/a/f;",
         "Lcom/comscore/analytics/ApplicationState;",
         "Lcom/comscore/analytics/SessionState;",
         "Lcom/comscore/analytics/a;",
         "Lcom/comscore/analytics/b;",
         "Lcom/comscore/analytics/c;",
         "Lcom/comscore/analytics/d;",
         "Lcom/comscore/analytics/e;",
         "Lcom/comscore/analytics/f;",
         "Lcom/comscore/analytics/g;",
         "Lcom/comscore/analytics/h;",
         "Lcom/comscore/analytics/i;",
         "Lcom/comscore/analytics/j;",
         "Lcom/comscore/analytics/k;",
         "Lcom/comscore/analytics/l;",
         "Lcom/comscore/analytics/m;",
         "Lcom/comscore/analytics/n;",
         "Lcom/comscore/analytics/o;",
         "Lcom/comscore/analytics/p;",
         "Lcom/comscore/applications/EventType;",
         "Lcom/comscore/b/b;",
         "Lcom/comscore/applications/c;",
         "Lcom/comscore/applications/a;",
         "Lcom/comscore/applications/b;",
         "Lcom/comscore/applications/d;",
         "Lcom/comscore/b/a;",
         "Lcom/comscore/b/c;",
         "Lcom/comscore/b/d;",
         "Lcom/comscore/b/e;",
         "Lcom/comscore/metrics/EventType;",
         "Lcom/comscore/metrics/a;",
         "Lcom/comscore/metrics/b;",
         "Lcom/comscore/utils/DispatchQueue;",
         "Lcom/comscore/utils/TransmissionMode;",
         "Lcom/comscore/utils/a/a;",
         "Lcom/comscore/utils/a;",
         "Lcom/comscore/utils/b/a;",
         "Lcom/comscore/utils/b/b;",
         "Lcom/comscore/utils/b/c;",
         "Lcom/comscore/utils/b;",
         "Lcom/comscore/utils/c;",
         "Lcom/comscore/utils/d;",
         "Lcom/comscore/utils/e;",
         "Lcom/comscore/utils/f;",
         "Lcom/comscore/utils/g;",
         "Lcom/comscore/utils/h;",
         "Lcom/comscore/utils/i;",
         "Lcom/comscore/utils/j;",
         "Lcom/comscore/utils/k;",
         "Lcom/comscore/utils/l;",
         "Lcom/comscore/utils/m;",
         "Lcom/comscore/utils/n;",
         "Lcom/comscore/utils/o;",
         "Lcom/comscore/utils/p;",
         "Lcom/comscore/utils/q;",
         "Lcom/comscore/utils/r;",
         "Lcom/comscore/utils/s;",
         "Lcom/comscore/utils/t;",
         "Lcom/comscore/utils/u;",
         "Lcom/crashlytics/android/ndk/JniNativeApi;",
         "Lcom/devsmart/android/ui/HorizontalListView$1;",
         "Lcom/devsmart/android/ui/HorizontalListView$2;",
         "Lcom/devsmart/android/ui/HorizontalListView$3;",
         "Lcom/devsmart/android/ui/HorizontalListView;",
         "Lcom/facebook/AccessToken$SerializationProxyV2;",
         "Lcom/facebook/AccessToken;",
         "Lcom/facebook/AccessTokenSource;",
         "Lcom/facebook/AppEventsLogger$1;",
         "Lcom/facebook/AppEventsLogger$2;",
         "Lcom/facebook/AppEventsLogger$3;",
         "Lcom/facebook/AppEventsLogger$4;",
         "Lcom/facebook/AppEventsLogger$5;",
         "Lcom/facebook/q;",
         "Lcom/facebook/AppEventsLogger$6;",
         "Lcom/facebook/AppEventsLogger$AccessTokenAppIdPair$SerializationProxyV1;",
         "Lcom/facebook/AppEventsLogger$AccessTokenAppIdPair;",
         "Lcom/facebook/AppEventsLogger$AppEvent$SerializationProxyV1;",
         "Lcom/facebook/AppEventsLogger$AppEvent;",
         "Lcom/facebook/AppEventsLogger$FlushBehavior;",
         "Lcom/facebook/AppEventsLogger$FlushReason;",
         "Lcom/facebook/AppEventsLogger$FlushResult;",
         "Lcom/facebook/AppEventsLogger;",
         "Lcom/facebook/h;",
         "Lcom/facebook/AuthorizationClient$1;",
         "Lcom/facebook/AuthorizationClient$2;",
         "Lcom/facebook/AuthorizationClient$3;",
         "Lcom/facebook/AuthorizationClient$4;",
         "Lcom/facebook/x;",
         "Lcom/facebook/AuthorizationClient$5;",
         "Lcom/facebook/AuthorizationClient$AuthHandler;",
         "Lcom/facebook/AuthorizationClient$AuthorizationRequest;",
         "Lcom/facebook/internal/av;",
         "Lcom/facebook/AuthorizationClient$GetTokenAuthHandler$1;",
         "Lcom/facebook/AuthorizationClient$GetTokenAuthHandler;",
         "Lcom/facebook/AuthorizationClient$KatanaAuthHandler;",
         "Lcom/facebook/AuthorizationClient$KatanaProxyAuthHandler;",
         "Lcom/facebook/AuthorizationClient$Result$Code;",
         "Lcom/facebook/AuthorizationClient$Result;",
         "Lcom/facebook/widget/s;",
         "Lcom/facebook/AuthorizationClient$WebViewAuthHandler$1;",
         "Lcom/facebook/AuthorizationClient$WebViewAuthHandler;",
         "Lcom/facebook/AuthorizationClient;",
         "Lcom/facebook/FacebookException;",
         "Lcom/facebook/FacebookAuthorizationException;",
         "Lcom/facebook/FacebookDialogException;",
         "Lcom/facebook/FacebookGraphObjectException;",
         "Lcom/facebook/FacebookOperationCanceledException;",
         "Lcom/facebook/FacebookRequestError$Category;",
         "Lcom/facebook/FacebookRequestError;",
         "Lcom/facebook/FacebookServiceException;",
         "Lcom/facebook/FacebookTimeSpentData$SerializationProxyV2;",
         "Lcom/facebook/FacebookTimeSpentData;",
         "Lcom/facebook/HttpMethod;",
         "Lcom/facebook/LoggingBehavior;",
         "Lcom/facebook/g;",
         "Lcom/facebook/LoginActivity$1;",
         "Lcom/facebook/f;",
         "Lcom/facebook/LoginActivity$2;",
         "Lcom/facebook/LoginActivity;",
         "Lcom/facebook/Request$1;",
         "Lcom/facebook/Request$2;",
         "Lcom/facebook/s;",
         "Lcom/facebook/Request$3;",
         "Lcom/facebook/Request$ParcelFileDescriptorWithMimeType$1;",
         "Lcom/facebook/Request$ParcelFileDescriptorWithMimeType;",
         "Lcom/facebook/Request;",
         "Lcom/facebook/Session$1;",
         "Lcom/facebook/Session$2;",
         "Lcom/facebook/Session$3;",
         "Lcom/facebook/Session$4$1;",
         "Lcom/facebook/Session$4;",
         "Lcom/facebook/Session$5;",
         "Lcom/facebook/af;",
         "Lcom/facebook/Session$AuthorizationRequest$1;",
         "Lcom/facebook/Session$AuthorizationRequest$2;",
         "Lcom/facebook/Session$AuthorizationRequest$3;",
         "Lcom/facebook/Session$AuthorizationRequest$4;",
         "Lcom/facebook/Session$AuthorizationRequest$AuthRequestSerializationProxyV1;",
         "Lcom/facebook/Session$AuthorizationRequest;",
         "Lcom/facebook/Session$NewPermissionsRequest;",
         "Lcom/facebook/Session$OpenRequest;",
         "Lcom/facebook/Session$SerializationProxyV1;",
         "Lcom/facebook/Session;",
         "Lcom/facebook/SessionDefaultAudience;",
         "Lcom/facebook/SessionLoginBehavior;",
         "Lcom/facebook/SessionState$Category;",
         "Lcom/facebook/SessionState;",
         "Lcom/facebook/a/a;",
         "Lcom/facebook/a/b;",
         "Lcom/facebook/a/c;",
         "Lcom/facebook/a/d;",
         "Lcom/facebook/a/e;",
         "Lcom/facebook/a/f;",
         "Lcom/facebook/a/g;",
         "Lcom/facebook/a/h;",
         "Lcom/facebook/a;",
         "Lcom/facebook/aa$1;",
         "Lcom/facebook/aa;",
         "Lcom/facebook/ab;",
         "Lcom/facebook/ac;",
         "Lcom/facebook/ad;",
         "Lcom/facebook/ae;",
         "Lcom/facebook/ag;",
         "Lcom/facebook/ah;",
         "Lcom/facebook/ai;",
         "Lcom/facebook/aj$1;",
         "Lcom/facebook/aj$2$1;",
         "Lcom/facebook/aj$2;",
         "Lcom/facebook/aj;",
         "Lcom/facebook/al;",
         "Lcom/facebook/ak;",
         "Lcom/facebook/am;",
         "Lcom/facebook/an;",
         "Lcom/facebook/b$1;",
         "Lcom/facebook/b;",
         "Lcom/facebook/c;",
         "Lcom/facebook/d;",
         "Lcom/facebook/widget/q;",
         "Lcom/facebook/widget/p;",
         "Lcom/facebook/e;",
         "Lcom/facebook/i;",
         "Lcom/facebook/internal/LikeActionController$10;",
         "Lcom/facebook/internal/aa;",
         "Lcom/facebook/internal/LikeActionController$1;",
         "Lcom/facebook/internal/LikeActionController$2;",
         "Lcom/facebook/internal/LikeActionController$3;",
         "Lcom/facebook/internal/LikeActionController$4;",
         "Lcom/facebook/internal/LikeActionController$5$1;",
         "Lcom/facebook/internal/LikeActionController$5;",
         "Lcom/facebook/widget/b;",
         "Lcom/facebook/internal/LikeActionController$6;",
         "Lcom/facebook/internal/LikeActionController$7$1;",
         "Lcom/facebook/internal/aj;",
         "Lcom/facebook/internal/LikeActionController$7;",
         "Lcom/facebook/internal/LikeActionController$8;",
         "Lcom/facebook/internal/LikeActionController$9$1;",
         "Lcom/facebook/internal/LikeActionController$9;",
         "Lcom/facebook/widget/c;",
         "Lcom/facebook/internal/LikeActionController$LikeDialogFeature;",
         "Lcom/facebook/internal/LikeActionController;",
         "Lcom/facebook/internal/LikeBoxCountView$1;",
         "Lcom/facebook/internal/LikeBoxCountView$LikeBoxCountViewCaretPosition;",
         "Lcom/facebook/internal/LikeBoxCountView;",
         "Lcom/facebook/internal/SessionAuthorizationType;",
         "Lcom/facebook/internal/a;",
         "Lcom/facebook/internal/y;",
         "Lcom/facebook/internal/ab;",
         "Lcom/facebook/internal/ac;",
         "Lcom/facebook/internal/ad;",
         "Lcom/facebook/internal/ae;",
         "Lcom/facebook/widget/a;",
         "Lcom/facebook/internal/af;",
         "Lcom/facebook/internal/ag;",
         "Lcom/facebook/internal/ah;",
         "Lcom/facebook/internal/ai;",
         "Lcom/facebook/internal/ak;",
         "Lcom/facebook/internal/al;",
         "Lcom/facebook/internal/au;",
         "Lcom/facebook/internal/am;",
         "Lcom/facebook/internal/an;",
         "Lcom/facebook/internal/ao;",
         "Lcom/facebook/internal/ar;",
         "Lcom/facebook/internal/ap;",
         "Lcom/facebook/internal/aq;",
         "Lcom/facebook/internal/as;",
         "Lcom/facebook/internal/at;",
         "Lcom/facebook/internal/au$1;",
         "Lcom/facebook/internal/aw;",
         "Lcom/facebook/internal/ax;",
         "Lcom/facebook/internal/ay;",
         "Lcom/facebook/internal/az;",
         "Lcom/facebook/internal/c;",
         "Lcom/facebook/internal/b$1;",
         "Lcom/facebook/internal/b$2;",
         "Lcom/facebook/internal/b$3;",
         "Lcom/facebook/internal/b$4;",
         "Lcom/facebook/internal/b$5;",
         "Lcom/facebook/internal/b$6;",
         "Lcom/facebook/internal/b$7;",
         "Lcom/facebook/internal/b;",
         "Lcom/facebook/internal/ba;",
         "Lcom/facebook/internal/bb$1;",
         "Lcom/facebook/internal/bb;",
         "Lcom/facebook/internal/bc;",
         "Lcom/facebook/internal/bd;",
         "Lcom/facebook/internal/be;",
         "Lcom/facebook/internal/bf$1;",
         "Lcom/facebook/internal/bf;",
         "Lcom/facebook/internal/bg;",
         "Lcom/facebook/internal/bh;",
         "Lcom/facebook/w;",
         "Lcom/facebook/internal/d;",
         "Lcom/facebook/internal/e$1;",
         "Lcom/facebook/internal/e$2;",
         "Lcom/facebook/widget/o;",
         "Lcom/facebook/internal/e;",
         "Lcom/facebook/internal/l;",
         "Lcom/facebook/internal/f$1;",
         "Lcom/facebook/internal/f$2;",
         "Lcom/facebook/internal/f$3;",
         "Lcom/facebook/internal/f;",
         "Lcom/facebook/internal/g$1;",
         "Lcom/facebook/internal/g$2;",
         "Lcom/facebook/internal/g;",
         "Lcom/facebook/internal/h;",
         "Lcom/facebook/internal/i;",
         "Lcom/facebook/internal/j;",
         "Lcom/facebook/internal/k;",
         "Lcom/facebook/internal/m;",
         "Lcom/facebook/internal/n$1;",
         "Lcom/facebook/internal/n;",
         "Lcom/facebook/internal/o;",
         "Lcom/facebook/internal/p;",
         "Lcom/facebook/internal/q;",
         "Lcom/facebook/internal/r;",
         "Lcom/facebook/internal/s;",
         "Lcom/facebook/internal/t;",
         "Lcom/facebook/internal/u;",
         "Lcom/facebook/internal/v;",
         "Lcom/facebook/internal/w;",
         "Lcom/facebook/internal/x;",
         "Lcom/facebook/internal/y$1;",
         "Lcom/facebook/internal/z;",
         "Lcom/facebook/j;",
         "Lcom/facebook/k;",
         "Lcom/facebook/m;",
         "Lcom/facebook/l$1;",
         "Lcom/facebook/l$2;",
         "Lcom/facebook/l;",
         "Lcom/facebook/model/CreateGraphObject;",
         "Lcom/facebook/model/GraphObject;",
         "Lcom/facebook/model/GraphLocation;",
         "Lcom/facebook/model/GraphMultiResult;",
         "Lcom/facebook/model/GraphObjectList;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectListImpl;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectProxy$1;",
         "Lcom/facebook/model/GraphObject$Factory$ProxyBase;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectProxy;",
         "Lcom/facebook/model/GraphObject$Factory;",
         "Lcom/facebook/model/GraphPlace;",
         "Lcom/facebook/model/GraphUser;",
         "Lcom/facebook/model/JsonUtil$JSONObjectEntry;",
         "Lcom/facebook/model/JsonUtil;",
         "Lcom/facebook/model/OpenGraphAction$Factory;",
         "Lcom/facebook/model/OpenGraphAction;",
         "Lcom/facebook/model/OpenGraphObject$Factory;",
         "Lcom/facebook/model/OpenGraphObject;",
         "Lcom/facebook/model/PropertyName;",
         "Lcom/facebook/z;",
         "Lcom/facebook/n;",
         "Lcom/facebook/o$1;",
         "Lcom/facebook/o;",
         "Lcom/facebook/p;",
         "Lcom/facebook/r;",
         "Lcom/facebook/t;",
         "Lcom/facebook/u;",
         "Lcom/facebook/v;",
         "Lcom/facebook/widget/FacebookDialog$PendingCall$1;",
         "Lcom/facebook/widget/FacebookDialog$PendingCall;",
         "Lcom/facebook/widget/FacebookDialog;",
         "Lcom/facebook/widget/LikeView$1;",
         "Lcom/facebook/widget/LikeView$2;",
         "Lcom/facebook/widget/LikeView$AuxiliaryViewPosition;",
         "Lcom/facebook/widget/LikeView$HorizontalAlignment;",
         "Lcom/facebook/widget/LikeView$Style;",
         "Lcom/facebook/widget/LikeView;",
         "Lcom/facebook/widget/LoginButton$1;",
         "Lcom/facebook/widget/LoginButton$2;",
         "Lcom/facebook/widget/LoginButton$ToolTipMode;",
         "Lcom/facebook/widget/LoginButton;",
         "Lcom/facebook/widget/ProfilePictureView$1;",
         "Lcom/facebook/widget/ProfilePictureView;",
         "Lcom/facebook/widget/ToolTipPopup$1;",
         "Lcom/facebook/widget/ToolTipPopup$2;",
         "Lcom/facebook/widget/ToolTipPopup$3;",
         "Lcom/facebook/widget/ToolTipPopup$Style;",
         "Lcom/facebook/widget/ToolTipPopup;",
         "Lcom/facebook/widget/d;",
         "Lcom/facebook/widget/a$1;",
         "Lcom/facebook/widget/e;",
         "Lcom/facebook/widget/f;",
         "Lcom/facebook/widget/g;",
         "Lcom/facebook/widget/h;",
         "Lcom/facebook/widget/i;",
         "Lcom/facebook/widget/j$1;",
         "Lcom/facebook/widget/j;",
         "Lcom/facebook/widget/k;",
         "Lcom/facebook/widget/l;",
         "Lcom/facebook/widget/m;",
         "Lcom/facebook/widget/n;",
         "Lcom/facebook/widget/o$1;",
         "Lcom/facebook/widget/o$2;",
         "Lcom/facebook/widget/o$3;",
         "Lcom/facebook/widget/r;",
         "Lcom/facebook/y;",
         "Lcom/fasterxml/jackson/annotation/JacksonAnnotationsInside;",
         "Lcom/fasterxml/jackson/annotation/JacksonInject;",
         "Lcom/fasterxml/jackson/annotation/JsonAnyGetter;",
         "Lcom/fasterxml/jackson/annotation/JsonAnySetter;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect$1;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect;",
         "Lcom/fasterxml/jackson/annotation/JsonBackReference;",
         "Lcom/fasterxml/jackson/annotation/JsonCreator;",
         "Lcom/fasterxml/jackson/annotation/JsonFilter;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat$Value;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat;",
         "Lcom/fasterxml/jackson/annotation/JsonGetter;",
         "Lcom/fasterxml/jackson/annotation/JsonIdentityInfo;",
         "Lcom/fasterxml/jackson/annotation/JsonIdentityReference;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnore;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnoreProperties;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnoreType;",
         "Lcom/fasterxml/jackson/annotation/JsonInclude$Include;",
         "Lcom/fasterxml/jackson/annotation/JsonInclude;",
         "Lcom/fasterxml/jackson/annotation/JsonManagedReference;",
         "Lcom/fasterxml/jackson/annotation/JsonProperty;",
         "Lcom/fasterxml/jackson/annotation/JsonPropertyOrder;",
         "Lcom/fasterxml/jackson/annotation/JsonRawValue;",
         "Lcom/fasterxml/jackson/annotation/JsonRootName;",
         "Lcom/fasterxml/jackson/annotation/JsonSetter;",
         "Lcom/fasterxml/jackson/annotation/JsonSubTypes$Type;",
         "Lcom/fasterxml/jackson/annotation/JsonSubTypes;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeId;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$As;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$None;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeName;",
         "Lcom/fasterxml/jackson/annotation/JsonUnwrapped;",
         "Lcom/fasterxml/jackson/annotation/JsonValue;",
         "Lcom/fasterxml/jackson/annotation/JsonView;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerator$IdKey;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerator;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$Base;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$None;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$PropertyGenerator;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators;",
         "Lcom/fasterxml/jackson/core/Base64Variant;",
         "Lcom/fasterxml/jackson/core/Base64Variants;",
         "Lcom/fasterxml/jackson/core/FormatSchema;",
         "Lcom/fasterxml/jackson/core/JsonEncoding;",
         "Lcom/fasterxml/jackson/core/JsonFactory$Feature;",
         "Lcom/fasterxml/jackson/core/JsonFactory;",
         "Lcom/fasterxml/jackson/core/JsonProcessingException;",
         "Lcom/fasterxml/jackson/core/JsonGenerationException;",
         "Lcom/fasterxml/jackson/core/JsonGenerator$Feature;",
         "Lcom/fasterxml/jackson/core/JsonGenerator;",
         "Lcom/fasterxml/jackson/core/JsonLocation;",
         "Lcom/fasterxml/jackson/core/JsonParseException;",
         "Lcom/fasterxml/jackson/core/JsonParser$Feature;",
         "Lcom/fasterxml/jackson/core/JsonParser$NumberType;",
         "Lcom/fasterxml/jackson/core/JsonParser;",
         "Lcom/fasterxml/jackson/core/JsonStreamContext;",
         "Lcom/fasterxml/jackson/core/JsonToken;",
         "Lcom/fasterxml/jackson/core/ObjectCodec;",
         "Lcom/fasterxml/jackson/core/PrettyPrinter;",
         "Lcom/fasterxml/jackson/core/SerializableString;",
         "Lcom/fasterxml/jackson/core/TreeNode;",
         "Lcom/fasterxml/jackson/core/base/GeneratorBase;",
         "Lcom/fasterxml/jackson/core/base/ParserMinimalBase;",
         "Lcom/fasterxml/jackson/core/base/ParserBase;",
         "Lcom/fasterxml/jackson/core/base/ParserMinimalBase$1;",
         "Lcom/fasterxml/jackson/core/io/BaseReader;",
         "Lcom/fasterxml/jackson/core/io/CharTypes;",
         "Lcom/fasterxml/jackson/core/io/CharacterEscapes;",
         "Lcom/fasterxml/jackson/core/io/IOContext;",
         "Lcom/fasterxml/jackson/core/io/InputDecorator;",
         "Lcom/fasterxml/jackson/core/io/JsonStringEncoder;",
         "Lcom/fasterxml/jackson/core/io/MergedStream;",
         "Lcom/fasterxml/jackson/core/io/NumberInput;",
         "Lcom/fasterxml/jackson/core/io/NumberOutput;",
         "Lcom/fasterxml/jackson/core/io/OutputDecorator;",
         "Lcom/fasterxml/jackson/core/io/SegmentedStringWriter;",
         "Lcom/fasterxml/jackson/core/io/SerializedString;",
         "Lcom/fasterxml/jackson/core/io/UTF32Reader;",
         "Lcom/fasterxml/jackson/core/io/UTF8Writer;",
         "Lcom/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper$1;",
         "Lcom/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper;",
         "Lcom/fasterxml/jackson/core/json/JsonGeneratorImpl;",
         "Lcom/fasterxml/jackson/core/json/JsonReadContext;",
         "Lcom/fasterxml/jackson/core/json/JsonWriteContext;",
         "Lcom/fasterxml/jackson/core/json/ReaderBasedJsonParser$1;",
         "Lcom/fasterxml/jackson/core/json/ReaderBasedJsonParser;",
         "Lcom/fasterxml/jackson/core/json/UTF8JsonGenerator;",
         "Lcom/fasterxml/jackson/core/json/UTF8StreamJsonParser$1;",
         "Lcom/fasterxml/jackson/core/json/UTF8StreamJsonParser;",
         "Lcom/fasterxml/jackson/core/json/WriterBasedJsonGenerator;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer$Bucket;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer$TableInfo;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer;",
         "Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;",
         "Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;",
         "Lcom/fasterxml/jackson/core/sym/Name;",
         "Lcom/fasterxml/jackson/core/sym/Name1;",
         "Lcom/fasterxml/jackson/core/sym/Name2;",
         "Lcom/fasterxml/jackson/core/sym/Name3;",
         "Lcom/fasterxml/jackson/core/sym/NameN;",
         "Lcom/fasterxml/jackson/core/type/ResolvedType;",
         "Lcom/fasterxml/jackson/core/type/TypeReference;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler$ByteBufferType;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler$CharBufferType;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler;",
         "Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Indenter;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$FixedSpaceIndenter;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Lf2SpacesIndenter;",
         "Lcom/fasterxml/jackson/core/util/Instantiatable;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter;",
         "Lcom/fasterxml/jackson/core/util/InternCache;",
         "Lcom/fasterxml/jackson/core/util/JsonParserDelegate;",
         "Lcom/fasterxml/jackson/core/util/JsonParserSequence;",
         "Lcom/fasterxml/jackson/core/util/MinimalPrettyPrinter;",
         "Lcom/fasterxml/jackson/core/util/TextBuffer;",
         "Lcom/fasterxml/jackson/databind/AbstractTypeResolver;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty$Type;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/BeanDescription;",
         "Lcom/fasterxml/jackson/databind/BeanProperty;",
         "Lcom/fasterxml/jackson/databind/BeanProperty$Std;",
         "Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector$MixInResolver;",
         "Lcom/fasterxml/jackson/databind/cfg/MapperConfig;",
         "Lcom/fasterxml/jackson/databind/cfg/MapperConfigBase;",
         "Lcom/fasterxml/jackson/databind/DeserializationConfig;",
         "Lcom/fasterxml/jackson/databind/DeserializationContext;",
         "Lcom/fasterxml/jackson/databind/cfg/ConfigFeature;",
         "Lcom/fasterxml/jackson/databind/DeserializationFeature;",
         "Lcom/fasterxml/jackson/databind/InjectableValues;",
         "Lcom/fasterxml/jackson/databind/JavaType;",
         "Lcom/fasterxml/jackson/databind/JsonDeserializer;",
         "Lcom/fasterxml/jackson/databind/JsonDeserializer$None;",
         "Lcom/fasterxml/jackson/databind/JsonMappingException$Reference;",
         "Lcom/fasterxml/jackson/databind/JsonMappingException;",
         "Lcom/fasterxml/jackson/databind/JsonNode;",
         "Lcom/fasterxml/jackson/databind/JsonSerializable;",
         "Lcom/fasterxml/jackson/databind/JsonSerializer;",
         "Lcom/fasterxml/jackson/databind/JsonSerializer$None;",
         "Lcom/fasterxml/jackson/databind/KeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/KeyDeserializer$None;",
         "Lcom/fasterxml/jackson/databind/MapperFeature;",
         "Lcom/fasterxml/jackson/databind/MappingJsonFactory;",
         "Lcom/fasterxml/jackson/databind/ObjectMapper;",
         "Lcom/fasterxml/jackson/databind/ObjectWriter;",
         "Lcom/fasterxml/jackson/databind/PropertyName;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$PropertyNamingStrategyBase;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$PascalCaseStrategy;",
         "Lcom/fasterxml/jackson/databind/SerializationConfig;",
         "Lcom/fasterxml/jackson/databind/SerializationFeature;",
         "Lcom/fasterxml/jackson/databind/SerializerProvider;",
         "Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonDeserialize;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonNaming;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonPOJOBuilder$Value;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonPOJOBuilder;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize$Inclusion;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize$Typing;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonTypeIdResolver;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonTypeResolver;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/annotation/NoClass;",
         "Lcom/fasterxml/jackson/databind/cfg/BaseSettings;",
         "Lcom/fasterxml/jackson/databind/cfg/DeserializerFactoryConfig;",
         "Lcom/fasterxml/jackson/databind/cfg/HandlerInstantiator;",
         "Lcom/fasterxml/jackson/databind/cfg/SerializerFactoryConfig;",
         "Lcom/fasterxml/jackson/databind/deser/AbstractDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/AbstractDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ContextualDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ResolvableDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBuilder;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerModifier;",
         "Lcom/fasterxml/jackson/databind/deser/BuilderBasedDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/BuilderBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ContextualKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/SettableBeanProperty;",
         "Lcom/fasterxml/jackson/databind/deser/CreatorProperty;",
         "Lcom/fasterxml/jackson/databind/deser/DefaultDeserializationContext;",
         "Lcom/fasterxml/jackson/databind/deser/DefaultDeserializationContext$Impl;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializationProblemHandler;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializerCache;",
         "Lcom/fasterxml/jackson/databind/deser/Deserializers;",
         "Lcom/fasterxml/jackson/databind/deser/KeyDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/SettableAnyProperty;",
         "Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/ValueInstantiators;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanAsArrayBuilderDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanAsArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap$Bucket;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap$IteratorImpl;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap;",
         "Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler$Builder;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler$ExtTypedProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler;",
         "Lcom/fasterxml/jackson/databind/deser/impl/FieldProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/InnerClassProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ManagedReferenceProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/MethodProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/NullProvider;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ObjectIdReader;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ObjectIdValueProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedCreator;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedObjectIdGenerator;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Any;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Map;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Regular;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ReadableObjectId;",
         "Lcom/fasterxml/jackson/databind/deser/impl/SetterlessProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/TypeWrappedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/UnwrappedPropertyHandler;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ValueInjector;",
         "Lcom/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdScalarDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ClassDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ContainerDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/deser/std/CollectionDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$DateBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$CalendarDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$DateDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$SqlDateDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$TimeZoneDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$TimestampDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/DelegatingDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumDeserializer$FactoryBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumMapDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumSetDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$JavaTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$JsonLocationInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$TokenBufferDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$AtomicBooleanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$AtomicReferenceDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$CharsetDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$CurrencyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$FileDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$InetAddressDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$LocaleDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$PatternDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$StackTraceElementDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$URIDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$URLDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$UUIDDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$ArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$ObjectDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/MapDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigIntegerDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$PrimitiveOrWrapperDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$NumberDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/ObjectArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$Base;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$BooleanDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$ByteDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$CharDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$DoubleDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$FloatDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$IntDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$LongDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$ShortDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$StringDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdDelegatingDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$BoolKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$ByteKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$CalendarKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$CharKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DateKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DelegatingKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DoubleKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$EnumKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$FloatKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$IntKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$LocaleKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$LongKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$ShortKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringCtorKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringFactoryKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$UuidKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/std/StringCollectionDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StringDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer;",
         "Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;",
         "Lcom/fasterxml/jackson/databind/exc/UnrecognizedPropertyException;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$DurationDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$GregorianCalendarDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$QNameDeserializer;",
         "Lcom/fasterxml/jackson/databind/util/Provider;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLSerializers$XMLGregorianCalendarSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLSerializers;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer$DocumentDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer$NodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/OptionalHandlerFactory;",
         "Lcom/fasterxml/jackson/databind/introspect/Annotated;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedClass;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMember;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedWithParams;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedField$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedField;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethodMap;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedParameter;",
         "Lcom/fasterxml/jackson/databind/util/Annotations;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotationMap;",
         "Lcom/fasterxml/jackson/databind/introspect/BasicBeanDescription;",
         "Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/BasicClassIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/BeanPropertyDefinition;",
         "Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector$1;",
         "Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/MemberKey;",
         "Lcom/fasterxml/jackson/databind/introspect/NopAnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/NopAnnotationIntrospector$1;",
         "Lcom/fasterxml/jackson/databind/introspect/ObjectIdInfo;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$WithMember;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$1;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$2;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$3;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$Linked;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder;",
         "Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker;",
         "Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker$Std;",
         "Lcom/fasterxml/jackson/databind/jsontype/NamedType;",
         "Lcom/fasterxml/jackson/databind/jsontype/SubtypeResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeResolverBuilder;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsArrayTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeSerializerBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsArrayTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsExternalTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsExternalTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsWrapperTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsWrapperTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeIdResolverBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/MinimalClassNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdSubtypeResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder$1;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/node/BaseJsonNode;",
         "Lcom/fasterxml/jackson/databind/node/ContainerNode;",
         "Lcom/fasterxml/jackson/databind/node/ArrayNode;",
         "Lcom/fasterxml/jackson/databind/node/ValueNode;",
         "Lcom/fasterxml/jackson/databind/node/NumericNode;",
         "Lcom/fasterxml/jackson/databind/node/BigIntegerNode;",
         "Lcom/fasterxml/jackson/databind/node/BinaryNode;",
         "Lcom/fasterxml/jackson/databind/node/BooleanNode;",
         "Lcom/fasterxml/jackson/databind/node/ContainerNode$NoNodesIterator;",
         "Lcom/fasterxml/jackson/databind/node/DecimalNode;",
         "Lcom/fasterxml/jackson/databind/node/DoubleNode;",
         "Lcom/fasterxml/jackson/databind/node/IntNode;",
         "Lcom/fasterxml/jackson/databind/node/JsonNodeFactory;",
         "Lcom/fasterxml/jackson/databind/node/LongNode;",
         "Lcom/fasterxml/jackson/databind/node/MissingNode;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$Array;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$Object;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$RootValue;",
         "Lcom/fasterxml/jackson/databind/node/NullNode;",
         "Lcom/fasterxml/jackson/databind/node/ObjectNode$NoFieldsIterator;",
         "Lcom/fasterxml/jackson/databind/node/ObjectNode;",
         "Lcom/fasterxml/jackson/databind/node/POJONode;",
         "Lcom/fasterxml/jackson/databind/node/TextNode;",
         "Lcom/fasterxml/jackson/databind/node/TreeTraversingParser$1;",
         "Lcom/fasterxml/jackson/databind/node/TreeTraversingParser;",
         "Lcom/fasterxml/jackson/databind/ser/AnyGetterWriter;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BasicSerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BeanPropertyFilter;",
         "Lcom/fasterxml/jackson/databind/ser/BeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/ContextualSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/ResolvableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/BeanSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerBuilder;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerModifier;",
         "Lcom/fasterxml/jackson/databind/ser/ContainerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;",
         "Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider$Impl;",
         "Lcom/fasterxml/jackson/databind/ser/FilterProvider;",
         "Lcom/fasterxml/jackson/databind/ser/PropertyBuilder$1;",
         "Lcom/fasterxml/jackson/databind/ser/PropertyBuilder;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerCache$TypeKey;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerCache;",
         "Lcom/fasterxml/jackson/databind/ser/Serializers;",
         "Lcom/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FailingSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter$MultiView;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter$SingleView;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/std/AsArraySerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IndexedListSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StaticListSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IndexedStringListSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IteratorSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/JsonSerializerMap$Bucket;",
         "Lcom/fasterxml/jackson/databind/ser/impl/JsonSerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/impl/ObjectIdWriter;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertyBasedObjectIdGenerator;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Double;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Empty;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Multi;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$SerializerAndMapResult;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Single;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$TypeAndSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/ReadOnlyClassToSerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/StringCollectionSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/TypeWrappedSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnknownSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnwrappingBeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/WritableObjectId;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NonTypedScalarSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/std/BooleanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/DateTimeSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/std/CalendarSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/CollectionSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/DateSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumMapSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumSetSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/InetAddressSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/IterableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/JsonValueSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/MapSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NullSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$DoubleSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$FloatSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$IntLikeSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$IntegerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$LongSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$NumberSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/ObjectArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/RawSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SerializableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SqlDateSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SqlTimeSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$BooleanArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$ByteArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$CharArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$DoubleArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$TypedPrimitiveArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$FloatArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$IntArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$LongArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$ShortArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdContainerSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdDelegatingSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicBooleanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicIntegerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicLongSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicReferenceSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$ClassSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$FileSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$CalendarKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$DateKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$StringKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StringSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/TimeZoneSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/ToStringSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/TokenBufferSerializer;",
         "Lcom/fasterxml/jackson/databind/type/TypeBase;",
         "Lcom/fasterxml/jackson/databind/type/ArrayType;",
         "Lcom/fasterxml/jackson/databind/type/ClassKey;",
         "Lcom/fasterxml/jackson/databind/type/CollectionLikeType;",
         "Lcom/fasterxml/jackson/databind/type/CollectionType;",
         "Lcom/fasterxml/jackson/databind/type/HierarchicType;",
         "Lcom/fasterxml/jackson/databind/type/MapLikeType;",
         "Lcom/fasterxml/jackson/databind/type/MapType;",
         "Lcom/fasterxml/jackson/databind/type/SimpleType;",
         "Lcom/fasterxml/jackson/databind/type/TypeBindings;",
         "Lcom/fasterxml/jackson/databind/type/TypeFactory;",
         "Lcom/fasterxml/jackson/databind/type/TypeModifier;",
         "Lcom/fasterxml/jackson/databind/type/TypeParser$MyTokenizer;",
         "Lcom/fasterxml/jackson/databind/type/TypeParser;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ArrayIterator;",
         "Lcom/fasterxml/jackson/databind/util/PrimitiveArrayBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$BooleanBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ByteBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$DoubleBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$FloatBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$IntBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$LongBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ShortBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders;",
         "Lcom/fasterxml/jackson/databind/util/BeanUtil;",
         "Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;",
         "Lcom/fasterxml/jackson/databind/util/ClassUtil;",
         "Lcom/fasterxml/jackson/databind/util/Comparators$1;",
         "Lcom/fasterxml/jackson/databind/util/Comparators;",
         "Lcom/fasterxml/jackson/databind/util/Converter;",
         "Lcom/fasterxml/jackson/databind/util/EnumResolver;",
         "Lcom/fasterxml/jackson/databind/util/EnumValues;",
         "Lcom/fasterxml/jackson/databind/util/LRUMap;",
         "Lcom/fasterxml/jackson/databind/util/LinkedNode;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$1;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$2;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$3;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$4;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$Chained;",
         "Lcom/fasterxml/jackson/databind/util/ObjectBuffer$Node;",
         "Lcom/fasterxml/jackson/databind/util/ObjectBuffer;",
         "Lcom/fasterxml/jackson/databind/util/PrimitiveArrayBuilder$Node;",
         "Lcom/fasterxml/jackson/databind/util/RootNameLookup;",
         "Lcom/fasterxml/jackson/databind/util/SimpleBeanPropertyDefinition;",
         "Lcom/fasterxml/jackson/databind/util/StdDateFormat;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$1;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$Parser;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$Segment;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Empty;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Multi;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Single;",
         "Lcom/ford/syncV4/a/a;",
         "Lcom/ford/syncV4/b/a;",
         "Lcom/ford/syncV4/b/b;",
         "Lcom/ford/syncV4/b/c;",
         "Lcom/ford/syncV4/b/d;",
         "Lcom/ford/syncV4/b/e$1;",
         "Lcom/ford/syncV4/b/e;",
         "Lcom/ford/syncV4/c/a;",
         "Lcom/ford/syncV4/d/a;",
         "Lcom/ford/syncV4/protocol/c;",
         "Lcom/ford/syncV4/transport/f;",
         "Lcom/ford/syncV4/d/b;",
         "Lcom/ford/syncV4/d/c;",
         "Lcom/ford/syncV4/protocol/a/c;",
         "Lcom/ford/syncV4/d/d;",
         "Lcom/ford/syncV4/exception/SyncException;",
         "Lcom/ford/syncV4/exception/SyncExceptionCause;",
         "Lcom/ford/syncV4/protocol/a/a$1;",
         "Lcom/ford/syncV4/protocol/a/a$2;",
         "Lcom/ford/syncV4/protocol/a/b;",
         "Lcom/ford/syncV4/protocol/a/a;",
         "Lcom/ford/syncV4/protocol/a;",
         "Lcom/ford/syncV4/protocol/b;",
         "Lcom/ford/syncV4/protocol/d;",
         "Lcom/ford/syncV4/protocol/e;",
         "Lcom/ford/syncV4/protocol/enums/FunctionID$1;",
         "Lcom/ford/syncV4/protocol/enums/MessageType;",
         "Lcom/ford/syncV4/util/b;",
         "Lcom/ford/syncV4/protocol/enums/a;",
         "Lcom/ford/syncV4/protocol/enums/b;",
         "Lcom/ford/syncV4/protocol/enums/c;",
         "Lcom/ford/syncV4/protocol/enums/d;",
         "Lcom/ford/syncV4/protocol/f;",
         "Lcom/ford/syncV4/protocol/g;",
         "Lcom/ford/syncV4/protocol/h;",
         "Lcom/ford/syncV4/proxy/a/a;",
         "Lcom/ford/syncV4/proxy/a/b;",
         "Lcom/ford/syncV4/proxy/a/c;",
         "Lcom/ford/syncV4/proxy/b/b;",
         "Lcom/ford/syncV4/proxy/a;",
         "Lcom/ford/syncV4/proxy/b/a;",
         "Lcom/ford/syncV4/proxy/b;",
         "Lcom/ford/syncV4/proxy/h;",
         "Lcom/ford/syncV4/proxy/c;",
         "Lcom/ford/syncV4/proxy/d;",
         "Lcom/ford/syncV4/proxy/e;",
         "Lcom/ford/syncV4/proxy/f;",
         "Lcom/ford/syncV4/proxy/g;",
         "Lcom/ford/syncV4/proxy/j;",
         "Lcom/ford/syncV4/proxy/i;",
         "Lcom/ford/syncV4/proxy/j$10;",
         "Lcom/ford/syncV4/proxy/j$11;",
         "Lcom/ford/syncV4/proxy/j$12;",
         "Lcom/ford/syncV4/proxy/j$13;",
         "Lcom/ford/syncV4/proxy/j$14;",
         "Lcom/ford/syncV4/proxy/j$15;",
         "Lcom/ford/syncV4/proxy/j$16;",
         "Lcom/ford/syncV4/proxy/j$17;",
         "Lcom/ford/syncV4/proxy/j$18;",
         "Lcom/ford/syncV4/proxy/j$19;",
         "Lcom/ford/syncV4/proxy/j$1;",
         "Lcom/ford/syncV4/proxy/j$20;",
         "Lcom/ford/syncV4/proxy/j$21;",
         "Lcom/ford/syncV4/proxy/j$22;",
         "Lcom/ford/syncV4/proxy/j$23;",
         "Lcom/ford/syncV4/proxy/j$24;",
         "Lcom/ford/syncV4/proxy/j$25;",
         "Lcom/ford/syncV4/proxy/j$26;",
         "Lcom/ford/syncV4/proxy/j$27;",
         "Lcom/ford/syncV4/proxy/j$28;",
         "Lcom/ford/syncV4/proxy/j$29;",
         "Lcom/ford/syncV4/proxy/j$2;",
         "Lcom/ford/syncV4/proxy/j$30;",
         "Lcom/ford/syncV4/proxy/j$31;",
         "Lcom/ford/syncV4/proxy/j$32;",
         "Lcom/ford/syncV4/proxy/j$33;",
         "Lcom/ford/syncV4/proxy/j$34;",
         "Lcom/ford/syncV4/proxy/j$35;",
         "Lcom/ford/syncV4/proxy/j$36;",
         "Lcom/ford/syncV4/proxy/j$37;",
         "Lcom/ford/syncV4/proxy/j$38;",
         "Lcom/ford/syncV4/proxy/j$39;",
         "Lcom/ford/syncV4/proxy/j$3;",
         "Lcom/ford/syncV4/proxy/j$40;",
         "Lcom/ford/syncV4/proxy/j$41;",
         "Lcom/ford/syncV4/proxy/j$42;",
         "Lcom/ford/syncV4/proxy/j$43;",
         "Lcom/ford/syncV4/proxy/j$44;",
         "Lcom/ford/syncV4/proxy/j$45;",
         "Lcom/ford/syncV4/proxy/j$46;",
         "Lcom/ford/syncV4/proxy/j$47;",
         "Lcom/ford/syncV4/proxy/j$48;",
         "Lcom/ford/syncV4/proxy/j$49;",
         "Lcom/ford/syncV4/proxy/j$4;",
         "Lcom/ford/syncV4/proxy/j$50;",
         "Lcom/ford/syncV4/proxy/j$51;",
         "Lcom/ford/syncV4/proxy/j$52;",
         "Lcom/ford/syncV4/proxy/j$53;",
         "Lcom/ford/syncV4/proxy/j$54;",
         "Lcom/ford/syncV4/proxy/j$55;",
         "Lcom/ford/syncV4/proxy/j$56;",
         "Lcom/ford/syncV4/proxy/j$57;",
         "Lcom/ford/syncV4/proxy/j$58;",
         "Lcom/ford/syncV4/proxy/j$59;",
         "Lcom/ford/syncV4/proxy/j$5;",
         "Lcom/ford/syncV4/proxy/j$60;",
         "Lcom/ford/syncV4/proxy/j$61;",
         "Lcom/ford/syncV4/proxy/j$62;",
         "Lcom/ford/syncV4/proxy/j$63;",
         "Lcom/ford/syncV4/proxy/j$64;",
         "Lcom/ford/syncV4/proxy/j$6;",
         "Lcom/ford/syncV4/proxy/j$7;",
         "Lcom/ford/syncV4/proxy/j$8;",
         "Lcom/ford/syncV4/proxy/j$9;",
         "Lcom/ford/syncV4/proxy/k;",
         "Lcom/ford/syncV4/proxy/l;",
         "Lcom/ford/syncV4/proxy/rpc/a;",
         "Lcom/ford/syncV4/proxy/rpc/aa;",
         "Lcom/ford/syncV4/proxy/rpc/ab;",
         "Lcom/ford/syncV4/proxy/rpc/ac;",
         "Lcom/ford/syncV4/proxy/rpc/ad;",
         "Lcom/ford/syncV4/proxy/rpc/ae;",
         "Lcom/ford/syncV4/
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ClassListing -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ClassListing -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

CAT_CLASSES = "classes"        

class ClassListing(AndroScript):
    ''' List all classes from the dex file '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        
        res = self.res
        
        # dvm stuff
        res.register_keys([CAT_CLASSES])
        
        # dvm stuff
        # list<ClassDefItem>
        classes = dalvik_vm_format.get_classes()
        
        # class listing
        res.log(CAT_CLASSES, [c.name for c in classes])
        
    ############################################################
    #---Options
    ############################################################    
    
    def needs_dalvik_vm_format(self):
        return True

CodePermissions

This is an autogenerated documentation file for the script: CodePermissions

Run it
$ ./androanalyze scripts_builtin/CodePermissions.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn CodePermissions -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "CodePermissions",
         "sha256": "af0a194e42630d36588910fc4bc58258e86b5ae2c1eddcb3e467c23e9f6c231b",
         "analysis date": "2015-06-22T20:22:51.758000",
         "version": "0.1"
     },
     "code permissions": {
         "listing": {
             "FACTORY_TEST": [],
             "ACCESS_NETWORK_STATE": [
                 "Lcom.google.android.gms.internal.hu.<init>",
                 "Lcom.comscore.utils.e.c",
                 "Lcom.spotify.music.spotlets.networkoperatorpremiumactivation.NetworkOperatorConnectivityChecker.c",
                 "Lcom.squareup.picasso.aa.a",
                 "Lcom.comscore.utils.e.d",
                 "Lcom.c.g.a",
                 "Lcom.mixpanel.android.mpmetrics.x.b",
                 "Lcom.c.h.b",
                 "Lcom.squareup.picasso.j.d",
                 "Lcom.comscore.utils.e.e",
                 "Lcom.spotify.music.spotlets.networkoperatorpremiumactivation.NetworkOperatorConnectivityChecker.b",
                 "Lcom.spotify.mobile.android.f.x.e",
                 "Lcom.spotify.mobile.android.util.bm.a",
                 "Lcom.google.android.gms.internal.hu.a",
                 "Lcom.comscore.utils.e.a",
                 "Lcom.comscore.utils.e.b",
                 "Lcom.squareup.picasso.m.onReceive",
                 "Lcom.mixpanel.android.mpmetrics.e.a",
                 "Lcom.spotify.mobile.android.core.internal.ConnectivityListener.getConnectionType",
                 "Lcom.spotify.mobile.android.spotlets.search.a.c"
             ],
             "NFC": [
                 "Lcom.spotify.mobile.android.util.a.a.<init>"
             ],
             "BROADCAST_STICKY": [
                 "Lcom.spotify.mobile.android.service.am.a"
             ],
             "MODIFY_AUDIO_SETTINGS": [
                 "Lcom.spotify.mobile.android.f.d.b",
                 "Lcom.spotify.mobile.android.f.r$14.c",
                 "Lcom.spotify.mobile.android.f.r$14.a"
             ],
             "USE_CREDENTIALS": [
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$5.b",
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$3.b",
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$2.b",
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$6.b"
             ],
             "WAKE_LOCK": [
                 "Lcom.spotify.mobile.android.spotlets.openaccess.util.d.q",
                 "Lcom.spotify.mobile.android.spotlets.video.BackgroundableVideoService.f",
                 "Lcom.spotify.mobile.android.spotlets.video.BackgroundableVideoService.a",
                 "Lcom.spotify.mobile.android.f.r$8.a",
                 "Lcom.spotify.mobile.android.spotlets.openaccess.util.d.g",
                 "Lcom.spotify.mobile.android.f.r$8.b",
                 "Lcom.spotify.mobile.android.f.r$15.b",
                 "Lcom.spotify.mobile.android.spotlets.video.BackgroundableVideoService.h",
                 "Lcom.spotify.mobile.android.core.internal.LocalFilePlayer.play",
                 "Lcom.spotify.mobile.android.f.r$15.a",
                 "Lcom.spotify.mobile.android.spotlets.video.BackgroundableVideoService$3.run",
                 "Lcom.spotify.mobile.android.spotlets.video.BackgroundableVideoService.b"
             ],
             "VIBRATE": [],
             "BLUETOOTH": [
                 "Lcom.ford.syncV4.transport.a.a",
                 "Lcom.ford.syncV4.transport.b.a",
                 "Lcom.ford.syncV4.transport.c.c",
                 "Lcom.mixpanel.android.mpmetrics.x.c",
                 "Lcom.ford.syncV4.transport.c.b",
                 "Lcom.spotify.mobile.android.applink.AppLinkBluetoothManager.a",
                 "Lcom.ford.syncV4.trace.e.a"
             ],
             "ACCESS_WIFI_STATE": [
                 "Lcom.comscore.utils.e.a"
             ],
             "MANAGE_ACCOUNTS": [
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$4.b"
             ],
             "GET_ACCOUNTS": [
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$4.b",
                 "Lcom.spotify.mobile.android.arsenal.q.a",
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$5.b",
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$6.b",
                 "Lcom.sony.snei.np.android.account.oauth.a.a.c.a$2.b"
             ],
             "READ_CONTACTS": [
                 "Lcom.spotify.mobile.android.service.media.provider.MediaProvider.openFile",
                 "Lcom.squareup.picasso.h.c",
                 "Lcom.spotify.mobile.android.ui.activity.AnnotatePlaylistActivity.c",
                 "Lcom.squareup.picasso.g.c",
                 "Landroid.support.v7.widget.bo.a"
             ],
             "CHANGE_COMPONENT_ENABLED_STATE": [
                 "Lcom.spotify.mobile.android.spotlets.collection.service.AnnotateService.a"
             ],
             "READ_PHONE_STATE": [
                 "Lcom.sony.snei.np.android.a.a.d.b",
                 "Lcom.spotify.mobile.android.util.an.i"
             ],
             "INTERNET": [
                 "Lnet.hockeyapp.android.a.a.<init>",
                 "Lcom.loopj.android.http.b.<init>",
                 "Lcom.google.android.gms.internal.iu.a",
                 "Lcom.ford.syncV4.transport.g.a",
                 "Lcom.squareup.okhttp.internal.http.c.connect",
                 "Lcom.sony.snei.np.android.common.oauth.authgw.lib.b.a",
                 "Lcom.spotify.mobile.android.ui.fragments.y.a",
                 "Lcom.comscore.utils.e.c",
                 "Lcom.facebook.internal.n.b",
                 "Lcom.squareup.okhttp.g.a",
                 "Lcom.spotify.mobile.android.spotlets.browse.util.d.a",
                 "Lnet.hockeyapp.android.views.UpdateView.b",
                 "Lcom.ford.syncV4.proxy.j.a",
                 "Lcom.google.android.gms.internal.il.f",
                 "Lcom.squareup.picasso.ao.a",
                 "Lcom.google.android.gms.internal.ir$2.call",
                 "Lcom.squareup.okhttp.internal.http.HttpURLConnectionImpl.<init>",
                 "Lcom.ford.syncV4.transport.i.b",
                 "Lcom.c.r.<init>",
                 "Lcom.spotify.mobile.android.spotlets.collection.service.AnnotateServiceHelperImpl.b",
                 "Lcom.google.android.gms.internal.iy.<init>",
                 "Lcom.google.android.gms.internal.jc.onCreateWindow",
                 "Lcom.facebook.Request.a",
                 "Lcom.google.android.gms.internal.hp.a",
                 "Lcom.mixpanel.android.mpmetrics.ServerMessage.a",
                 "Lcom.google.android.gms.internal.jd.a",
                 "Lcom.squareup.okhttp.internal.http.ae.<init>",
                 "Lcom.facebook.widget.o$3.<init>",
                 "Lnet.hockeyapp.android.b.a",
                 "Lcom.google.android.gms.ads.AdActivity.setContentView",
                 "Lcom.comscore.metrics.a.a",
                 "Lcom.spotify.mobile.android.orbit.OrbitLibraryLoader.copyLibFromApk",
                 "Lcom.c.q.run"
             ]
         },
         "code": {
             "FACTORY_TEST": [],
             "ACCESS_NETWORK_STATE": [
                 {
                     "Lcom_spotify_mobile_android_spotlets_search_a_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_e": [
                         "    public void e(android.os.Bundle p1)",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_music_spotlets_networkoperatorpremiumactivation_NetworkOperatorConnectivityChecker_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_mixpanel_android_mpmetrics_x_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_j_d": [
                         "    public final int describeContents()",
                         "    {",
                         "        return 0;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_core_internal_ConnectivityListener_getConnectionType": [
                         "    public int getConnectionType()",
                         "    {",
                         "        int v0_0 = 3;",
                         "        if (com.spotify.mobile.android.core.internal.ConnectivityListener.sApplicationContext != null) {",
                         "            int v3_2 = this.mConnectivityManager.getActiveNetworkInfo();",
                         "            if ((v3_2 != 0) && (v3_2.isConnected())) {",
                         "                int v3_3 = v3_2.getType();",
                         "                if (v3_3 != 0) {",
                         "                    if (v3_3 == 6) {",
                         "                        return v0_0;",
                         "                    } else {",
                         "                        if (v3_3 == 1) {",
                         "                            v0_0 = 4;",
                         "                            return v0_0;",
                         "                        }",
                         "                    }",
                         "                } else {",
                         "                    int v3_5 = this.mTelephonyManager.getNetworkType();",
                         "                    if (v3_5 >= 3) {",
                         "                        return v0_0;",
                         "                    } else {",
                         "                        if (v3_5 != 2) {",
                         "                            if (v3_5 == 1) {",
                         "                                v0_0 = 1;",
                         "                                return v0_0;",
                         "                            }",
                         "                        } else {",
                         "                            v0_0 = 2;",
                         "                            return v0_0;",
                         "                        }",
                         "                    }",
                         "                }",
                         "                v0_0 = -1;",
                         "            } else {",
                         "                v0_0 = 0;",
                         "            }",
                         "            return v0_0;",
                         "        } else {",
                         "            throw new IllegalStateException(\"application context has not been set!\");",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_mixpanel_android_mpmetrics_e_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_aa_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_hu_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_hu_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_music_spotlets_networkoperatorpremiumactivation_NetworkOperatorConnectivityChecker_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_d": [
                         "    public final int describeContents()",
                         "    {",
                         "        return 0;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_mixpanel_android_mpmetrics_e_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_x_e": [
                         "    public void e(android.os.Bundle p1)",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_c_h_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_util_bm_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_c_g_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_hu_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_m_onReceive": [
                         "    public final void onReceive(android.content.Context p2, android.content.Intent p3)",
                         "    {",
                         "        if (this.a.c) {",
                         "            this.a.b();",
                         "        }",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_search_a_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_util_bm_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "NFC": [
                 {
                     "Lcom_spotify_mobile_android_util_a_a_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "BROADCAST_STICKY": [
                 {
                     "Lcom_spotify_mobile_android_service_am_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "MODIFY_AUDIO_SETTINGS": [
                 {
                     "Lcom_spotify_mobile_android_f_r$14_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_d_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_r$14_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "USE_CREDENTIALS": [
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$2_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$6_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$6_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$2_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$5_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$5_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$3_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 }
             ],
             "WAKE_LOCK": [
                 {
                     "Lcom_spotify_mobile_android_spotlets_video_BackgroundableVideoService$3_run": [
                         "    public final void run()",
                         "    {",
                         "        if (android.support.v4.app.n.a) {",
                         "            android.util.Log.v(\"FragmentManager\", new StringBuilder(\"Run: \").append(this).toString());",
                         "        }",
                         "        if ((!this.k) || (this.o >= 0)) {",
                         "            int v10;",
                         "            this.a(1);",
                         "            if (android.os.Build$VERSION.SDK_INT < 21) {",
                         "                v10 = 0;",
                         "            } else {",
                         "                int v0_6 = new android.util.SparseArray();",
                         "                String v1_6 = new android.util.SparseArray();",
                         "                this.b(v0_6, v1_6);",
                         "                v10 = this.a(v0_6, v1_6, 0);",
                         "            }",
                         "            int v9;",
                         "            if (v10 == 0) {",
                         "                v9 = this.j;",
                         "            } else {",
                         "                v9 = 0;",
                         "            }",
                         "            String v1_7;",
                         "            if (v10 == 0) {",
                         "                v1_7 = this.i;",
                         "            } else {",
                         "                v1_7 = 0;",
                         "            }",
                         "            android.support.v4.app.f v8 = this.b;",
                         "            while (v8 != null) {",
                         "                int v7;",
                         "                if (v10 == 0) {",
                         "                    v7 = v8.e;",
                         "                } else {",
                         "                    v7 = 0;",
                         "                }",
                         "                android.support.v4.app.n v3_1;",
                         "                if (v10 == 0) {",
                         "                    v3_1 = v8.f;",
                         "                } else {",
                         "                    v3_1 = 0;",
                         "                }",
                         "                switch (v8.c) {",
                         "                    case 1:",
                         "                        int v0_32 = v8.d;",
                         "                        v0_32.Q = v7;",
                         "                        this.a.a(v0_32, 0);",
                         "                        break;",
                         "                    case 2:",
                         "                        int v5;",
                         "                        int v0_22 = v8.d;",
                         "                        if (this.a.g == null) {",
                         "                            v5 = v0_22;",
                         "                        } else {",
                         "                            int v4_2 = 0;",
                         "                            v5 = v0_22;",
                         "                            while (v4_2 < this.a.g.size()) {",
                         "                                int v0_30 = ((android.support.v4.app.Fragment) this.a.g.get(v4_2));",
                         "                                if (android.support.v4.app.n.a) {",
                         "                                    android.util.Log.v(\"FragmentManager\", new StringBuilder(\"OP_REPLACE: adding=\").append(v5).append(\" old=\").append(v0_30).toString());",
                         "                                }",
                         "                                if ((v5 == 0) || (v0_30.H == v5.H)) {",
                         "                                    if (v0_30 != v5) {",
                         "                                        if (v8.i == null) {",
                         "                                            v8.i = new java.util.ArrayList();",
                         "                                        }",
                         "                                        v8.i.add(v0_30);",
                         "                                        v0_30.Q = v3_1;",
                         "                                        if (this.k) {",
                         "                                            v0_30.B = (v0_30.B + 1);",
                         "                                            if (android.support.v4.app.n.a) {",
                         "                                                android.util.Log.v(\"FragmentManager\", new StringBuilder(\"Bump nesting of \").append(v0_30).append(\" to \").append(v0_30.B).toString());",
                         "                                            }",
                         "                                        }",
                         "                                        this.a.a(v0_30, v1_7, v9);",
                         "                                    } else {",
                         "                                        v8.d = 0;",
                         "                                        v5 = 0;",
                         "                                    }",
                         "                                }",
                         "                                v4_2++;",
                         "                            }",
                         "                        }",
                         "                        if (v5 == 0) {",
                         "                        } else {",
                         "                            v5.Q = v7;",
                         "                            this.a.a(v5, 0);",
                         "                        }",
                         "                        break;",
                         "                    case 3:",
                         "                        int v0_21 = v8.d;",
                         "                        v0_21.Q = v3_1;",
                         "                        this.a.a(v0_21, v1_7, v9);",
                         "                        break;",
                         "                    case 4:",
                         "                        int v0_20 = v8.d;",
                         "                        v0_20.Q = v3_1;",
                         "                        this.a.b(v0_20, v1_7, v9);",
                         "                        break;",
                         "                    case 5:",
                         "                        int v0_19 = v8.d;",
                         "                        v0_19.Q = v7;",
                         "                        this.a.c(v0_19, v1_7, v9);",
                         "                        break;",
                         "                    case 6:",
                         "                        int v0_18 = v8.d;",
                         "                        v0_18.Q = v3_1;",
                         "                        this.a.d(v0_18, v1_7, v9);",
                         "                        break;",
                         "                    case 7:",
                         "                        int v0_17 = v8.d;",
                         "                        v0_17.Q = v7;",
                         "                        this.a.e(v0_17, v1_7, v9);",
                         "                        break;",
                         "                    default:",
                         "                        throw new IllegalArgumentException(new StringBuilder(\"Unknown cmd: \").append(v8.c).toString());",
                         "                }",
                         "                v8 = v8.a;",
                         "            }",
                         "            this.a.a(this.a.n, v1_7, v9, 1);",
                         "            if (this.k) {",
                         "                this.a.b(this);",
                         "            }",
                         "            return;",
                         "        } else {",
                         "            throw new IllegalStateException(\"addToBackStack() called after commit()\");",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_openaccess_util_d_q": [
                         "    final void q()",
                         "    {",
                         "        this.p = -1;",
                         "        this.q = 0;",
                         "        this.v = 0;",
                         "        this.w = 0;",
                         "        this.x = 0;",
                         "        this.y = 0;",
                         "        this.z = 0;",
                         "        this.A = 0;",
                         "        this.B = 0;",
                         "        this.C = 0;",
                         "        this.E = 0;",
                         "        this.D = 0;",
                         "        this.G = 0;",
                         "        this.H = 0;",
                         "        this.I = 0;",
                         "        this.J = 0;",
                         "        this.K = 0;",
                         "        this.M = 0;",
                         "        this.W = 0;",
                         "        this.X = 0;",
                         "        this.Y = 0;",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_video_BackgroundableVideoService_f": [
                         "    public final void f(android.os.Bundle p3)",
                         "    {",
                         "        if (this.p < 0) {",
                         "            this.r = p3;",
                         "            return;",
                         "        } else {",
                         "            throw new IllegalStateException(\"Fragment already active\");",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_openaccess_util_d_g": [
                         "    public final android.content.res.Resources g()",
                         "    {",
                         "        if (this.D != null) {",
                         "            return this.D.getResources();",
                         "        } else {",
                         "            throw new IllegalStateException(new StringBuilder(\"Fragment \").append(this).append(\" not attached to Activity\").toString());",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_video_BackgroundableVideoService_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_video_BackgroundableVideoService_h": [
                         "    public final android.support.v4.app.l h()",
                         "    {",
                         "        if (this.E == null) {",
                         "            this.G();",
                         "            if (this.k < 5) {",
                         "                if (this.k < 4) {",
                         "                    if (this.k < 2) {",
                         "                        if (this.k > 0) {",
                         "                            this.E.l();",
                         "                        }",
                         "                    } else {",
                         "                        this.E.m();",
                         "                    }",
                         "                } else {",
                         "                    this.E.n();",
                         "                }",
                         "            } else {",
                         "                this.E.o();",
                         "            }",
                         "        }",
                         "        return this.E;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_r$15_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_video_BackgroundableVideoService_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_r$8_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_core_internal_LocalFilePlayer_play": [
                         "    public void play()",
                         "    {",
                         "        if (this.mMediaPlayer != null) {",
                         "            this.mMediaPlayer.start();",
                         "        }",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_r$8_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_r$8_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_f_r$15_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "VIBRATE": [],
             "BLUETOOTH": [
                 {
                     "Lcom_spotify_mobile_android_applink_AppLinkBluetoothManager_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_a_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_c_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_mixpanel_android_mpmetrics_x_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_a_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_applink_AppLinkBluetoothManager_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_trace_e_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_applink_AppLinkBluetoothManager_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_c_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_applink_AppLinkBluetoothManager_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_b_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_a_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_trace_e_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "ACCESS_WIFI_STATE": [
                 {
                     "Lcom_comscore_utils_e_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "MANAGE_ACCOUNTS": [
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$4_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 }
             ],
             "GET_ACCOUNTS": [
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$4_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$5_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$2_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_account_oauth_a_a_c_a$6_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_arsenal_q_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "READ_CONTACTS": [
                 {
                     "Lcom_squareup_picasso_h_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_g_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_h_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Landroid_support_v7_widget_bo_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_service_media_provider_MediaProvider_openFile": [
                         "    public android.os.ParcelFileDescriptor openFile(android.net.Uri p5, String p6)",
                         "    {",
                         "        Throwable v0_7;",
                         "        if (this.a()) {",
                         "            switch (this.b.match(p5)) {",
                         "                case 0:",
                         "                    long v2 = android.os.Binder.clearCallingIdentity();",
                         "                    try {",
                         "                        v0_7 = this.getContext().getContentResolver().openFileDescriptor(this.a.buildUpon().encodedPath(p5.getEncodedPath()).build(), p6);",
                         "                        android.os.Binder.restoreCallingIdentity(v2);",
                         "                    } catch (Throwable v0_8) {",
                         "                        android.os.Binder.restoreCallingIdentity(v2);",
                         "                        throw v0_8;",
                         "                    }",
                         "                    break;",
                         "                default:",
                         "                    v0_7 = super.openFile(p5, p6);",
                         "            }",
                         "        } else {",
                         "            v0_7 = super.openFile(p5, p6);",
                         "        }",
                         "        return v0_7;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_ui_activity_AnnotatePlaylistActivity_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_g_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_g_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 }
             ],
             "CHANGE_COMPONENT_ENABLED_STATE": [
                 {
                     "Lcom_spotify_mobile_android_spotlets_collection_service_AnnotateService_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 }
             ],
             "READ_PHONE_STATE": [
                 {
                     "Lcom_spotify_mobile_android_util_an_i": [
                         "    final void i(android.os.Bundle p3)",
                         "    {",
                         "        this.e(p3);",
                         "        if (this.E != null) {",
                         "            android.os.Parcelable v0_2 = this.E.k();",
                         "            if (v0_2 != null) {",
                         "                p3.putParcelable(\"android:support:fragments\", v0_2);",
                         "            }",
                         "        }",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_a_a_d_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 }
             ],
             "INTERNET": [
                 {
                     "Lcom_squareup_okhttp_g_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_c_q_run": [
                         "    public final void run()",
                         "    {",
                         "        if (android.support.v4.app.n.a) {",
                         "            android.util.Log.v(\"FragmentManager\", new StringBuilder(\"Run: \").append(this).toString());",
                         "        }",
                         "        if ((!this.k) || (this.o >= 0)) {",
                         "            int v10;",
                         "            this.a(1);",
                         "            if (android.os.Build$VERSION.SDK_INT < 21) {",
                         "                v10 = 0;",
                         "            } else {",
                         "                int v0_6 = new android.util.SparseArray();",
                         "                String v1_6 = new android.util.SparseArray();",
                         "                this.b(v0_6, v1_6);",
                         "                v10 = this.a(v0_6, v1_6, 0);",
                         "            }",
                         "            int v9;",
                         "            if (v10 == 0) {",
                         "                v9 = this.j;",
                         "            } else {",
                         "                v9 = 0;",
                         "            }",
                         "            String v1_7;",
                         "            if (v10 == 0) {",
                         "                v1_7 = this.i;",
                         "            } else {",
                         "                v1_7 = 0;",
                         "            }",
                         "            android.support.v4.app.f v8 = this.b;",
                         "            while (v8 != null) {",
                         "                int v7;",
                         "                if (v10 == 0) {",
                         "                    v7 = v8.e;",
                         "                } else {",
                         "                    v7 = 0;",
                         "                }",
                         "                android.support.v4.app.n v3_1;",
                         "                if (v10 == 0) {",
                         "                    v3_1 = v8.f;",
                         "                } else {",
                         "                    v3_1 = 0;",
                         "                }",
                         "                switch (v8.c) {",
                         "                    case 1:",
                         "                        int v0_32 = v8.d;",
                         "                        v0_32.Q = v7;",
                         "                        this.a.a(v0_32, 0);",
                         "                        break;",
                         "                    case 2:",
                         "                        int v5;",
                         "                        int v0_22 = v8.d;",
                         "                        if (this.a.g == null) {",
                         "                            v5 = v0_22;",
                         "                        } else {",
                         "                            int v4_2 = 0;",
                         "                            v5 = v0_22;",
                         "                            while (v4_2 < this.a.g.size()) {",
                         "                                int v0_30 = ((android.support.v4.app.Fragment) this.a.g.get(v4_2));",
                         "                                if (android.support.v4.app.n.a) {",
                         "                                    android.util.Log.v(\"FragmentManager\", new StringBuilder(\"OP_REPLACE: adding=\").append(v5).append(\" old=\").append(v0_30).toString());",
                         "                                }",
                         "                                if ((v5 == 0) || (v0_30.H == v5.H)) {",
                         "                                    if (v0_30 != v5) {",
                         "                                        if (v8.i == null) {",
                         "                                            v8.i = new java.util.ArrayList();",
                         "                                        }",
                         "                                        v8.i.add(v0_30);",
                         "                                        v0_30.Q = v3_1;",
                         "                                        if (this.k) {",
                         "                                            v0_30.B = (v0_30.B + 1);",
                         "                                            if (android.support.v4.app.n.a) {",
                         "                                                android.util.Log.v(\"FragmentManager\", new StringBuilder(\"Bump nesting of \").append(v0_30).append(\" to \").append(v0_30.B).toString());",
                         "                                            }",
                         "                                        }",
                         "                                        this.a.a(v0_30, v1_7, v9);",
                         "                                    } else {",
                         "                                        v8.d = 0;",
                         "                                        v5 = 0;",
                         "                                    }",
                         "                                }",
                         "                                v4_2++;",
                         "                            }",
                         "                        }",
                         "                        if (v5 == 0) {",
                         "                        } else {",
                         "                            v5.Q = v7;",
                         "                            this.a.a(v5, 0);",
                         "                        }",
                         "                        break;",
                         "                    case 3:",
                         "                        int v0_21 = v8.d;",
                         "                        v0_21.Q = v3_1;",
                         "                        this.a.a(v0_21, v1_7, v9);",
                         "                        break;",
                         "                    case 4:",
                         "                        int v0_20 = v8.d;",
                         "                        v0_20.Q = v3_1;",
                         "                        this.a.b(v0_20, v1_7, v9);",
                         "                        break;",
                         "                    case 5:",
                         "                        int v0_19 = v8.d;",
                         "                        v0_19.Q = v7;",
                         "                        this.a.c(v0_19, v1_7, v9);",
                         "                        break;",
                         "                    case 6:",
                         "                        int v0_18 = v8.d;",
                         "                        v0_18.Q = v3_1;",
                         "                        this.a.d(v0_18, v1_7, v9);",
                         "                        break;",
                         "                    case 7:",
                         "                        int v0_17 = v8.d;",
                         "                        v0_17.Q = v7;",
                         "                        this.a.e(v0_17, v1_7, v9);",
                         "                        break;",
                         "                    default:",
                         "                        throw new IllegalArgumentException(new StringBuilder(\"Unknown cmd: \").append(v8.c).toString());",
                         "                }",
                         "                v8 = v8.a;",
                         "            }",
                         "            this.a.a(this.a.n, v1_7, v9, 1);",
                         "            if (this.k) {",
                         "                this.a.b(this);",
                         "            }",
                         "            return;",
                         "        } else {",
                         "            throw new IllegalStateException(\"addToBackStack() called after commit()\");",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_loopj_android_http_b_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_metrics_a_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_collection_service_AnnotateServiceHelperImpl_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lnet_hockeyapp_android_b_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_picasso_ao_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_iu_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_ir$2_call": [
                         "    public final Object call()",
                         "    {",
                         "        android.support.v4.content.ModernAsyncTask.a(this.a).set(1);",
                         "        android.os.Process.setThreadPriority(10);",
                         "        return android.support.v4.content.ModernAsyncTask.a(this.a, this.a.b());",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_okhttp_internal_http_ae_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_browse_util_d_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_facebook_Request_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_facebook_internal_n_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_c_r_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_okhttp_internal_http_HttpURLConnectionImpl_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_proxy_j_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_ads_AdActivity_setContentView": [
                         "    public void setContentView(int p2)",
                         "    {",
                         "        this.g().a(p2);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_g_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_facebook_widget_o$3_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_spotlets_browse_util_d_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_common_oauth_authgw_lib_b_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lnet_hockeyapp_android_a_a_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_ford_syncV4_transport_i_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_squareup_okhttp_internal_http_c_connect": [
                         "    public void connect()",
                         "    {",
                         "        try {",
                         "            switch (com.spotify.cosmos.android.Resolver$4.$SwitchMap$com$spotify$cosmos$android$Resolver$State[this.mState.ordinal()]) {",
                         "                case 1:",
                         "                    this.doConnect();",
                         "                    return;",
                         "                default:",
                         "                    return;",
                         "            }",
                         "        } catch (Throwable v0_2) {",
                         "        }",
                         "        throw v0_2;",
                         "    }"
                     ]
                 },
                 {
                     "Lnet_hockeyapp_android_views_UpdateView_b": [
                         "    public static boolean b(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        return android.support.v4.a.a.a.a.b(p1);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_ir$2_call": [
                         "    public final Object call()",
                         "    {",
                         "        android.support.v4.content.ModernAsyncTask.a(this.a).set(1);",
                         "        android.os.Process.setThreadPriority(10);",
                         "        return android.support.v4.content.ModernAsyncTask.a(this.a, this.a.b());",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_jd_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_hp_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_orbit_OrbitLibraryLoader_copyLibFromApk": [
                         "    private static boolean copyLibFromApk(java.net.URL p6, java.io.File p7)",
                         "    {",
                         "        java.io.IOException v2_0 = 0;",
                         "        java.io.IOException v0_0 = 0;",
                         "        try {",
                         "            java.io.IOException v1 = p6.openStream();",
                         "            try {",
                         "                java.io.IOException v3_0 = new java.io.FileOutputStream(p7);",
                         "                v2_0 = 512;",
                         "            } catch (java.io.IOException v3) {",
                         "                if (v2_0 != null) {",
                         "                    try {",
                         "                        v2_0.close();",
                         "                    } catch (java.io.IOException v2) {",
                         "                    }",
                         "                }",
                         "                if (v1 == null) {",
                         "                    return v0_0;",
                         "                } else {",
                         "                    try {",
                         "                        v1.close();",
                         "                    } catch (java.io.IOException v1) {",
                         "                    }",
                         "                    return v0_0;",
                         "                }",
                         "            } catch (java.io.IOException v0_1) {",
                         "                v3_0 = 512;",
                         "                if (v3_0 != null) {",
                         "                    try {",
                         "                        v3_0.close();",
                         "                    } catch (java.io.IOException v2) {",
                         "                    }",
                         "                }",
                         "                if (v1 != null) {",
                         "                    try {",
                         "                        v1.close();",
                         "                    } catch (java.io.IOException v1) {",
                         "                    }",
                         "                }",
                         "                throw v0_1;",
                         "            }",
                         "            try {",
                         "                java.io.IOException v2_1 = new byte[512];",
                         "            } catch (java.io.IOException v2) {",
                         "                v2_0 = v3_0;",
                         "            } catch (java.io.IOException v0_1) {",
                         "            }",
                         "            while(true) {",
                         "                int v4 = v1.read(v2_1);",
                         "                if (v4 == -1) {",
                         "                    break;",
                         "                }",
                         "                v3_0.write(v2_1, 0, v4);",
                         "            }",
                         "            v3_0.flush();",
                         "            try {",
                         "                v3_0.close();",
                         "            } catch (java.io.IOException v0) {",
                         "            }",
                         "            if (v1 != null) {",
                         "                try {",
                         "                    v1.close();",
                         "                } catch (java.io.IOException v0) {",
                         "                }",
                         "            }",
                         "            v0_0 = 1;",
                         "            return v0_0;",
                         "        } catch (java.io.IOException v1) {",
                         "            v1 = 0;",
                         "        } catch (java.io.IOException v0_1) {",
                         "            v1 = 0;",
                         "            v3_0 = 0;",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_il_f": [
                         "    public final void f(android.os.Bundle p3)",
                         "    {",
                         "        if (this.p < 0) {",
                         "            this.r = p3;",
                         "            return;",
                         "        } else {",
                         "            throw new IllegalStateException(\"Fragment already active\");",
                         "        }",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_jc_onCreateWindow": [
                         "    public final boolean onCreateWindow(android.webkit.WebView p4, boolean p5, boolean p6, android.os.Message p7)",
                         "    {",
                         "        int v0_1 = ((android.webkit.WebView$WebViewTransport) p7.obj);",
                         "        android.webkit.WebView v1_1 = new android.webkit.WebView(p4.getContext());",
                         "        v1_1.setWebViewClient(this.a.a);",
                         "        v0_1.setWebView(v1_1);",
                         "        p7.sendToTarget();",
                         "        return 1;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_jd_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_sony_snei_np_android_common_oauth_authgw_lib_b_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_spotify_mobile_android_ui_fragments_y_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_utils_e_c": [
                         "    public final synthetic Object createFromParcel(android.os.Parcel p2)",
                         "    {",
                         "        return android.support.v4.app.BackStackState$1.a(p2);",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_mixpanel_android_mpmetrics_ServerMessage_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_comscore_metrics_a_a": [
                         "    public static void a(android.graphics.drawable.Drawable p1)",
                         "    {",
                         "        android.support.v4.a.a.a.a.a(p1);",
                         "        return;",
                         "    }"
                     ]
                 },
                 {
                     "Lcom_google_android_gms_internal_iy_<init>": [
                         "    b()",
                         "    {",
                         "        return;",
                         "    }"
                     ]
                 }
             ]
         }
     }
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn CodePermissions -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn CodePermissions -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androguard.decompiler.dad import decompile
from androlyze.model.script.AndroScript import AndroScript
from androguard.core.analysis.analysis import PathP

# categories
CAT_PERMISSIONS = "code permissions"
PERMISSIONS_LISTING = "listing"
PERMISSIONS_CODE = "code"

def full_method_signature(method):
    return '%s.%s.%s' % (method.get_class_name()[:-1], method.get_name(), method.get_descriptor())

def full_method_name(method):
    return '%s.%s' % (method.get_class_name()[:-1].replace("/", "."), method.get_name())

class CodePermissions(AndroScript):
    ''' List where permissions are used in the code and decompile them '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        res = self.res

        res.register_keys([CAT_PERMISSIONS])

        class_manager = dalvik_vm_format.get_class_manager()
        perm_dict = vm_analysis.get_permissions([])

        # register list for each used permissions keys
        permissions = set(perm_dict.keys())

        res.register_enum_keys(permissions, CAT_PERMISSIONS, PERMISSIONS_LISTING)
        # register each permission only once!
        res.register_enum_keys(permissions, CAT_PERMISSIONS, PERMISSIONS_CODE)

        # use set to remove duplicates!
        method_names = set()
        method_analysis_objs = set()
        for permission_name, pathp_obj_list in perm_dict.items():

            # list<PathP>
            for pathp in pathp_obj_list:
                if isinstance(pathp, PathP):
                    # type: androguard.core.bytecodes.dvm.MethodIdItem
                    # the method that uses the permission
                    src_method = class_manager.get_method_ref(pathp.src_idx)
                    method_name = full_method_name(src_method)
                    method_names.add((permission_name, method_name))

                    # the api function for the permission
                    #dst_method = class_manager.get_method_ref(pathp.dst_idx)

                    # get androguard.core.bytecodes.dvm.EncodedMethod
                    encoded_method = dalvik_vm_format.get_method(src_method.get_name())[0]

                    # get androguard.core.analysis.analysis.MethodAnalysis
                    method_analysis = vm_analysis.get_method(encoded_method)

                    method_analysis_objs.add((permission_name, method_name, method_analysis))

        for permission_name, method_name in method_names:
            # log which classes use which permissions
            res.log_append_to_enum(permission_name, method_name, CAT_PERMISSIONS, PERMISSIONS_LISTING)

        for permission_name, method_name, method_analysis in method_analysis_objs:

            ms = decompile.DvMethod(method_analysis)
            ms.process()

            source_code = ms.get_source()

            # decompile these methods too!
            log_val = {method_name : source_code.split("\n")[1:-1]}
            res.log_append_to_enum(permission_name, log_val, CAT_PERMISSIONS, PERMISSIONS_CODE)

    def needs_dalvik_vm_format(self):
        return True

    def needs_vmanalysis(self):
        return True

if __name__ == '__main__':
    for res in AndroScript.test(CodePermissions, ["../../../../testenv/apks/a2dp.Vol.apk"]):
        print res
        print res.write_to_json()

ContentProviders

This is an autogenerated documentation file for the script: ContentProviders

Run it
$ ./androanalyze scripts_builtin/ContentProviders.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ContentProviders -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ContentProviders",
         "sha256": "d65a344cd6d268dbc354acde438054ecd5bbd55f0b6c071d4358a58fccd180f6",
         "analysis date": "2015-06-22T20:23:02.318000",
         "version": "0.1"
     },
     "content providers": [
         "com.spotify.music.internal.provider.SpotifyProvider",
         "com.spotify.music.internal.provider.LoggerProvider",
         "com.spotify.mobile.android.util.prefs.PrefsProvider",
         "com.spotify.mobile.android.service.media.provider.MediaProvider"
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ContentProviders -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ContentProviders -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

CAT_PROVIDERS = "content providers" 

class ContentProviders(AndroScript):
    ''' List content providers '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        res = self.res
        
        res.register_keys([CAT_PROVIDERS])
        res.log(CAT_PROVIDERS, apk.get_providers())

DVM

This is an autogenerated documentation file for the script: DVM

Run it
$ ./androanalyze scripts_builtin/DVM.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn DVM -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "DVM",
         "sha256": "2bfd46c9c48161668f04a2f8d425f9edb9eefed99fc3425620dceb7ed3d663d4",
         "analysis date": "2015-06-22T20:23:02.373000",
         "version": "0.1",
         "time script": 73.80007100105286,
         "time androguard open": 37.81527519226074,
         "time total": 111.6153461933136
     },
     "ChainedScript": {
         "scripts": [
             "ClassListing",
             "ClassDetails",
             "DecompileClassesText"
         ],
         "successful": [
             "ClassListing",
             "ClassDetails",
             "DecompileClassesText"
         ],
         "failures": []
     },
     "classes": [
         "Landroid/support/v4/a/a/a;",
         "Landroid/support/v4/a/a/c;",
         "Landroid/support/v4/a/a/b;",
         "Landroid/support/v4/a/a/d;",
         "Landroid/support/v4/a/a/e;",
         "Landroid/support/v4/a/a/f;",
         "Landroid/support/v4/a/a/g;",
         "Landroid/support/v4/a/a/h;",
         "Landroid/support/v4/a/a/i;",
         "Landroid/support/v4/app/BackStackState$1;",
         "Landroid/support/v4/app/BackStackState;",
         "Landroid/support/v4/app/k;",
         "Landroid/support/v4/app/Fragment$1;",
         "Landroid/support/v4/app/Fragment$InstantiationException;",
         "Landroid/support/v4/app/Fragment$SavedState$1;",
         "Landroid/support/v4/app/Fragment$SavedState;",
         "Landroid/support/v4/app/Fragment;",
         "Landroid/support/v4/app/FragmentManagerState$1;",
         "Landroid/support/v4/app/FragmentManagerState;",
         "Landroid/support/v4/app/FragmentState$1;",
         "Landroid/support/v4/app/FragmentState;",
         "Landroid/support/v4/app/FragmentTabHost$SavedState$1;",
         "Landroid/support/v4/app/FragmentTabHost$SavedState;",
         "Landroid/support/v4/app/FragmentTabHost;",
         "Landroid/support/v4/app/SuperNotCalledException;",
         "Landroid/support/v4/content/c;",
         "Landroid/support/v4/app/a;",
         "Landroid/support/v4/app/aa;",
         "Landroid/support/v4/app/ab;",
         "Landroid/support/v4/app/ac;",
         "Landroid/support/v4/app/ad;",
         "Landroid/support/v4/app/ae;",
         "Landroid/support/v4/app/af;",
         "Landroid/support/v4/app/ag;",
         "Landroid/support/v4/app/ah;",
         "Landroid/support/v4/app/ai;",
         "Landroid/support/v4/app/be;",
         "Landroid/support/v4/app/aj$1;",
         "Landroid/support/v4/app/bd;",
         "Landroid/support/v4/app/aj;",
         "Landroid/support/v4/app/ax;",
         "Landroid/support/v4/app/ak;",
         "Landroid/support/v4/app/al;",
         "Landroid/support/v4/app/am;",
         "Landroid/support/v4/app/an;",
         "Landroid/support/v4/app/ao;",
         "Landroid/support/v4/app/ar;",
         "Landroid/support/v4/app/av;",
         "Landroid/support/v4/app/aw;",
         "Landroid/support/v4/app/ap;",
         "Landroid/support/v4/app/aq;",
         "Landroid/support/v4/app/as;",
         "Landroid/support/v4/app/at;",
         "Landroid/support/v4/app/au;",
         "Landroid/support/v4/app/ay;",
         "Landroid/support/v4/app/az;",
         "Landroid/support/v4/app/b;",
         "Landroid/support/v4/app/ba;",
         "Landroid/support/v4/app/bb;",
         "Landroid/support/v4/app/bc;",
         "Landroid/support/v4/app/bf;",
         "Landroid/support/v4/app/bg;",
         "Landroid/support/v4/app/bh;",
         "Landroid/support/v4/app/bi;",
         "Landroid/support/v4/app/bj;",
         "Landroid/support/v4/app/bk;",
         "Landroid/support/v4/app/bl;",
         "Landroid/support/v4/app/bu;",
         "Landroid/support/v4/app/bm$1;",
         "Landroid/support/v4/app/bt;",
         "Landroid/support/v4/app/bm;",
         "Landroid/support/v4/app/bn;",
         "Landroid/support/v4/app/bo;",
         "Landroid/support/v4/app/bp;",
         "Landroid/support/v4/app/bq;",
         "Landroid/support/v4/app/br;",
         "Landroid/support/v4/app/bs;",
         "Landroid/support/v4/app/bv;",
         "Landroid/support/v4/app/bw;",
         "Landroid/support/v4/app/bx;",
         "Landroid/support/v4/app/by;",
         "Landroid/support/v4/app/bz;",
         "Landroid/support/v4/app/c;",
         "Landroid/support/v4/app/ca;",
         "Landroid/support/v4/app/cb;",
         "Landroid/support/v4/app/d;",
         "Landroid/support/v4/app/u;",
         "Landroid/support/v4/app/e$1;",
         "Landroid/support/v4/app/e$2;",
         "Landroid/support/v4/app/e$3;",
         "Landroid/support/v4/app/r;",
         "Landroid/support/v4/app/e;",
         "Landroid/support/v4/app/f;",
         "Landroid/support/v4/app/g;",
         "Landroid/support/v4/app/h;",
         "Landroid/support/v4/app/i$1;",
         "Landroid/support/v4/app/i$2;",
         "Landroid/support/v4/app/i;",
         "Landroid/support/v4/app/j;",
         "Landroid/support/v4/app/l;",
         "Landroid/support/v4/app/m;",
         "Landroid/support/v4/app/n$1;",
         "Landroid/support/v4/app/n$2;",
         "Landroid/support/v4/app/n$3;",
         "Landroid/support/v4/app/n$4;",
         "Landroid/support/v4/app/n;",
         "Landroid/support/v4/app/o;",
         "Landroid/support/v4/view/at;",
         "Landroid/support/v4/app/p;",
         "Landroid/support/v4/app/q;",
         "Landroid/support/v4/app/s$1;",
         "Landroid/support/v4/app/s$2;",
         "Landroid/support/v4/app/s$3;",
         "Landroid/support/v4/app/s$4;",
         "Landroid/support/v4/app/s;",
         "Landroid/support/v4/app/t;",
         "Landroid/support/v4/app/v$1;",
         "Landroid/support/v4/app/v$2;",
         "Landroid/support/v4/app/v;",
         "Landroid/support/v4/app/w;",
         "Landroid/support/v4/app/x;",
         "Landroid/support/v4/app/y;",
         "Landroid/support/v4/content/p;",
         "Landroid/support/v4/app/z;",
         "Landroid/support/v4/b/a/a;",
         "Landroid/support/v4/b/a/b;",
         "Landroid/support/v4/b/a/c;",
         "Landroid/support/v4/c/a;",
         "Landroid/support/v4/c/b;",
         "Landroid/support/v4/c/c;",
         "Landroid/support/v4/c/d;",
         "Landroid/support/v4/c/e;",
         "Landroid/support/v4/c/f;",
         "Landroid/support/v4/c/g;",
         "Landroid/support/v4/content/ModernAsyncTask$1;",
         "Landroid/support/v4/content/v;",
         "Landroid/support/v4/content/ModernAsyncTask$2;",
         "Landroid/support/v4/content/ModernAsyncTask$3;",
         "Landroid/support/v4/content/ModernAsyncTask$4;",
         "Landroid/support/v4/content/ModernAsyncTask$Status;",
         "Landroid/support/v4/content/ModernAsyncTask;",
         "Landroid/support/v4/content/n;",
         "Landroid/support/v4/content/a;",
         "Landroid/support/v4/content/b;",
         "Landroid/support/v4/content/d;",
         "Landroid/support/v4/content/e;",
         "Landroid/support/v4/content/f;",
         "Landroid/support/v4/content/g;",
         "Landroid/support/v4/content/h;",
         "Landroid/support/v4/content/i;",
         "Landroid/support/v4/content/j;",
         "Landroid/support/v4/content/k;",
         "Landroid/support/v4/content/l;",
         "Landroid/support/v4/content/m;",
         "Landroid/support/v4/content/o;",
         "Landroid/support/v4/content/q$1;",
         "Landroid/support/v4/content/q;",
         "Landroid/support/v4/content/r;",
         "Landroid/support/v4/content/s;",
         "Landroid/support/v4/content/t;",
         "Landroid/support/v4/content/u;",
         "Landroid/support/v4/d/a;",
         "Landroid/support/v4/d/b;",
         "Landroid/support/v4/d/c;",
         "Landroid/support/v4/d/d;",
         "Landroid/support/v4/d/e;",
         "Landroid/support/v4/d/f;",
         "Landroid/support/v4/e/g;",
         "Landroid/support/v4/e/a$1;",
         "Landroid/support/v4/e/p;",
         "Landroid/support/v4/e/a;",
         "Landroid/support/v4/e/b;",
         "Landroid/support/v4/e/c;",
         "Landroid/support/v4/e/d;",
         "Landroid/support/v4/e/e;",
         "Landroid/support/v4/e/f;",
         "Landroid/support/v4/e/h;",
         "Landroid/support/v4/e/i;",
         "Landroid/support/v4/e/j;",
         "Landroid/support/v4/e/k;",
         "Landroid/support/v4/e/l;",
         "Landroid/support/v4/e/m;",
         "Landroid/support/v4/e/n;",
         "Landroid/support/v4/e/o;",
         "Landroid/support/v4/e/q;",
         "Landroid/support/v4/e/r;",
         "Landroid/support/v4/view/co;",
         "Landroid/support/v4/view/ActionBarTabStrip;",
         "Landroid/support/v4/view/PagerTabStrip$1;",
         "Landroid/support/v4/view/PagerTabStrip$2;",
         "Landroid/support/v4/view/PagerTitleStrip;",
         "Landroid/support/v4/view/PagerTabStrip;",
         "Landroid/support/v4/view/PagerTitleStripHacked;",
         "Landroid/support/v4/view/ViewPager$1;",
         "Landroid/support/v4/view/ViewPager$2;",
         "Landroid/support/v4/view/ViewPager$3;",
         "Landroid/support/v4/view/ViewPager$LayoutParams;",
         "Landroid/support/v4/view/ViewPager$SavedState$1;",
         "Landroid/support/v4/view/ViewPager$SavedState;",
         "Landroid/support/v4/view/ViewPager;",
         "Landroid/support/v4/view/a/a;",
         "Landroid/support/v4/view/a/aa$1;",
         "Landroid/support/v4/view/a/aa;",
         "Landroid/support/v4/view/a/ab;",
         "Landroid/support/v4/view/a/ac;",
         "Landroid/support/v4/view/a/af;",
         "Landroid/support/v4/view/a/ah;",
         "Landroid/support/v4/view/a/ad;",
         "Landroid/support/v4/view/a/ae;",
         "Landroid/support/v4/view/a/ag;",
         "Landroid/support/v4/view/a/ai;",
         "Landroid/support/v4/view/a/d;",
         "Landroid/support/v4/view/a/c;",
         "Landroid/support/v4/view/a/b;",
         "Landroid/support/v4/view/a/e;",
         "Landroid/support/v4/view/a/h;",
         "Landroid/support/v4/view/a/l;",
         "Landroid/support/v4/view/a/g;",
         "Landroid/support/v4/view/a/i;",
         "Landroid/support/v4/view/a/j;",
         "Landroid/support/v4/view/a/k;",
         "Landroid/support/v4/view/a/f;",
         "Landroid/support/v4/view/a/m;",
         "Landroid/support/v4/view/a/n;",
         "Landroid/support/v4/view/a/o;",
         "Landroid/support/v4/view/a/p;",
         "Landroid/support/v4/view/a/q;",
         "Landroid/support/v4/view/a/r;",
         "Landroid/support/v4/view/a/s;",
         "Landroid/support/v4/view/a/t;",
         "Landroid/support/v4/view/a/u;",
         "Landroid/support/v4/view/a/z;",
         "Landroid/support/v4/view/a/v$1;",
         "Landroid/support/v4/view/a/x;",
         "Landroid/support/v4/view/a/v;",
         "Landroid/support/v4/view/a/w$1;",
         "Landroid/support/v4/view/a/w;",
         "Landroid/support/v4/view/a/y$1;",
         "Landroid/support/v4/view/a/y;",
         "Landroid/support/v4/view/a;",
         "Landroid/support/v4/view/aa;",
         "Landroid/support/v4/view/ab;",
         "Landroid/support/v4/view/ac;",
         "Landroid/support/v4/view/ad;",
         "Landroid/support/v4/view/ae;",
         "Landroid/support/v4/view/af;",
         "Landroid/support/v4/view/aj;",
         "Landroid/support/v4/view/ag;",
         "Landroid/support/v4/view/ah;",
         "Landroid/support/v4/view/ai;",
         "Landroid/support/v4/view/ak;",
         "Landroid/support/v4/view/al;",
         "Landroid/support/v4/view/am;",
         "Landroid/support/v4/view/an;",
         "Landroid/support/v4/view/aq;",
         "Landroid/support/v4/view/ao;",
         "Landroid/support/v4/view/ap;",
         "Landroid/support/v4/view/ar;",
         "Landroid/support/v4/view/as;",
         "Landroid/support/v4/view/cr;",
         "Landroid/support/v4/view/cs;",
         "Landroid/support/v4/view/au;",
         "Landroid/support/v4/view/av;",
         "Landroid/support/v4/view/aw;",
         "Landroid/support/v4/view/ax;",
         "Landroid/support/v4/view/ay;",
         "Landroid/support/v4/view/az;",
         "Landroid/support/v4/view/g;",
         "Landroid/support/v4/view/b$1;",
         "Landroid/support/v4/view/c;",
         "Landroid/support/v4/view/e;",
         "Landroid/support/v4/view/b;",
         "Landroid/support/v4/view/ba;",
         "Landroid/support/v4/view/bb;",
         "Landroid/support/v4/view/be;",
         "Landroid/support/v4/view/bc;",
         "Landroid/support/v4/view/bd;",
         "Landroid/support/v4/view/bf;",
         "Landroid/support/v4/view/bg;",
         "Landroid/support/v4/view/bq;",
         "Landroid/support/v4/view/bi;",
         "Landroid/support/v4/view/bj;",
         "Landroid/support/v4/view/bk;",
         "Landroid/support/v4/view/bl;",
         "Landroid/support/v4/view/bm;",
         "Landroid/support/v4/view/bn;",
         "Landroid/support/v4/view/bo;",
         "Landroid/support/v4/view/bp;",
         "Landroid/support/v4/view/bh;",
         "Landroid/support/v4/view/br$1;",
         "Landroid/support/v4/view/br;",
         "Landroid/support/v4/view/bs;",
         "Landroid/support/v4/view/bt;",
         "Landroid/support/v4/view/bu;",
         "Landroid/support/v4/view/bv;",
         "Landroid/support/v4/view/bw;",
         "Landroid/support/v4/view/bx;",
         "Landroid/support/v4/view/by;",
         "Landroid/support/v4/view/cd;",
         "Landroid/support/v4/view/bz;",
         "Landroid/support/v4/view/ca;",
         "Landroid/support/v4/view/cb;",
         "Landroid/support/v4/view/cc;",
         "Landroid/support/v4/view/ce;",
         "Landroid/support/v4/view/cf;",
         "Landroid/support/v4/view/cg;",
         "Landroid/support/v4/view/ck;",
         "Landroid/support/v4/view/cm;",
         "Landroid/support/v4/view/ci;",
         "Landroid/support/v4/view/cj;",
         "Landroid/support/v4/view/cl;",
         "Landroid/support/v4/view/ch;",
         "Landroid/support/v4/view/cn;",
         "Landroid/support/v4/view/cp;",
         "Landroid/support/v4/view/cq;",
         "Landroid/support/v4/view/ct;",
         "Landroid/support/v4/view/cu;",
         "Landroid/support/v4/view/cv;",
         "Landroid/support/v4/view/cw;",
         "Landroid/support/v4/view/cx;",
         "Landroid/support/v4/view/df;",
         "Landroid/support/v4/view/cy;",
         "Landroid/support/v4/view/cz;",
         "Landroid/support/v4/view/i;",
         "Landroid/support/v4/view/d$1;",
         "Landroid/support/v4/view/d;",
         "Landroid/support/v4/view/da;",
         "Landroid/support/v4/view/dj;",
         "Landroid/support/v4/view/db;",
         "Landroid/support/v4/view/dd;",
         "Landroid/support/v4/view/dc;",
         "Landroid/support/v4/view/de;",
         "Landroid/support/v4/view/dg$1;",
         "Landroid/support/v4/view/dg;",
         "Landroid/support/v4/view/dh$1;",
         "Landroid/support/v4/view/dh;",
         "Landroid/support/v4/view/di$1;",
         "Landroid/support/v4/view/di;",
         "Landroid/support/v4/view/dk;",
         "Landroid/support/v4/view/dl;",
         "Landroid/support/v4/view/dm;",
         "Landroid/support/v4/view/dn;",
         "Landroid/support/v4/view/f$1;",
         "Landroid/support/v4/view/f;",
         "Landroid/support/v4/view/h$1;",
         "Landroid/support/v4/view/h;",
         "Landroid/support/v4/view/j;",
         "Landroid/support/v4/view/k;",
         "Landroid/support/v4/view/l;",
         "Landroid/support/v4/view/m;",
         "Landroid/support/v4/view/n;",
         "Landroid/support/v4/view/o;",
         "Landroid/support/v4/view/p;",
         "Landroid/support/v4/view/q;",
         "Landroid/support/v4/view/r;",
         "Landroid/support/v4/view/s;",
         "Landroid/support/v4/view/t;",
         "Landroid/support/v4/view/x;",
         "Landroid/support/v4/view/u;",
         "Landroid/support/v4/view/v;",
         "Landroid/support/v4/view/w;",
         "Landroid/support/v4/view/y;",
         "Landroid/support/v4/view/z;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar$1;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar$2;",
         "Landroid/support/v4/widget/ContentLoadingProgressBar;",
         "Landroid/support/v4/widget/DrawerLayout$LayoutParams;",
         "Landroid/support/v4/widget/DrawerLayout$SavedState$1;",
         "Landroid/support/v4/widget/DrawerLayout$SavedState;",
         "Landroid/support/v4/widget/s;",
         "Landroid/support/v4/widget/DrawerLayout;",
         "Landroid/support/v4/widget/SlidingPaneLayout$LayoutParams;",
         "Landroid/support/v4/widget/SlidingPaneLayout$SavedState$1;",
         "Landroid/support/v4/widget/SlidingPaneLayout$SavedState;",
         "Landroid/support/v4/widget/SlidingPaneLayout;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$1;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$2;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$3;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$4;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$5;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$6;",
         "Landroid/support/v4/widget/SwipeRefreshLayout$7;",
         "Landroid/support/v4/widget/SwipeRefreshLayout;",
         "Landroid/support/v4/widget/a;",
         "Landroid/support/v4/widget/aa;",
         "Landroid/support/v4/widget/ab;",
         "Landroid/support/v4/widget/ac;",
         "Landroid/support/v4/widget/ad;",
         "Landroid/support/v4/widget/ag;",
         "Landroid/support/v4/widget/ae;",
         "Landroid/support/v4/widget/af;",
         "Landroid/support/v4/widget/ah;",
         "Landroid/support/v4/widget/i;",
         "Landroid/support/v4/widget/f;",
         "Landroid/support/v4/widget/ai;",
         "Landroid/support/v4/widget/aj;",
         "Landroid/support/v4/widget/ak;",
         "Landroid/support/v4/widget/al;",
         "Landroid/support/v4/widget/am;",
         "Landroid/support/v4/widget/an;",
         "Landroid/support/v4/widget/ao;",
         "Landroid/support/v4/widget/ap;",
         "Landroid/support/v4/widget/aq;",
         "Landroid/support/v4/widget/ar;",
         "Landroid/support/v4/widget/ba;",
         "Landroid/support/v4/widget/as;",
         "Landroid/support/v4/widget/at;",
         "Landroid/support/v4/widget/au;",
         "Landroid/support/v4/widget/av;",
         "Landroid/support/v4/widget/aw;",
         "Landroid/support/v4/widget/ax;",
         "Landroid/support/v4/widget/ay;",
         "Landroid/support/v4/widget/az$1;",
         "Landroid/support/v4/widget/az$2;",
         "Landroid/support/v4/widget/az;",
         "Landroid/support/v4/widget/b;",
         "Landroid/support/v4/widget/c;",
         "Landroid/support/v4/widget/d;",
         "Landroid/support/v4/widget/e;",
         "Landroid/support/v4/widget/g;",
         "Landroid/support/v4/widget/h;",
         "Landroid/support/v4/widget/j;",
         "Landroid/support/v4/widget/k;",
         "Landroid/support/v4/widget/l;",
         "Landroid/support/v4/widget/m;",
         "Landroid/support/v4/widget/n;",
         "Landroid/support/v4/widget/o;",
         "Landroid/support/v4/widget/p$1;",
         "Landroid/support/v4/widget/p;",
         "Landroid/support/v4/widget/q;",
         "Landroid/support/v4/widget/r;",
         "Landroid/support/v4/widget/t;",
         "Landroid/support/v4/widget/w;",
         "Landroid/support/v4/widget/u;",
         "Landroid/support/v4/widget/v;",
         "Landroid/support/v4/widget/x;",
         "Landroid/support/v4/widget/y;",
         "Landroid/support/v4/widget/z$1;",
         "Landroid/support/v4/widget/z$2;",
         "Landroid/support/v4/widget/z$3;",
         "Landroid/support/v4/widget/z$4;",
         "Landroid/support/v4/widget/z$5;",
         "Landroid/support/v4/widget/z;",
         "Landroid/support/v7/a/a;",
         "Landroid/support/v7/a/b;",
         "Landroid/support/v7/a/c;",
         "Landroid/support/v7/a/d;",
         "Landroid/support/v7/a/e;",
         "Landroid/support/v7/a/f;",
         "Landroid/support/v7/a/g;",
         "Landroid/support/v7/a/h;",
         "Landroid/support/v7/a/i;",
         "Landroid/support/v7/a/j;",
         "Landroid/support/v7/a/k;",
         "Landroid/support/v7/a/l;",
         "Landroid/support/v7/app/ActionBar$LayoutParams;",
         "Landroid/support/v7/app/ActionBar;",
         "Landroid/support/v7/app/a;",
         "Landroid/support/v7/app/s;",
         "Landroid/support/v7/app/b;",
         "Landroid/support/v7/internal/a/f;",
         "Landroid/support/v7/app/c$1;",
         "Landroid/support/v7/app/c;",
         "Landroid/support/v7/app/l;",
         "Landroid/support/v7/app/d;",
         "Landroid/support/v7/app/e$1;",
         "Landroid/support/v7/app/e$2;",
         "Landroid/support/v7/internal/widget/x;",
         "Landroid/support/v7/app/e$3;",
         "Landroid/support/v7/app/e$4;",
         "Landroid/support/v7/internal/view/menu/j;",
         "Landroid/support/v7/app/e;",
         "Landroid/support/v7/internal/view/menu/w;",
         "Landroid/support/v7/app/f;",
         "Landroid/support/v7/b/b;",
         "Landroid/support/v7/app/g;",
         "Landroid/support/v7/app/h;",
         "Landroid/support/v7/app/i;",
         "Landroid/support/v7/internal/widget/z;",
         "Landroid/support/v7/app/j;",
         "Landroid/support/v7/app/k;",
         "Landroid/support/v7/app/m;",
         "Landroid/support/v7/app/x;",
         "Landroid/support/v7/app/o;",
         "Landroid/support/v7/app/n;",
         "Landroid/support/v7/app/p;",
         "Landroid/support/v7/app/q;",
         "Landroid/support/v7/app/r;",
         "Landroid/support/v7/app/t;",
         "Landroid/support/v7/app/u;",
         "Landroid/support/v7/app/v;",
         "Lcom/spotify/mobile/android/util/ui/d;",
         "Landroid/support/v7/app/w;",
         "Landroid/support/v7/b/a;",
         "Landroid/support/v7/b/c;",
         "Landroid/support/v7/internal/a/a$1;",
         "Landroid/support/v7/widget/br;",
         "Landroid/support/v7/internal/a/a$2;",
         "Landroid/support/v7/internal/a/a;",
         "Landroid/support/v7/internal/a/b;",
         "Landroid/support/v7/internal/a/c;",
         "Landroid/support/v7/internal/a/d;",
         "Landroid/support/v7/widget/bs;",
         "Landroid/support/v7/internal/a/e;",
         "Landroid/support/v7/internal/a/g$1;",
         "Landroid/support/v7/internal/a/g$2;",
         "Landroid/support/v7/internal/a/g$3;",
         "Landroid/support/v7/internal/widget/f;",
         "Landroid/support/v7/internal/a/g;",
         "Landroid/support/v7/internal/a/h;",
         "Landroid/support/v7/internal/a;",
         "Landroid/support/v7/internal/b/a;",
         "Landroid/support/v7/internal/view/a;",
         "Landroid/support/v7/internal/view/b;",
         "Landroid/support/v7/internal/view/c;",
         "Landroid/support/v7/internal/view/d;",
         "Landroid/support/v7/internal/view/e;",
         "Landroid/support/v7/internal/view/f;",
         "Landroid/support/v7/internal/view/g;",
         "Landroid/support/v7/internal/view/h$1;",
         "Landroid/support/v7/internal/view/h;",
         "Landroid/support/v7/internal/widget/CompatTextView;",
         "Landroid/support/v7/internal/view/menu/y;",
         "Landroid/support/v7/widget/h;",
         "Landroid/support/v7/internal/view/menu/ActionMenuItemView;",
         "Landroid/support/v7/internal/view/menu/k;",
         "Landroid/support/v7/internal/view/menu/x;",
         "Landroid/support/v7/internal/view/menu/ExpandedMenuView;",
         "Landroid/support/v7/internal/view/menu/ListMenuItemView;",
         "Landroid/support/v7/internal/view/menu/a;",
         "Landroid/support/v7/internal/view/menu/f;",
         "Landroid/support/v7/internal/view/menu/e;",
         "Landroid/support/v7/internal/view/menu/aa;",
         "Landroid/support/v7/internal/view/menu/i;",
         "Landroid/support/v7/internal/view/menu/ab;",
         "Landroid/support/v7/internal/view/menu/ac;",
         "Landroid/support/v7/widget/ab;",
         "Landroid/support/v7/internal/view/menu/b;",
         "Landroid/support/v7/internal/view/menu/c;",
         "Landroid/support/v7/internal/view/menu/v;",
         "Landroid/support/v7/internal/view/menu/d;",
         "Landroid/support/v7/internal/view/menu/g;",
         "Landroid/support/v7/internal/view/menu/h;",
         "Landroid/support/v7/internal/view/menu/l;",
         "Landroid/support/v7/internal/view/menu/m$1;",
         "Landroid/support/v7/internal/view/menu/m;",
         "Landroid/support/v7/internal/view/menu/n;",
         "Landroid/support/v7/internal/view/menu/o$1;",
         "Landroid/support/v7/internal/view/menu/o;",
         "Landroid/support/v7/internal/view/menu/p;",
         "Landroid/support/v7/internal/view/menu/q;",
         "Landroid/support/v7/internal/view/menu/r;",
         "Landroid/support/v7/internal/view/menu/s;",
         "Landroid/support/v7/internal/view/menu/t;",
         "Landroid/support/v7/internal/view/menu/u;",
         "Landroid/support/v7/internal/view/menu/z;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat$SavedState$1;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat$SavedState;",
         "Landroid/support/v7/internal/widget/o;",
         "Landroid/support/v7/internal/widget/AbsSpinnerCompat;",
         "Landroid/support/v7/internal/widget/ActionBarContainer;",
         "Landroid/support/v7/internal/widget/ActionBarContextView$1;",
         "Landroid/support/v7/internal/widget/a;",
         "Landroid/support/v7/internal/widget/ActionBarContextView;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$1;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$2;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$3;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$4;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout$LayoutParams;",
         "Landroid/support/v7/internal/widget/t;",
         "Landroid/support/v7/internal/widget/ActionBarOverlayLayout;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$1;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$2;",
         "Landroid/support/v7/internal/widget/ActivityChooserView$3;",
         "Landroid/support/v7/internal/widget/ActivityChooserView;",
         "Landroid/support/v7/internal/widget/AppCompatPopupWindow;",
         "Landroid/support/v7/internal/widget/ContentFrameLayout;",
         "Landroid/support/v7/internal/widget/w;",
         "Landroid/support/v7/internal/widget/FitWindowsFrameLayout;",
         "Landroid/support/v7/internal/widget/FitWindowsLinearLayout;",
         "Landroid/support/v7/internal/widget/ListViewCompat;",
         "Landroid/support/v7/internal/widget/NativeActionModeAwareLayout;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$1;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$2;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$SavedState$1;",
         "Landroid/support/v7/internal/widget/SpinnerCompat$SavedState;",
         "Landroid/support/v7/internal/widget/SpinnerCompat;",
         "Landroid/support/v7/internal/widget/TintCheckBox;",
         "Landroid/support/v7/internal/widget/TintCheckedTextView;",
         "Landroid/support/v7/internal/widget/TintEditText;",
         "Landroid/support/v7/internal/widget/TintImageView;",
         "Landroid/support/v7/internal/widget/TintRadioButton;",
         "Landroid/support/v7/internal/widget/TintSpinner;",
         "Landroid/support/v7/internal/widget/ViewStubCompat;",
         "Landroid/support/v7/internal/widget/aa;",
         "Landroid/support/v7/internal/widget/ab$1;",
         "Landroid/support/v7/internal/widget/q;",
         "Landroid/support/v7/internal/widget/ab;",
         "Landroid/support/v7/internal/widget/ac;",
         "Landroid/support/v7/widget/LinearLayoutCompat;",
         "Landroid/support/v7/internal/widget/ad;",
         "Landroid/support/v7/internal/widget/ah;",
         "Landroid/support/v7/internal/widget/ae;",
         "Landroid/support/v7/internal/widget/af;",
         "Landroid/support/v7/internal/widget/ag$1;",
         "Landroid/support/v7/widget/ListPopupWindow;",
         "Landroid/support/v7/internal/widget/ag;",
         "Landroid/support/v7/internal/widget/v;",
         "Landroid/support/v7/internal/widget/ai;",
         "Landroid/support/v7/internal/widget/aj;",
         "Landroid/support/v7/internal/widget/ak;",
         "Landroid/support/v7/internal/widget/al;",
         "Landroid/support/v7/internal/widget/am;",
         "Landroid/support/v7/internal/widget/an$1;",
         "Landroid/support/v7/internal/widget/an$2;",
         "Landroid/support/v7/internal/widget/an$3;",
         "Landroid/support/v7/internal/widget/u;",
         "Landroid/support/v7/internal/widget/an;",
         "Landroid/support/v7/internal/widget/ao;",
         "Landroid/support/v7/internal/widget/ap;",
         "Landroid/support/v7/internal/widget/b;",
         "Landroid/support/v7/internal/widget/c;",
         "Landroid/support/v7/internal/widget/d;",
         "Landroid/support/v7/internal/widget/e;",
         "Landroid/support/v7/internal/widget/g;",
         "Landroid/support/v7/internal/widget/h;",
         "Landroid/support/v7/internal/widget/i;",
         "Landroid/support/v7/internal/widget/j;",
         "Landroid/support/v7/internal/widget/k;",
         "Landroid/support/v7/internal/widget/l;",
         "Landroid/support/v7/internal/widget/m;",
         "Landroid/support/v7/internal/widget/n;",
         "Landroid/support/v7/internal/widget/p;",
         "Landroid/support/v7/internal/widget/r;",
         "Landroid/support/v7/internal/widget/s;",
         "Landroid/support/v7/internal/widget/y;",
         "Landroid/support/v7/widget/LinearLayoutCompat$LayoutParams;",
         "Landroid/support/v7/widget/ActionMenuView$LayoutParams;",
         "Landroid/support/v7/widget/ActionMenuView;",
         "Landroid/support/v7/widget/RecyclerView$LayoutParams;",
         "Landroid/support/v7/widget/GridLayoutManager$LayoutParams;",
         "Landroid/support/v7/widget/at;",
         "Landroid/support/v7/widget/LinearLayoutManager;",
         "Landroid/support/v7/widget/GridLayoutManager;",
         "Landroid/support/v7/widget/LinearLayoutManager$SavedState$1;",
         "Landroid/support/v7/widget/LinearLayoutManager$SavedState;",
         "Landroid/support/v7/widget/ListPopupWindow$1;",
         "Landroid/support/v7/widget/ListPopupWindow$2;",
         "Landroid/support/v7/widget/RecyclerView$1;",
         "Landroid/support/v7/widget/RecyclerView$2;",
         "Landroid/support/v7/widget/RecyclerView$3;",
         "Landroid/support/v7/widget/q;",
         "Landroid/support/v7/widget/RecyclerView$4;",
         "Landroid/support/v7/widget/m;",
         "Landroid/support/v7/widget/RecyclerView$5;",
         "Landroid/support/v7/widget/RecyclerView$SavedState$1;",
         "Landroid/support/v7/widget/RecyclerView$SavedState;",
         "Landroid/support/v7/widget/RecyclerView;",
         "Landroid/support/v7/widget/SearchView$10;",
         "Landroid/support/v7/widget/SearchView$11;",
         "Landroid/support/v7/widget/SearchView$12;",
         "Landroid/support/v7/widget/SearchView$1;",
         "Landroid/support/v7/widget/SearchView$2;",
         "Landroid/support/v7/widget/SearchView$3;",
         "Landroid/support/v7/widget/SearchView$4;",
         "Landroid/support/v7/widget/SearchView$5;",
         "Landroid/support/v7/widget/SearchView$6;",
         "Landroid/support/v7/widget/SearchView$7;",
         "Landroid/support/v7/widget/SearchView$8;",
         "Landroid/support/v7/widget/SearchView$9;",
         "Landroid/support/v7/widget/SearchView$SearchAutoComplete;",
         "Landroid/support/v7/widget/SearchView;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LayoutParams;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem$1;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup$FullSpanItem;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$LazySpanLookup;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$SavedState$1;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager$SavedState;",
         "Landroid/support/v7/widget/StaggeredGridLayoutManager;",
         "Landroid/support/v7/widget/SwitchCompat$1;",
         "Landroid/support/v7/widget/SwitchCompat;",
         "Landroid/support/v7/widget/k;",
         "Landroid/support/v7/widget/Toolbar$1;",
         "Landroid/support/v7/widget/Toolbar$2;",
         "Landroid/support/v7/widget/Toolbar$3;",
         "Landroid/support/v7/widget/Toolbar$LayoutParams;",
         "Landroid/support/v7/widget/Toolbar$SavedState$1;",
         "Landroid/support/v7/widget/Toolbar$SavedState;",
         "Landroid/support/v7/widget/Toolbar;",
         "Landroid/support/v7/widget/a;",
         "Landroid/support/v7/widget/aa;",
         "Landroid/support/v7/widget/ac;",
         "Landroid/support/v7/widget/ad;",
         "Landroid/support/v7/widget/ae;",
         "Landroid/support/v7/widget/af;",
         "Landroid/support/v7/widget/ag;",
         "Landroid/support/v7/widget/ah;",
         "Landroid/support/v7/widget/ai;",
         "Landroid/support/v7/widget/aj;",
         "Landroid/support/v7/widget/ak;",
         "Landroid/support/v7/widget/al;",
         "Landroid/support/v7/widget/al$1;",
         "Landroid/support/v7/widget/al$2;",
         "Landroid/support/v7/widget/am;",
         "Landroid/support/v7/widget/an;",
         "Landroid/support/v7/widget/ao;",
         "Landroid/support/v7/widget/ap;",
         "Landroid/support/v7/widget/aq;",
         "Landroid/support/v7/widget/ar;",
         "Landroid/support/v7/widget/as;",
         "Landroid/support/v7/widget/au;",
         "Landroid/support/v7/widget/av;",
         "Landroid/support/v7/widget/aw;",
         "Landroid/support/v7/widget/ax;",
         "Landroid/support/v7/widget/ay;",
         "Landroid/support/v7/widget/az;",
         "Landroid/support/v7/widget/b;",
         "Landroid/support/v7/widget/ba;",
         "Landroid/support/v7/widget/bb;",
         "Landroid/support/v7/widget/bc;",
         "Landroid/support/v7/widget/bd;",
         "Landroid/support/v7/widget/be;",
         "Landroid/support/v7/widget/bf;",
         "Landroid/support/v7/widget/bg$1;",
         "Landroid/support/v7/widget/bg;",
         "Landroid/support/v7/widget/bh;",
         "Landroid/support/v7/widget/bi;",
         "Landroid/support/v7/widget/bj;",
         "Landroid/support/v7/widget/bk;",
         "Landroid/support/v7/widget/bl;",
         "Landroid/support/v7/widget/bm;",
         "Landroid/support/v7/widget/bn;",
         "Landroid/support/v7/widget/bo;",
         "Landroid/support/v7/widget/bp;",
         "Landroid/support/v7/widget/bq;",
         "Landroid/support/v7/widget/c;",
         "Landroid/support/v7/widget/d;",
         "Landroid/support/v7/widget/e$1;",
         "Landroid/support/v7/widget/e;",
         "Landroid/support/v7/widget/f;",
         "Landroid/support/v7/widget/g;",
         "Landroid/support/v7/widget/i;",
         "Landroid/support/v7/widget/j;",
         "Landroid/support/v7/widget/l;",
         "Landroid/support/v7/widget/n;",
         "Landroid/support/v7/widget/o;",
         "Landroid/support/v7/widget/p;",
         "Landroid/support/v7/widget/r$1;",
         "Landroid/support/v7/widget/r$2;",
         "Landroid/support/v7/widget/r$3;",
         "Landroid/support/v7/widget/u;",
         "Landroid/support/v7/widget/r$4;",
         "Landroid/support/v7/widget/r$5;",
         "Landroid/support/v7/widget/r$6;",
         "Landroid/support/v7/widget/r$7;",
         "Landroid/support/v7/widget/r$8;",
         "Landroid/support/v7/widget/r;",
         "Landroid/support/v7/widget/s;",
         "Landroid/support/v7/widget/t;",
         "Landroid/support/v7/widget/v;",
         "Landroid/support/v7/widget/w;",
         "Landroid/support/v7/widget/x;",
         "Landroid/support/v7/widget/y;",
         "Landroid/support/v7/widget/z;",
         "Lcom/a/a/a/a;",
         "Lcom/a/a/a/b;",
         "Lcom/a/a/a/c;",
         "Lcom/b/a/a$1;",
         "Lcom/b/a/a$2;",
         "Lcom/b/a/a;",
         "Lcom/b/a/b;",
         "Lcom/b/a/c;",
         "Lcom/b/a/d;",
         "Lcom/b/a/e;",
         "Lcom/b/a/f$1;",
         "Lcom/b/a/f;",
         "Lcom/b/a/g;",
         "Lcom/c/a;",
         "Lcom/c/b;",
         "Lcom/c/c;",
         "Lcom/c/d;",
         "Lcom/c/e;",
         "Lcom/c/f;",
         "Lcom/c/g;",
         "Lcom/c/h;",
         "Lcom/c/i;",
         "Lcom/c/j;",
         "Lcom/c/k;",
         "Lcom/c/l;",
         "Lcom/c/m;",
         "Lcom/c/n;",
         "Lcom/c/o;",
         "Lcom/c/p;",
         "Lcom/c/q;",
         "Lcom/c/r;",
         "Lcom/c/s;",
         "Lcom/c/t;",
         "Lcom/c/u;",
         "Lcom/comscore/a/a/a;",
         "Lcom/comscore/a/a/b;",
         "Lcom/comscore/a/a/c;",
         "Lcom/comscore/a/a/d;",
         "Lcom/comscore/a/a/e;",
         "Lcom/comscore/a/a/f;",
         "Lcom/comscore/analytics/ApplicationState;",
         "Lcom/comscore/analytics/SessionState;",
         "Lcom/comscore/analytics/a;",
         "Lcom/comscore/analytics/b;",
         "Lcom/comscore/analytics/c;",
         "Lcom/comscore/analytics/d;",
         "Lcom/comscore/analytics/e;",
         "Lcom/comscore/analytics/f;",
         "Lcom/comscore/analytics/g;",
         "Lcom/comscore/analytics/h;",
         "Lcom/comscore/analytics/i;",
         "Lcom/comscore/analytics/j;",
         "Lcom/comscore/analytics/k;",
         "Lcom/comscore/analytics/l;",
         "Lcom/comscore/analytics/m;",
         "Lcom/comscore/analytics/n;",
         "Lcom/comscore/analytics/o;",
         "Lcom/comscore/analytics/p;",
         "Lcom/comscore/applications/EventType;",
         "Lcom/comscore/b/b;",
         "Lcom/comscore/applications/c;",
         "Lcom/comscore/applications/a;",
         "Lcom/comscore/applications/b;",
         "Lcom/comscore/applications/d;",
         "Lcom/comscore/b/a;",
         "Lcom/comscore/b/c;",
         "Lcom/comscore/b/d;",
         "Lcom/comscore/b/e;",
         "Lcom/comscore/metrics/EventType;",
         "Lcom/comscore/metrics/a;",
         "Lcom/comscore/metrics/b;",
         "Lcom/comscore/utils/DispatchQueue;",
         "Lcom/comscore/utils/TransmissionMode;",
         "Lcom/comscore/utils/a/a;",
         "Lcom/comscore/utils/a;",
         "Lcom/comscore/utils/b/a;",
         "Lcom/comscore/utils/b/b;",
         "Lcom/comscore/utils/b/c;",
         "Lcom/comscore/utils/b;",
         "Lcom/comscore/utils/c;",
         "Lcom/comscore/utils/d;",
         "Lcom/comscore/utils/e;",
         "Lcom/comscore/utils/f;",
         "Lcom/comscore/utils/g;",
         "Lcom/comscore/utils/h;",
         "Lcom/comscore/utils/i;",
         "Lcom/comscore/utils/j;",
         "Lcom/comscore/utils/k;",
         "Lcom/comscore/utils/l;",
         "Lcom/comscore/utils/m;",
         "Lcom/comscore/utils/n;",
         "Lcom/comscore/utils/o;",
         "Lcom/comscore/utils/p;",
         "Lcom/comscore/utils/q;",
         "Lcom/comscore/utils/r;",
         "Lcom/comscore/utils/s;",
         "Lcom/comscore/utils/t;",
         "Lcom/comscore/utils/u;",
         "Lcom/crashlytics/android/ndk/JniNativeApi;",
         "Lcom/devsmart/android/ui/HorizontalListView$1;",
         "Lcom/devsmart/android/ui/HorizontalListView$2;",
         "Lcom/devsmart/android/ui/HorizontalListView$3;",
         "Lcom/devsmart/android/ui/HorizontalListView;",
         "Lcom/facebook/AccessToken$SerializationProxyV2;",
         "Lcom/facebook/AccessToken;",
         "Lcom/facebook/AccessTokenSource;",
         "Lcom/facebook/AppEventsLogger$1;",
         "Lcom/facebook/AppEventsLogger$2;",
         "Lcom/facebook/AppEventsLogger$3;",
         "Lcom/facebook/AppEventsLogger$4;",
         "Lcom/facebook/AppEventsLogger$5;",
         "Lcom/facebook/q;",
         "Lcom/facebook/AppEventsLogger$6;",
         "Lcom/facebook/AppEventsLogger$AccessTokenAppIdPair$SerializationProxyV1;",
         "Lcom/facebook/AppEventsLogger$AccessTokenAppIdPair;",
         "Lcom/facebook/AppEventsLogger$AppEvent$SerializationProxyV1;",
         "Lcom/facebook/AppEventsLogger$AppEvent;",
         "Lcom/facebook/AppEventsLogger$FlushBehavior;",
         "Lcom/facebook/AppEventsLogger$FlushReason;",
         "Lcom/facebook/AppEventsLogger$FlushResult;",
         "Lcom/facebook/AppEventsLogger;",
         "Lcom/facebook/h;",
         "Lcom/facebook/AuthorizationClient$1;",
         "Lcom/facebook/AuthorizationClient$2;",
         "Lcom/facebook/AuthorizationClient$3;",
         "Lcom/facebook/AuthorizationClient$4;",
         "Lcom/facebook/x;",
         "Lcom/facebook/AuthorizationClient$5;",
         "Lcom/facebook/AuthorizationClient$AuthHandler;",
         "Lcom/facebook/AuthorizationClient$AuthorizationRequest;",
         "Lcom/facebook/internal/av;",
         "Lcom/facebook/AuthorizationClient$GetTokenAuthHandler$1;",
         "Lcom/facebook/AuthorizationClient$GetTokenAuthHandler;",
         "Lcom/facebook/AuthorizationClient$KatanaAuthHandler;",
         "Lcom/facebook/AuthorizationClient$KatanaProxyAuthHandler;",
         "Lcom/facebook/AuthorizationClient$Result$Code;",
         "Lcom/facebook/AuthorizationClient$Result;",
         "Lcom/facebook/widget/s;",
         "Lcom/facebook/AuthorizationClient$WebViewAuthHandler$1;",
         "Lcom/facebook/AuthorizationClient$WebViewAuthHandler;",
         "Lcom/facebook/AuthorizationClient;",
         "Lcom/facebook/FacebookException;",
         "Lcom/facebook/FacebookAuthorizationException;",
         "Lcom/facebook/FacebookDialogException;",
         "Lcom/facebook/FacebookGraphObjectException;",
         "Lcom/facebook/FacebookOperationCanceledException;",
         "Lcom/facebook/FacebookRequestError$Category;",
         "Lcom/facebook/FacebookRequestError;",
         "Lcom/facebook/FacebookServiceException;",
         "Lcom/facebook/FacebookTimeSpentData$SerializationProxyV2;",
         "Lcom/facebook/FacebookTimeSpentData;",
         "Lcom/facebook/HttpMethod;",
         "Lcom/facebook/LoggingBehavior;",
         "Lcom/facebook/g;",
         "Lcom/facebook/LoginActivity$1;",
         "Lcom/facebook/f;",
         "Lcom/facebook/LoginActivity$2;",
         "Lcom/facebook/LoginActivity;",
         "Lcom/facebook/Request$1;",
         "Lcom/facebook/Request$2;",
         "Lcom/facebook/s;",
         "Lcom/facebook/Request$3;",
         "Lcom/facebook/Request$ParcelFileDescriptorWithMimeType$1;",
         "Lcom/facebook/Request$ParcelFileDescriptorWithMimeType;",
         "Lcom/facebook/Request;",
         "Lcom/facebook/Session$1;",
         "Lcom/facebook/Session$2;",
         "Lcom/facebook/Session$3;",
         "Lcom/facebook/Session$4$1;",
         "Lcom/facebook/Session$4;",
         "Lcom/facebook/Session$5;",
         "Lcom/facebook/af;",
         "Lcom/facebook/Session$AuthorizationRequest$1;",
         "Lcom/facebook/Session$AuthorizationRequest$2;",
         "Lcom/facebook/Session$AuthorizationRequest$3;",
         "Lcom/facebook/Session$AuthorizationRequest$4;",
         "Lcom/facebook/Session$AuthorizationRequest$AuthRequestSerializationProxyV1;",
         "Lcom/facebook/Session$AuthorizationRequest;",
         "Lcom/facebook/Session$NewPermissionsRequest;",
         "Lcom/facebook/Session$OpenRequest;",
         "Lcom/facebook/Session$SerializationProxyV1;",
         "Lcom/facebook/Session;",
         "Lcom/facebook/SessionDefaultAudience;",
         "Lcom/facebook/SessionLoginBehavior;",
         "Lcom/facebook/SessionState$Category;",
         "Lcom/facebook/SessionState;",
         "Lcom/facebook/a/a;",
         "Lcom/facebook/a/b;",
         "Lcom/facebook/a/c;",
         "Lcom/facebook/a/d;",
         "Lcom/facebook/a/e;",
         "Lcom/facebook/a/f;",
         "Lcom/facebook/a/g;",
         "Lcom/facebook/a/h;",
         "Lcom/facebook/a;",
         "Lcom/facebook/aa$1;",
         "Lcom/facebook/aa;",
         "Lcom/facebook/ab;",
         "Lcom/facebook/ac;",
         "Lcom/facebook/ad;",
         "Lcom/facebook/ae;",
         "Lcom/facebook/ag;",
         "Lcom/facebook/ah;",
         "Lcom/facebook/ai;",
         "Lcom/facebook/aj$1;",
         "Lcom/facebook/aj$2$1;",
         "Lcom/facebook/aj$2;",
         "Lcom/facebook/aj;",
         "Lcom/facebook/al;",
         "Lcom/facebook/ak;",
         "Lcom/facebook/am;",
         "Lcom/facebook/an;",
         "Lcom/facebook/b$1;",
         "Lcom/facebook/b;",
         "Lcom/facebook/c;",
         "Lcom/facebook/d;",
         "Lcom/facebook/widget/q;",
         "Lcom/facebook/widget/p;",
         "Lcom/facebook/e;",
         "Lcom/facebook/i;",
         "Lcom/facebook/internal/LikeActionController$10;",
         "Lcom/facebook/internal/aa;",
         "Lcom/facebook/internal/LikeActionController$1;",
         "Lcom/facebook/internal/LikeActionController$2;",
         "Lcom/facebook/internal/LikeActionController$3;",
         "Lcom/facebook/internal/LikeActionController$4;",
         "Lcom/facebook/internal/LikeActionController$5$1;",
         "Lcom/facebook/internal/LikeActionController$5;",
         "Lcom/facebook/widget/b;",
         "Lcom/facebook/internal/LikeActionController$6;",
         "Lcom/facebook/internal/LikeActionController$7$1;",
         "Lcom/facebook/internal/aj;",
         "Lcom/facebook/internal/LikeActionController$7;",
         "Lcom/facebook/internal/LikeActionController$8;",
         "Lcom/facebook/internal/LikeActionController$9$1;",
         "Lcom/facebook/internal/LikeActionController$9;",
         "Lcom/facebook/widget/c;",
         "Lcom/facebook/internal/LikeActionController$LikeDialogFeature;",
         "Lcom/facebook/internal/LikeActionController;",
         "Lcom/facebook/internal/LikeBoxCountView$1;",
         "Lcom/facebook/internal/LikeBoxCountView$LikeBoxCountViewCaretPosition;",
         "Lcom/facebook/internal/LikeBoxCountView;",
         "Lcom/facebook/internal/SessionAuthorizationType;",
         "Lcom/facebook/internal/a;",
         "Lcom/facebook/internal/y;",
         "Lcom/facebook/internal/ab;",
         "Lcom/facebook/internal/ac;",
         "Lcom/facebook/internal/ad;",
         "Lcom/facebook/internal/ae;",
         "Lcom/facebook/widget/a;",
         "Lcom/facebook/internal/af;",
         "Lcom/facebook/internal/ag;",
         "Lcom/facebook/internal/ah;",
         "Lcom/facebook/internal/ai;",
         "Lcom/facebook/internal/ak;",
         "Lcom/facebook/internal/al;",
         "Lcom/facebook/internal/au;",
         "Lcom/facebook/internal/am;",
         "Lcom/facebook/internal/an;",
         "Lcom/facebook/internal/ao;",
         "Lcom/facebook/internal/ar;",
         "Lcom/facebook/internal/ap;",
         "Lcom/facebook/internal/aq;",
         "Lcom/facebook/internal/as;",
         "Lcom/facebook/internal/at;",
         "Lcom/facebook/internal/au$1;",
         "Lcom/facebook/internal/aw;",
         "Lcom/facebook/internal/ax;",
         "Lcom/facebook/internal/ay;",
         "Lcom/facebook/internal/az;",
         "Lcom/facebook/internal/c;",
         "Lcom/facebook/internal/b$1;",
         "Lcom/facebook/internal/b$2;",
         "Lcom/facebook/internal/b$3;",
         "Lcom/facebook/internal/b$4;",
         "Lcom/facebook/internal/b$5;",
         "Lcom/facebook/internal/b$6;",
         "Lcom/facebook/internal/b$7;",
         "Lcom/facebook/internal/b;",
         "Lcom/facebook/internal/ba;",
         "Lcom/facebook/internal/bb$1;",
         "Lcom/facebook/internal/bb;",
         "Lcom/facebook/internal/bc;",
         "Lcom/facebook/internal/bd;",
         "Lcom/facebook/internal/be;",
         "Lcom/facebook/internal/bf$1;",
         "Lcom/facebook/internal/bf;",
         "Lcom/facebook/internal/bg;",
         "Lcom/facebook/internal/bh;",
         "Lcom/facebook/w;",
         "Lcom/facebook/internal/d;",
         "Lcom/facebook/internal/e$1;",
         "Lcom/facebook/internal/e$2;",
         "Lcom/facebook/widget/o;",
         "Lcom/facebook/internal/e;",
         "Lcom/facebook/internal/l;",
         "Lcom/facebook/internal/f$1;",
         "Lcom/facebook/internal/f$2;",
         "Lcom/facebook/internal/f$3;",
         "Lcom/facebook/internal/f;",
         "Lcom/facebook/internal/g$1;",
         "Lcom/facebook/internal/g$2;",
         "Lcom/facebook/internal/g;",
         "Lcom/facebook/internal/h;",
         "Lcom/facebook/internal/i;",
         "Lcom/facebook/internal/j;",
         "Lcom/facebook/internal/k;",
         "Lcom/facebook/internal/m;",
         "Lcom/facebook/internal/n$1;",
         "Lcom/facebook/internal/n;",
         "Lcom/facebook/internal/o;",
         "Lcom/facebook/internal/p;",
         "Lcom/facebook/internal/q;",
         "Lcom/facebook/internal/r;",
         "Lcom/facebook/internal/s;",
         "Lcom/facebook/internal/t;",
         "Lcom/facebook/internal/u;",
         "Lcom/facebook/internal/v;",
         "Lcom/facebook/internal/w;",
         "Lcom/facebook/internal/x;",
         "Lcom/facebook/internal/y$1;",
         "Lcom/facebook/internal/z;",
         "Lcom/facebook/j;",
         "Lcom/facebook/k;",
         "Lcom/facebook/m;",
         "Lcom/facebook/l$1;",
         "Lcom/facebook/l$2;",
         "Lcom/facebook/l;",
         "Lcom/facebook/model/CreateGraphObject;",
         "Lcom/facebook/model/GraphObject;",
         "Lcom/facebook/model/GraphLocation;",
         "Lcom/facebook/model/GraphMultiResult;",
         "Lcom/facebook/model/GraphObjectList;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectListImpl;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectProxy$1;",
         "Lcom/facebook/model/GraphObject$Factory$ProxyBase;",
         "Lcom/facebook/model/GraphObject$Factory$GraphObjectProxy;",
         "Lcom/facebook/model/GraphObject$Factory;",
         "Lcom/facebook/model/GraphPlace;",
         "Lcom/facebook/model/GraphUser;",
         "Lcom/facebook/model/JsonUtil$JSONObjectEntry;",
         "Lcom/facebook/model/JsonUtil;",
         "Lcom/facebook/model/OpenGraphAction$Factory;",
         "Lcom/facebook/model/OpenGraphAction;",
         "Lcom/facebook/model/OpenGraphObject$Factory;",
         "Lcom/facebook/model/OpenGraphObject;",
         "Lcom/facebook/model/PropertyName;",
         "Lcom/facebook/z;",
         "Lcom/facebook/n;",
         "Lcom/facebook/o$1;",
         "Lcom/facebook/o;",
         "Lcom/facebook/p;",
         "Lcom/facebook/r;",
         "Lcom/facebook/t;",
         "Lcom/facebook/u;",
         "Lcom/facebook/v;",
         "Lcom/facebook/widget/FacebookDialog$PendingCall$1;",
         "Lcom/facebook/widget/FacebookDialog$PendingCall;",
         "Lcom/facebook/widget/FacebookDialog;",
         "Lcom/facebook/widget/LikeView$1;",
         "Lcom/facebook/widget/LikeView$2;",
         "Lcom/facebook/widget/LikeView$AuxiliaryViewPosition;",
         "Lcom/facebook/widget/LikeView$HorizontalAlignment;",
         "Lcom/facebook/widget/LikeView$Style;",
         "Lcom/facebook/widget/LikeView;",
         "Lcom/facebook/widget/LoginButton$1;",
         "Lcom/facebook/widget/LoginButton$2;",
         "Lcom/facebook/widget/LoginButton$ToolTipMode;",
         "Lcom/facebook/widget/LoginButton;",
         "Lcom/facebook/widget/ProfilePictureView$1;",
         "Lcom/facebook/widget/ProfilePictureView;",
         "Lcom/facebook/widget/ToolTipPopup$1;",
         "Lcom/facebook/widget/ToolTipPopup$2;",
         "Lcom/facebook/widget/ToolTipPopup$3;",
         "Lcom/facebook/widget/ToolTipPopup$Style;",
         "Lcom/facebook/widget/ToolTipPopup;",
         "Lcom/facebook/widget/d;",
         "Lcom/facebook/widget/a$1;",
         "Lcom/facebook/widget/e;",
         "Lcom/facebook/widget/f;",
         "Lcom/facebook/widget/g;",
         "Lcom/facebook/widget/h;",
         "Lcom/facebook/widget/i;",
         "Lcom/facebook/widget/j$1;",
         "Lcom/facebook/widget/j;",
         "Lcom/facebook/widget/k;",
         "Lcom/facebook/widget/l;",
         "Lcom/facebook/widget/m;",
         "Lcom/facebook/widget/n;",
         "Lcom/facebook/widget/o$1;",
         "Lcom/facebook/widget/o$2;",
         "Lcom/facebook/widget/o$3;",
         "Lcom/facebook/widget/r;",
         "Lcom/facebook/y;",
         "Lcom/fasterxml/jackson/annotation/JacksonAnnotationsInside;",
         "Lcom/fasterxml/jackson/annotation/JacksonInject;",
         "Lcom/fasterxml/jackson/annotation/JsonAnyGetter;",
         "Lcom/fasterxml/jackson/annotation/JsonAnySetter;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect$1;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect$Visibility;",
         "Lcom/fasterxml/jackson/annotation/JsonAutoDetect;",
         "Lcom/fasterxml/jackson/annotation/JsonBackReference;",
         "Lcom/fasterxml/jackson/annotation/JsonCreator;",
         "Lcom/fasterxml/jackson/annotation/JsonFilter;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat$Shape;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat$Value;",
         "Lcom/fasterxml/jackson/annotation/JsonFormat;",
         "Lcom/fasterxml/jackson/annotation/JsonGetter;",
         "Lcom/fasterxml/jackson/annotation/JsonIdentityInfo;",
         "Lcom/fasterxml/jackson/annotation/JsonIdentityReference;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnore;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnoreProperties;",
         "Lcom/fasterxml/jackson/annotation/JsonIgnoreType;",
         "Lcom/fasterxml/jackson/annotation/JsonInclude$Include;",
         "Lcom/fasterxml/jackson/annotation/JsonInclude;",
         "Lcom/fasterxml/jackson/annotation/JsonManagedReference;",
         "Lcom/fasterxml/jackson/annotation/JsonProperty;",
         "Lcom/fasterxml/jackson/annotation/JsonPropertyOrder;",
         "Lcom/fasterxml/jackson/annotation/JsonRawValue;",
         "Lcom/fasterxml/jackson/annotation/JsonRootName;",
         "Lcom/fasterxml/jackson/annotation/JsonSetter;",
         "Lcom/fasterxml/jackson/annotation/JsonSubTypes$Type;",
         "Lcom/fasterxml/jackson/annotation/JsonSubTypes;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeId;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$As;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo$None;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeInfo;",
         "Lcom/fasterxml/jackson/annotation/JsonTypeName;",
         "Lcom/fasterxml/jackson/annotation/JsonUnwrapped;",
         "Lcom/fasterxml/jackson/annotation/JsonValue;",
         "Lcom/fasterxml/jackson/annotation/JsonView;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerator$IdKey;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerator;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$Base;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$None;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators$PropertyGenerator;",
         "Lcom/fasterxml/jackson/annotation/ObjectIdGenerators;",
         "Lcom/fasterxml/jackson/core/Base64Variant;",
         "Lcom/fasterxml/jackson/core/Base64Variants;",
         "Lcom/fasterxml/jackson/core/FormatSchema;",
         "Lcom/fasterxml/jackson/core/JsonEncoding;",
         "Lcom/fasterxml/jackson/core/JsonFactory$Feature;",
         "Lcom/fasterxml/jackson/core/JsonFactory;",
         "Lcom/fasterxml/jackson/core/JsonProcessingException;",
         "Lcom/fasterxml/jackson/core/JsonGenerationException;",
         "Lcom/fasterxml/jackson/core/JsonGenerator$Feature;",
         "Lcom/fasterxml/jackson/core/JsonGenerator;",
         "Lcom/fasterxml/jackson/core/JsonLocation;",
         "Lcom/fasterxml/jackson/core/JsonParseException;",
         "Lcom/fasterxml/jackson/core/JsonParser$Feature;",
         "Lcom/fasterxml/jackson/core/JsonParser$NumberType;",
         "Lcom/fasterxml/jackson/core/JsonParser;",
         "Lcom/fasterxml/jackson/core/JsonStreamContext;",
         "Lcom/fasterxml/jackson/core/JsonToken;",
         "Lcom/fasterxml/jackson/core/ObjectCodec;",
         "Lcom/fasterxml/jackson/core/PrettyPrinter;",
         "Lcom/fasterxml/jackson/core/SerializableString;",
         "Lcom/fasterxml/jackson/core/TreeNode;",
         "Lcom/fasterxml/jackson/core/base/GeneratorBase;",
         "Lcom/fasterxml/jackson/core/base/ParserMinimalBase;",
         "Lcom/fasterxml/jackson/core/base/ParserBase;",
         "Lcom/fasterxml/jackson/core/base/ParserMinimalBase$1;",
         "Lcom/fasterxml/jackson/core/io/BaseReader;",
         "Lcom/fasterxml/jackson/core/io/CharTypes;",
         "Lcom/fasterxml/jackson/core/io/CharacterEscapes;",
         "Lcom/fasterxml/jackson/core/io/IOContext;",
         "Lcom/fasterxml/jackson/core/io/InputDecorator;",
         "Lcom/fasterxml/jackson/core/io/JsonStringEncoder;",
         "Lcom/fasterxml/jackson/core/io/MergedStream;",
         "Lcom/fasterxml/jackson/core/io/NumberInput;",
         "Lcom/fasterxml/jackson/core/io/NumberOutput;",
         "Lcom/fasterxml/jackson/core/io/OutputDecorator;",
         "Lcom/fasterxml/jackson/core/io/SegmentedStringWriter;",
         "Lcom/fasterxml/jackson/core/io/SerializedString;",
         "Lcom/fasterxml/jackson/core/io/UTF32Reader;",
         "Lcom/fasterxml/jackson/core/io/UTF8Writer;",
         "Lcom/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper$1;",
         "Lcom/fasterxml/jackson/core/json/ByteSourceJsonBootstrapper;",
         "Lcom/fasterxml/jackson/core/json/JsonGeneratorImpl;",
         "Lcom/fasterxml/jackson/core/json/JsonReadContext;",
         "Lcom/fasterxml/jackson/core/json/JsonWriteContext;",
         "Lcom/fasterxml/jackson/core/json/ReaderBasedJsonParser$1;",
         "Lcom/fasterxml/jackson/core/json/ReaderBasedJsonParser;",
         "Lcom/fasterxml/jackson/core/json/UTF8JsonGenerator;",
         "Lcom/fasterxml/jackson/core/json/UTF8StreamJsonParser$1;",
         "Lcom/fasterxml/jackson/core/json/UTF8StreamJsonParser;",
         "Lcom/fasterxml/jackson/core/json/WriterBasedJsonGenerator;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer$Bucket;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer$TableInfo;",
         "Lcom/fasterxml/jackson/core/sym/BytesToNameCanonicalizer;",
         "Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer$Bucket;",
         "Lcom/fasterxml/jackson/core/sym/CharsToNameCanonicalizer;",
         "Lcom/fasterxml/jackson/core/sym/Name;",
         "Lcom/fasterxml/jackson/core/sym/Name1;",
         "Lcom/fasterxml/jackson/core/sym/Name2;",
         "Lcom/fasterxml/jackson/core/sym/Name3;",
         "Lcom/fasterxml/jackson/core/sym/NameN;",
         "Lcom/fasterxml/jackson/core/type/ResolvedType;",
         "Lcom/fasterxml/jackson/core/type/TypeReference;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler$ByteBufferType;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler$CharBufferType;",
         "Lcom/fasterxml/jackson/core/util/BufferRecycler;",
         "Lcom/fasterxml/jackson/core/util/ByteArrayBuilder;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Indenter;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$FixedSpaceIndenter;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter$Lf2SpacesIndenter;",
         "Lcom/fasterxml/jackson/core/util/Instantiatable;",
         "Lcom/fasterxml/jackson/core/util/DefaultPrettyPrinter;",
         "Lcom/fasterxml/jackson/core/util/InternCache;",
         "Lcom/fasterxml/jackson/core/util/JsonParserDelegate;",
         "Lcom/fasterxml/jackson/core/util/JsonParserSequence;",
         "Lcom/fasterxml/jackson/core/util/MinimalPrettyPrinter;",
         "Lcom/fasterxml/jackson/core/util/TextBuffer;",
         "Lcom/fasterxml/jackson/databind/AbstractTypeResolver;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty$Type;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector$ReferenceProperty;",
         "Lcom/fasterxml/jackson/databind/AnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/BeanDescription;",
         "Lcom/fasterxml/jackson/databind/BeanProperty;",
         "Lcom/fasterxml/jackson/databind/BeanProperty$Std;",
         "Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector$MixInResolver;",
         "Lcom/fasterxml/jackson/databind/cfg/MapperConfig;",
         "Lcom/fasterxml/jackson/databind/cfg/MapperConfigBase;",
         "Lcom/fasterxml/jackson/databind/DeserializationConfig;",
         "Lcom/fasterxml/jackson/databind/DeserializationContext;",
         "Lcom/fasterxml/jackson/databind/cfg/ConfigFeature;",
         "Lcom/fasterxml/jackson/databind/DeserializationFeature;",
         "Lcom/fasterxml/jackson/databind/InjectableValues;",
         "Lcom/fasterxml/jackson/databind/JavaType;",
         "Lcom/fasterxml/jackson/databind/JsonDeserializer;",
         "Lcom/fasterxml/jackson/databind/JsonDeserializer$None;",
         "Lcom/fasterxml/jackson/databind/JsonMappingException$Reference;",
         "Lcom/fasterxml/jackson/databind/JsonMappingException;",
         "Lcom/fasterxml/jackson/databind/JsonNode;",
         "Lcom/fasterxml/jackson/databind/JsonSerializable;",
         "Lcom/fasterxml/jackson/databind/JsonSerializer;",
         "Lcom/fasterxml/jackson/databind/JsonSerializer$None;",
         "Lcom/fasterxml/jackson/databind/KeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/KeyDeserializer$None;",
         "Lcom/fasterxml/jackson/databind/MapperFeature;",
         "Lcom/fasterxml/jackson/databind/MappingJsonFactory;",
         "Lcom/fasterxml/jackson/databind/ObjectMapper;",
         "Lcom/fasterxml/jackson/databind/ObjectWriter;",
         "Lcom/fasterxml/jackson/databind/PropertyName;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$PropertyNamingStrategyBase;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$LowerCaseWithUnderscoresStrategy;",
         "Lcom/fasterxml/jackson/databind/PropertyNamingStrategy$PascalCaseStrategy;",
         "Lcom/fasterxml/jackson/databind/SerializationConfig;",
         "Lcom/fasterxml/jackson/databind/SerializationFeature;",
         "Lcom/fasterxml/jackson/databind/SerializerProvider;",
         "Lcom/fasterxml/jackson/databind/annotation/JacksonStdImpl;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonDeserialize;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonNaming;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonPOJOBuilder$Value;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonPOJOBuilder;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize$Inclusion;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize$Typing;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonSerialize;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonTypeIdResolver;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonTypeResolver;",
         "Lcom/fasterxml/jackson/databind/annotation/JsonValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/annotation/NoClass;",
         "Lcom/fasterxml/jackson/databind/cfg/BaseSettings;",
         "Lcom/fasterxml/jackson/databind/cfg/DeserializerFactoryConfig;",
         "Lcom/fasterxml/jackson/databind/cfg/HandlerInstantiator;",
         "Lcom/fasterxml/jackson/databind/cfg/SerializerFactoryConfig;",
         "Lcom/fasterxml/jackson/databind/deser/AbstractDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/AbstractDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ContextualDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ResolvableDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerBuilder;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerFactory;",
         "Lcom/fasterxml/jackson/databind/deser/BeanDeserializerModifier;",
         "Lcom/fasterxml/jackson/databind/deser/BuilderBasedDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/BuilderBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/ContextualKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/SettableBeanProperty;",
         "Lcom/fasterxml/jackson/databind/deser/CreatorProperty;",
         "Lcom/fasterxml/jackson/databind/deser/DefaultDeserializationContext;",
         "Lcom/fasterxml/jackson/databind/deser/DefaultDeserializationContext$Impl;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializationProblemHandler;",
         "Lcom/fasterxml/jackson/databind/deser/DeserializerCache;",
         "Lcom/fasterxml/jackson/databind/deser/Deserializers;",
         "Lcom/fasterxml/jackson/databind/deser/KeyDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/SettableAnyProperty;",
         "Lcom/fasterxml/jackson/databind/deser/ValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/ValueInstantiators;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanAsArrayBuilderDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanAsArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap$Bucket;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap$IteratorImpl;",
         "Lcom/fasterxml/jackson/databind/deser/impl/BeanPropertyMap;",
         "Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler$Builder;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler$ExtTypedProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ExternalTypeHandler;",
         "Lcom/fasterxml/jackson/databind/deser/impl/FieldProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/InnerClassProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ManagedReferenceProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/MethodProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/NullProvider;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ObjectIdReader;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ObjectIdValueProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedCreator;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyBasedObjectIdGenerator;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Any;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Map;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValue$Regular;",
         "Lcom/fasterxml/jackson/databind/deser/impl/PropertyValueBuffer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ReadableObjectId;",
         "Lcom/fasterxml/jackson/databind/deser/impl/SetterlessProperty;",
         "Lcom/fasterxml/jackson/databind/deser/impl/TypeWrappedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/impl/UnwrappedPropertyHandler;",
         "Lcom/fasterxml/jackson/databind/deser/impl/ValueInjector;",
         "Lcom/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/BaseNodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdScalarDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ClassDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ContainerDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/deser/std/CollectionDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$DateBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$CalendarDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$DateDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$SqlDateDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/FromStringDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$TimeZoneDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers$TimestampDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/DateDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/DelegatingDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumDeserializer$FactoryBasedDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumMapDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/EnumSetDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$JavaTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$JsonLocationInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers$TokenBufferDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JacksonDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$AtomicBooleanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$AtomicReferenceDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$CharsetDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$CurrencyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$FileDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$InetAddressDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$LocaleDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$PatternDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$StackTraceElementDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$URIDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$URLDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers$UUIDDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JdkDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$ArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer$ObjectDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/JsonNodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/MapDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigDecimalDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BigIntegerDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$PrimitiveOrWrapperDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$BooleanDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ByteDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$CharacterDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$DoubleDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$FloatDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$IntegerDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$LongDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$NumberDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers$ShortDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/NumberDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/ObjectArrayDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$Base;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$BooleanDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$ByteDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$CharDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$DoubleDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$FloatDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$IntDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$LongDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$ShortDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers$StringDeser;",
         "Lcom/fasterxml/jackson/databind/deser/std/PrimitiveArrayDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdDelegatingDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$BoolKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$ByteKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$CalendarKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$CharKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DateKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DelegatingKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$DoubleKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$EnumKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$FloatKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$IntKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$LocaleKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$LongKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$ShortKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringCtorKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringFactoryKeyDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$StringKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializer$UuidKD;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdKeyDeserializers;",
         "Lcom/fasterxml/jackson/databind/deser/std/StdValueInstantiator;",
         "Lcom/fasterxml/jackson/databind/deser/std/StringCollectionDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/StringDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/ThrowableDeserializer;",
         "Lcom/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer;",
         "Lcom/fasterxml/jackson/databind/exc/InvalidFormatException;",
         "Lcom/fasterxml/jackson/databind/exc/UnrecognizedPropertyException;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$DurationDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$GregorianCalendarDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers$QNameDeserializer;",
         "Lcom/fasterxml/jackson/databind/util/Provider;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLDeserializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLSerializers$XMLGregorianCalendarSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/CoreXMLSerializers;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer$DocumentDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMDeserializer$NodeDeserializer;",
         "Lcom/fasterxml/jackson/databind/ext/DOMSerializer;",
         "Lcom/fasterxml/jackson/databind/ext/OptionalHandlerFactory;",
         "Lcom/fasterxml/jackson/databind/introspect/Annotated;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedClass;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMember;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedWithParams;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedField$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedField;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod$Serialization;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethodMap;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotatedParameter;",
         "Lcom/fasterxml/jackson/databind/util/Annotations;",
         "Lcom/fasterxml/jackson/databind/introspect/AnnotationMap;",
         "Lcom/fasterxml/jackson/databind/introspect/BasicBeanDescription;",
         "Lcom/fasterxml/jackson/databind/introspect/ClassIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/BasicClassIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/BeanPropertyDefinition;",
         "Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector$1;",
         "Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/MemberKey;",
         "Lcom/fasterxml/jackson/databind/introspect/NopAnnotationIntrospector;",
         "Lcom/fasterxml/jackson/databind/introspect/NopAnnotationIntrospector$1;",
         "Lcom/fasterxml/jackson/databind/introspect/ObjectIdInfo;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$WithMember;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$1;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$2;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$3;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder$Linked;",
         "Lcom/fasterxml/jackson/databind/introspect/POJOPropertyBuilder;",
         "Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker;",
         "Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker$Std;",
         "Lcom/fasterxml/jackson/databind/jsontype/NamedType;",
         "Lcom/fasterxml/jackson/databind/jsontype/SubtypeResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeResolverBuilder;",
         "Lcom/fasterxml/jackson/databind/jsontype/TypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeDeserializerBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsArrayTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeSerializerBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsArrayTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsExternalTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsExternalTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeDeserializer$1;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsPropertyTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsWrapperTypeDeserializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/AsWrapperTypeSerializer;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeIdResolverBase;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/MinimalClassNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdSubtypeResolver;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder$1;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/StdTypeResolverBuilder;",
         "Lcom/fasterxml/jackson/databind/jsontype/impl/TypeNameIdResolver;",
         "Lcom/fasterxml/jackson/databind/node/BaseJsonNode;",
         "Lcom/fasterxml/jackson/databind/node/ContainerNode;",
         "Lcom/fasterxml/jackson/databind/node/ArrayNode;",
         "Lcom/fasterxml/jackson/databind/node/ValueNode;",
         "Lcom/fasterxml/jackson/databind/node/NumericNode;",
         "Lcom/fasterxml/jackson/databind/node/BigIntegerNode;",
         "Lcom/fasterxml/jackson/databind/node/BinaryNode;",
         "Lcom/fasterxml/jackson/databind/node/BooleanNode;",
         "Lcom/fasterxml/jackson/databind/node/ContainerNode$NoNodesIterator;",
         "Lcom/fasterxml/jackson/databind/node/DecimalNode;",
         "Lcom/fasterxml/jackson/databind/node/DoubleNode;",
         "Lcom/fasterxml/jackson/databind/node/IntNode;",
         "Lcom/fasterxml/jackson/databind/node/JsonNodeFactory;",
         "Lcom/fasterxml/jackson/databind/node/LongNode;",
         "Lcom/fasterxml/jackson/databind/node/MissingNode;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$Array;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$Object;",
         "Lcom/fasterxml/jackson/databind/node/NodeCursor$RootValue;",
         "Lcom/fasterxml/jackson/databind/node/NullNode;",
         "Lcom/fasterxml/jackson/databind/node/ObjectNode$NoFieldsIterator;",
         "Lcom/fasterxml/jackson/databind/node/ObjectNode;",
         "Lcom/fasterxml/jackson/databind/node/POJONode;",
         "Lcom/fasterxml/jackson/databind/node/TextNode;",
         "Lcom/fasterxml/jackson/databind/node/TreeTraversingParser$1;",
         "Lcom/fasterxml/jackson/databind/node/TreeTraversingParser;",
         "Lcom/fasterxml/jackson/databind/ser/AnyGetterWriter;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BasicSerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BeanPropertyFilter;",
         "Lcom/fasterxml/jackson/databind/ser/BeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/ContextualSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/ResolvableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/BeanSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerBuilder;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerFactory;",
         "Lcom/fasterxml/jackson/databind/ser/BeanSerializerModifier;",
         "Lcom/fasterxml/jackson/databind/ser/ContainerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider;",
         "Lcom/fasterxml/jackson/databind/ser/DefaultSerializerProvider$Impl;",
         "Lcom/fasterxml/jackson/databind/ser/FilterProvider;",
         "Lcom/fasterxml/jackson/databind/ser/PropertyBuilder$1;",
         "Lcom/fasterxml/jackson/databind/ser/PropertyBuilder;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerCache$TypeKey;",
         "Lcom/fasterxml/jackson/databind/ser/SerializerCache;",
         "Lcom/fasterxml/jackson/databind/ser/Serializers;",
         "Lcom/fasterxml/jackson/databind/ser/impl/BeanAsArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FailingSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter$MultiView;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter$SingleView;",
         "Lcom/fasterxml/jackson/databind/ser/impl/FilteredBeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/std/AsArraySerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IndexedListSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StaticListSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IndexedStringListSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/IteratorSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/JsonSerializerMap$Bucket;",
         "Lcom/fasterxml/jackson/databind/ser/impl/JsonSerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/impl/ObjectIdWriter;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertyBasedObjectIdGenerator;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Double;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Empty;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Multi;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$SerializerAndMapResult;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$Single;",
         "Lcom/fasterxml/jackson/databind/ser/impl/PropertySerializerMap$TypeAndSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/ReadOnlyClassToSerializerMap;",
         "Lcom/fasterxml/jackson/databind/ser/std/ArraySerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/impl/StringArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/StringCollectionSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/TypeWrappedSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnknownSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnwrappingBeanPropertyWriter;",
         "Lcom/fasterxml/jackson/databind/ser/impl/UnwrappingBeanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/impl/WritableObjectId;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdScalarSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NonTypedScalarSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/std/BooleanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/DateTimeSerializerBase;",
         "Lcom/fasterxml/jackson/databind/ser/std/CalendarSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/CollectionSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/DateSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumMapSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/EnumSetSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/InetAddressSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/IterableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/JsonValueSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/MapSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NullSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$DoubleSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$FloatSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$IntLikeSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$IntegerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$LongSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers$NumberSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/NumberSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/ObjectArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/RawSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SerializableSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SqlDateSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/SqlTimeSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$BooleanArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$ByteArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$CharArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$DoubleArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$TypedPrimitiveArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$FloatArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$IntArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$LongArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers$ShortArraySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdArraySerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdContainerSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdDelegatingSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicBooleanSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicIntegerSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicLongSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$AtomicReferenceSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$ClassSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers$FileSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdJdkSerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$CalendarKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$DateKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers$StringKeySerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/StdKeySerializers;",
         "Lcom/fasterxml/jackson/databind/ser/std/StringSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/TimeZoneSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/ToStringSerializer;",
         "Lcom/fasterxml/jackson/databind/ser/std/TokenBufferSerializer;",
         "Lcom/fasterxml/jackson/databind/type/TypeBase;",
         "Lcom/fasterxml/jackson/databind/type/ArrayType;",
         "Lcom/fasterxml/jackson/databind/type/ClassKey;",
         "Lcom/fasterxml/jackson/databind/type/CollectionLikeType;",
         "Lcom/fasterxml/jackson/databind/type/CollectionType;",
         "Lcom/fasterxml/jackson/databind/type/HierarchicType;",
         "Lcom/fasterxml/jackson/databind/type/MapLikeType;",
         "Lcom/fasterxml/jackson/databind/type/MapType;",
         "Lcom/fasterxml/jackson/databind/type/SimpleType;",
         "Lcom/fasterxml/jackson/databind/type/TypeBindings;",
         "Lcom/fasterxml/jackson/databind/type/TypeFactory;",
         "Lcom/fasterxml/jackson/databind/type/TypeModifier;",
         "Lcom/fasterxml/jackson/databind/type/TypeParser$MyTokenizer;",
         "Lcom/fasterxml/jackson/databind/type/TypeParser;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ArrayIterator;",
         "Lcom/fasterxml/jackson/databind/util/PrimitiveArrayBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$BooleanBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ByteBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$DoubleBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$FloatBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$IntBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$LongBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders$ShortBuilder;",
         "Lcom/fasterxml/jackson/databind/util/ArrayBuilders;",
         "Lcom/fasterxml/jackson/databind/util/BeanUtil;",
         "Lcom/fasterxml/jackson/databind/util/ClassUtil$EnumTypeLocator;",
         "Lcom/fasterxml/jackson/databind/util/ClassUtil;",
         "Lcom/fasterxml/jackson/databind/util/Comparators$1;",
         "Lcom/fasterxml/jackson/databind/util/Comparators;",
         "Lcom/fasterxml/jackson/databind/util/Converter;",
         "Lcom/fasterxml/jackson/databind/util/EnumResolver;",
         "Lcom/fasterxml/jackson/databind/util/EnumValues;",
         "Lcom/fasterxml/jackson/databind/util/LRUMap;",
         "Lcom/fasterxml/jackson/databind/util/LinkedNode;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$1;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$2;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$3;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$4;",
         "Lcom/fasterxml/jackson/databind/util/NameTransformer$Chained;",
         "Lcom/fasterxml/jackson/databind/util/ObjectBuffer$Node;",
         "Lcom/fasterxml/jackson/databind/util/ObjectBuffer;",
         "Lcom/fasterxml/jackson/databind/util/PrimitiveArrayBuilder$Node;",
         "Lcom/fasterxml/jackson/databind/util/RootNameLookup;",
         "Lcom/fasterxml/jackson/databind/util/SimpleBeanPropertyDefinition;",
         "Lcom/fasterxml/jackson/databind/util/StdDateFormat;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$1;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$Parser;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer$Segment;",
         "Lcom/fasterxml/jackson/databind/util/TokenBuffer;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Empty;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Multi;",
         "Lcom/fasterxml/jackson/databind/util/ViewMatcher$Single;",
         "Lcom/ford/syncV4/a/a;",
         "Lcom/ford/syncV4/b/a;",
         "Lcom/ford/syncV4/b/b;",
         "Lcom/ford/syncV4/b/c;",
         "Lcom/ford/syncV4/b/d;",
         "Lcom/ford/syncV4/b/e$1;",
         "Lcom/ford/syncV4/b/e;",
         "Lcom/ford/syncV4/c/a;",
         "Lcom/ford/syncV4/d/a;",
         "Lcom/ford/syncV4/protocol/c;",
         "Lcom/ford/syncV4/transport/f;",
         "Lcom/ford/syncV4/d/b;",
         "Lcom/ford/syncV4/d/c;",
         "Lcom/ford/syncV4/protocol/a/c;",
         "Lcom/ford/syncV4/d/d;",
         "Lcom/ford/syncV4/exception/SyncException;",
         "Lcom/ford/syncV4/exception/SyncExceptionCause;",
         "Lcom/ford/syncV4/protocol/a/a$1;",
         "Lcom/ford/syncV4/protocol/a/a$2;",
         "Lcom/ford/syncV4/protocol/a/b;",
         "Lcom/ford/syncV4/protocol/a/a;",
         "Lcom/ford/syncV4/protocol/a;",
         "Lcom/ford/syncV4/protocol/b;",
         "Lcom/ford/syncV4/protocol/d;",
         "Lcom/ford/syncV4/protocol/e;",
         "Lcom/ford/syncV4/protocol/enums/FunctionID$1;",
         "Lcom/ford/syncV4/protocol/enums/MessageType;",
         "Lcom/ford/syncV4/util/b;",
         "Lcom/ford/syncV4/protocol/enums/a;",
         "Lcom/ford/syncV4/protocol/enums/b;",
         "Lcom/ford/syncV4/protocol/enums/c;",
         "Lcom/ford/syncV4/protocol/enums/d;",
         "Lcom/ford/syncV4/protocol/f;",
         "Lcom/ford/syncV4/protocol/g;",
         "Lcom/ford/syncV4/protocol/h;",
         "Lcom/ford/syncV4/proxy/a/a;",
         "Lcom/ford/syncV4/proxy/a/b;",
         "Lcom/ford/syncV4/proxy/a/c;",
         "Lcom/ford/syncV4/proxy/b/b;",
         "Lcom/ford/syncV4/proxy/a;",
         "Lcom/ford/syncV4/proxy/b/a;",
         "Lcom/ford/syncV4/proxy/b;",
         "Lcom/ford/syncV4/proxy/h;",
         "Lcom/ford/syncV4/proxy/c;",
         "Lcom/ford/syncV4/proxy/d;",
         "Lcom/ford/syncV4/proxy/e;",
         "Lcom/ford/syncV4/proxy/f;",
         "Lcom/ford/syncV4/proxy/g;",
         "Lcom/ford/syncV4/proxy/j;",
         "Lcom/ford/syncV4/proxy/i;",
         "Lcom/ford/syncV4/proxy/j$10;",
         "Lcom/ford/syncV4/proxy/j$11;",
         "Lcom/ford/syncV4/proxy/j$12;",
         "Lcom/ford/syncV4/proxy/j$13;",
         "Lcom/ford/syncV4/proxy/j$14;",
         "Lcom/ford/syncV4/proxy/j$15;",
         "Lcom/ford/syncV4/proxy/j$16;",
         "Lcom/ford/syncV4/proxy/j$17;",
         "Lcom/ford/syncV4/proxy/j$18;",
         "Lcom/ford/syncV4/proxy/j$19;",
         "Lcom/ford/syncV4/proxy/j$1;",
         "Lcom/ford/syncV4/proxy/j$20;",
         "Lcom/ford/syncV4/proxy/j$21;",
         "Lcom/ford/syncV4/proxy/j$22;",
         "Lcom/ford/syncV4/proxy/j$23;",
         "Lcom/ford/syncV4/proxy/j$24;",
         "Lcom/ford/syncV4/proxy/j$25;",
         "Lcom/ford/syncV4/proxy/j$26;",
         "Lcom/ford/syncV4/proxy/j$27;",
         "Lcom/ford/syncV4/proxy/j$28;",
         "Lcom/ford/syncV4/proxy/j$29;",
         "Lcom/ford/syncV4/proxy/j$2;",
         "Lcom/ford/syncV4/proxy/j$30;",
         "Lcom/ford/syncV4/proxy/j$31;",
         "Lcom/ford/syncV4/proxy/j$32;",
         "Lcom/ford/syncV4/proxy/j$33;",
         "Lcom/ford/syncV4/proxy/j$34;",
         "Lcom/ford/syncV4/proxy/j$35;",
         "Lcom/ford/syncV4/proxy/j$36;",
         "Lcom/ford/syncV4/proxy/j$37;",
         "Lcom/ford/syncV4/proxy/j$38;",
         "Lcom/ford/syncV4/proxy/j$39;",
         "Lcom/ford/syncV4/proxy/j$3;",
         "Lcom/ford/syncV4/proxy/j$40;",
         "Lcom/ford/syncV4/proxy/j$41;",
         "Lcom/ford/syncV4/proxy/j$42;",
         "Lcom/ford/syncV4/proxy/j$43;",
         "Lcom/ford/syncV4/proxy/j$44;",
         "Lcom/ford/syncV4/proxy/j$45;",
         "Lcom/ford/syncV4/proxy/j$46;",
         "Lcom/ford/syncV4/proxy/j$47;",
         "Lcom/ford/syncV4/proxy/j$48;",
         "Lcom/ford/syncV4/proxy/j$49;",
         "Lcom/ford/syncV4/proxy/j$4;",
         "Lcom/ford/syncV4/proxy/j$50;",
         "Lcom/ford/syncV4/proxy/j$51;",
         "Lcom/ford/syncV4/proxy/j$52;",
         "Lcom/ford/syncV4/proxy/j$53;",
         "Lcom/ford/syncV4/proxy/j$54;",
         "Lcom/ford/syncV4/proxy/j$55;",
         "Lcom/ford/syncV4/proxy/j$56;",
         "Lcom/ford/syncV4/proxy/j$57;",
         "Lcom/ford/syncV4/proxy/j$58;",
         "Lcom/ford/syncV4/proxy/j$59;",
         "Lcom/ford/syncV4/proxy/j$5;",
         "Lcom/ford/syncV4/proxy/j$60;",
         "Lcom/ford/syncV4/proxy/j$61;",
         "Lcom/ford/syncV4/proxy/j$62;",
         "Lcom/ford/syncV4/proxy/j$63;",
         "Lcom/ford/syncV4/proxy/j$64;",
         "Lcom/ford/syncV4/proxy/j$6;",
         "Lcom/ford/syncV4/proxy/j$7;",
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn DVM -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn DVM -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.ChainedScript import ChainedScript
from androlyze.model.script.impl.ClassDetails import ClassDetails
from androlyze.model.script.impl.ClassListing import ClassListing
from androlyze.model.script.impl.DecompileClassesText import DecompileClassesText

class DVM(ChainedScript):
    ''' List classes as well as their details (methods and fields) and create Disassembly '''

    VERSION = "0.1"

    ############################################################
    #---ChainedScript options
    ############################################################

    def chain_scripts(self):
        return [ClassListing(), ClassDetails(), DecompileClassesText()]

    def continue_on_script_failure(self):
        ''' Specify if the analysis shall continue if a script encounters an error '''
        return True

    def log_script_failure_exception(self):
        ''' If true, write the exception into the result file'''
        return True

    def create_script_stats(self):
        ''' If true, create some script statistics and
        write them into the `ResultObject` (at least if used)'''
        return True


if __name__ == '__main__':
    from androlyze.model.script.AndroScript import AndroScript

    for res in AndroScript.test(DVM, ["../../../../testenv/apks/a2dp.Vol.apk"]):
        # get result object
        print res
        print
        # get json
        print res.write_to_json()

DecompileClasses

This is an autogenerated documentation file for the script: DecompileClasses

Run it
$ ./androanalyze scripts_builtin/DecompileClasses.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn DecompileClasses -pn com.spotify.music

 Empty
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn DecompileClasses -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn DecompileClasses -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androguard.decompiler.dad import decompile
from androlyze.log.Log import log
from androlyze.model.script.AndroScript import AndroScript

CAT_DECOMPILE = "decompiled_classes"


class DecompileClasses(AndroScript):
    ''' Get the source code from the apk for each class. '''
    
    VERSION = "0.2"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        ''' This sample code is taken from `androguard` and has been modified!

        See Also
        --------
        http://code.google.com/p/androguard/wiki/RE#Source_Code
        '''

        res = self.res

        # androguard.core.bytecodes.dvm.ClassDefItem
        for clazz in dalvik_vm_format.get_classes():
            try:
                key = clazz.get_name() 
                # skip android classes due to mongo db document limit
                if key.find("Landroid") != -1:
                    continue
                # allows querying for package name
                res.register_keys([key], CAT_DECOMPILE)
                res.log(key, clazz.get_source().split("\n"), CAT_DECOMPILE)
            except Exception as e:
                log.exception(e)

    ############################################################
    #---Options
    ############################################################    

    def needs_dalvik_vm_format(self):
        return True
    
    def needs_vmanalysis(self):
        return True

DecompileClassesText

This is an autogenerated documentation file for the script: DecompileClassesText

Run it
$ ./androanalyze scripts_builtin/DecompileClassesText.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn DecompileClassesText -pn com.spotify.music

 Empty
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn DecompileClassesText -pn com.spotify.music -nd

 {
     "chunkSize": 261120,
     "filename": "com.spotify.music_2.2.0.636_DecompileClassesText.java",
     "length": 12011520,
     "uploadDate": "2015-06-26T17:31:14.699000",
     "md5": "ecab0172ceaccb5a85f96f579af01573",
     "metadata": {
         "apk meta": {
             "package name": "com.spotify.music",
             "version name": "2.2.0.636",
             "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
             "import date": "2015-04-14T15:10:06.364000",
             "build_date": "2015-02-11T12:25:40",
             "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
             "tag": null
         },
         "script meta": {
             "name": "DecompileClassesText",
             "sha256": "fb5ecf5b3d21d304d12908035b9be2e5488f98a280831c518f1f7f505fa4f940",
             "analysis date": "2015-06-26T17:13:38.530000",
             "version": "0.1"
         },
         "decompiled_classes": null
     }
 }

View the raw data:

$ ./androquery result -sn DecompileClassesText -pn com.spotify.music -nd -r

 package com.spotify.mobile.android.util.ui;
 public class d implements android.view.Window$Callback {
     private android.view.Window$Callback a;

     public d(android.view.Window$Callback p1)
     {
         this.a = p1;
         return;
     }

     public boolean dispatchGenericMotionEvent(android.view.MotionEvent p2)
     {
         return this.a.dispatchGenericMotionEvent(p2);
     }

     public boolean dispatchKeyEvent(android.view.KeyEvent p2)
     {
         return this.a.dispatchKeyEvent(p2);
     }

     public boolean dispatchKeyShortcutEvent(android.view.KeyEvent p2)
     {
         return this.a.dispatchKeyShortcutEvent(p2);
     }

     public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent p2)
     {
         return this.a.dispatchPopulateAccessibilityEvent(p2);
     }

     public boolean dispatchTouchEvent(android.view.MotionEvent p2)
     {
         return this.a.dispatchTouchEvent(p2);
     }

     public boolean dispatchTrackballEvent(android.view.MotionEvent p2)
     {
         return this.a.dispatchTrackballEvent(p2);
     }

     public void onActionModeFinished(android.view.ActionMode p2)
     {
         this.a.onActionModeFinished(p2);
         return;
     }

     public void onActionModeStarted(android.view.ActionMode p2)
     {
         this.a.onActionModeStarted(p2);
         return;
     }

     public void onAttachedToWindow()
     {
         this.a.onAttachedToWindow();
         return;
     }

     public void onContentChanged()
     {
         this.a.onContentChanged();
         return;
     }

     public boolean onCreatePanelMenu(int p2, android.view.Menu p3)
     {
         return this.a.onCreatePanelMenu(p2, p3);
     }

     public android.view.View onCreatePanelView(int p2)
     {
         return this.a.onCreatePanelView(p2);
     }

     public void onDetachedFromWindow()
     {
         this.a.onDetachedFromWindow();
         return;
     }

     public boolean onMenuItemSelected(int p2, android.view.MenuItem p3)
     {
         return this.a.onMenuItemSelected(p2, p3);
     }

     public boolean onMenuOpened(int p2, android.view.Menu p3)
     {
         return this.a.onMenuOpened(p2, p3);
     }

     public void onPanelClosed(int p2, android.view.Menu p3)
     {
         this.a.onPanelClosed(p2, p3);
         return;
     }

     public boolean onPreparePanel(int p2, android.view.View p3, android.view.Menu p4)
     {
         return this.a.onPreparePanel(p2, p3, p4);
     }

     public boolean onSearchRequested()
     {
         return this.a.onSearchRequested();
     }

     public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams p2)
     {
         this.a.onWindowAttributesChanged(p2);
         return;
     }

     public void onWindowFocusChanged(boolean p2)
     {
         this.a.onWindowFocusChanged(p2);
         return;
     }

     public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback p2)
     {
         return this.a.onWindowStartingActionMode(p2);
     }
 }
 package com.a.a.a;
 public interface a implements android.os.IInterface {

     public abstract int a();

     public abstract android.os.Bundle a();

     public abstract android.os.Bundle a();

     public abstract android.os.Bundle a();

     public abstract int b();
 }
 package com.a.a.a;
 public abstract class b extends android.os.Binder implements com.a.a.a.a {

     public static com.a.a.a.a a(android.os.IBinder p2)
     {
         com.a.a.a.a v0_3;
         if (p2 != null) {
             com.a.a.a.a v0_1 = p2.queryLocalInterface("com.android.vending.billing.IInAppBillingService");
             if ((v0_1 == null) || (!(v0_1 instanceof com.a.a.a.a))) {
                 v0_3 = new com.a.a.a.c(p2);
             } else {
                 v0_3 = ((com.a.a.a.a) v0_1);
             }
         } else {
             v0_3 = 0;
         }
         return v0_3;
     }

     public boolean onTransact(int p9, android.os.Parcel p10, android.os.Parcel p11, int p12)
     {
         int v0_1;
         switch (p9) {
             case 1:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_19 = this.a(p10.readInt(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 p11.writeInt(v0_19);
                 v0_1 = 1;
                 break;
             case 2:
                 int v0_13;
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 String v1_3 = p10.readInt();
                 String v2_3 = p10.readString();
                 String v3_2 = p10.readString();
                 if (p10.readInt() == 0) {
                     v0_13 = 0;
                 } else {
                     v0_13 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(p10));
                 }
                 int v0_16 = this.a(v1_3, v2_3, v3_2, v0_13);
                 p11.writeNoException();
                 if (v0_16 == 0) {
                     p11.writeInt(0);
                 } else {
                     p11.writeInt(1);
                     v0_16.writeToParcel(p11, 1);
                 }
                 v0_1 = 1;
                 break;
             case 3:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_10 = this.a(p10.readInt(), p10.readString(), p10.readString(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 if (v0_10 == 0) {
                     p11.writeInt(0);
                 } else {
                     p11.writeInt(1);
                     v0_10.writeToParcel(p11, 1);
                 }
                 v0_1 = 1;
                 break;
             case 4:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_7 = this.a(p10.readInt(), p10.readString(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 if (v0_7 == 0) {
                     p11.writeInt(0);
                 } else {
                     p11.writeInt(1);
                     v0_7.writeToParcel(p11, 1);
                 }
                 v0_1 = 1;
                 break;
             case 5:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_4 = this.b(p10.readInt(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 p11.writeInt(v0_4);
                 v0_1 = 1;
                 break;
             case 1598968902:
                 p11.writeString("com.android.vending.billing.IInAppBillingService");
                 v0_1 = 1;
                 break;
             default:
                 v0_1 = super.onTransact(p9, p10, p11, p12);
         }
         return v0_1;
     }
 }
 package com.a.a.a;
 final class c implements com.a.a.a.a {
     private android.os.IBinder a;

     c(android.os.IBinder p1)
     {
         this.a = p1;
         return;
     }

     public final int a(int p6, String p7, String p8)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             this.a.transact(1, v1, v2, 0);
             v2.readException();
             Throwable v0_2 = v2.readInt();
             v2.recycle();
             v1.recycle();
             return v0_2;
         } catch (Throwable v0_3) {
             v2.recycle();
             v1.recycle();
             throw v0_3;
         }
     }

     public final android.os.Bundle a(int p6, String p7, String p8, android.os.Bundle p9)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
         } catch (int v0_9) {
             v2.recycle();
             v1.recycle();
             throw v0_9;
         }
         if (p9 == null) {
             v1.writeInt(0);
         } else {
             v1.writeInt(1);
             p9.writeToParcel(v1, 0);
         }
         int v0_6;
         this.a.transact(2, v1, v2, 0);
         v2.readException();
         if (v2.readInt() == 0) {
             v0_6 = 0;
         } else {
             v0_6 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(v2));
         }
         v2.recycle();
         v1.recycle();
         return v0_6;
     }

     public final android.os.Bundle a(int p6, String p7, String p8, String p9)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             int v0_3;
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             v1.writeString(p9);
             this.a.transact(4, v1, v2, 0);
             v2.readException();
         } catch (int v0_6) {
             v2.recycle();
             v1.recycle();
             throw v0_6;
         }
         if (v2.readInt() == 0) {
             v0_3 = 0;
         } else {
             v0_3 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(v2));
         }
         v2.recycle();
         v1.recycle();
         return v0_3;
     }

     public final android.os.Bundle a(int p6, String p7, String p8, String p9, String p10)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             int v0_3;
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             v1.writeString(p9);
             v1.writeString(p10);
             this.a.transact(3, v1, v2, 0);
             v2.readException();
         } catch (int v0_6) {
             v2.recycle();
             v1.recycle();
             throw v0_6;
         }
         if (v2.readInt() == 0) {
             v0_3 = 0;
         } else {
             v0_3 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(v2));
         }
         v2.recycle();
         v1.recycle();
         return v0_3;
     }

     public final android.os.IBinder asBinder()
     {
         return this.a;
     }

     public final int b(int p6, String p7, String p8)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             this.a.transact(5, v1, v2, 0);
             v2.readException();
             Throwable v0_2 = v2.readInt();
             v2.recycle();
             v1.recycle();
             return v0_2;
         } catch (Throwable v0_3) {
             v2.recycle();
             v1.recycle();
             throw v0_3;
         }
     }
 }
 package com.b.a;
 final class a$1 implements java.util.concurrent.Callable {
     final synthetic com.b.a.a a;

     a$1(com.b.a.a p1)
     {
         this.a = p1;
         return;
     }

     private Void a()
     {
         try {
             if (com.b.a.a.a(this.a) != null) {
                 com.b.a.a.b(this.a);
                 if (com.b.a.a.c(this.a)) {
                     com.b.a.a.d(this.a);
                     com.b.a.a.e(this.a);
                 }
             } else {
             }
         } catch (com.b.a.a v0_7) {
             throw v0_7;
         }
         return 0;
     }

     public final synthetic Object call()
     {
         return this.a();
     }
 }
 package com.b.a;
 final class a$2 extends java.io.OutputStream {

     a$2()
     {
         return;
     }

     public final void write(int p1)
     {
         return;
     }
 }
 package com.b.a;
 public final class a implements java.io.Closeable {
     static final java.util.regex.Pattern a;
     private static final java.io.OutputStream p;
     final java.util.concurrent.ThreadPoolExecutor b;
     private final java.io.File c;
     private final java.io.File d;
     private final java.io.File e;
     private final java.io.File f;
     private final int g;
     private long h;
     private final int i;
     private long j;
     private java.io.Writer k;
     private final java.util.LinkedHashMap l;
     private int m;
     private long n;
     private final java.util.concurrent.Callable o;

     static a()
     {
         com.b.a.a.a = java.util.regex.Pattern.compile("[a-z0-9_-]{1,64}");
         com.b.a.a.p = new com.b.a.a$2();
         return;
     }

     private a(java.io.File p9)
     {
         this.j = 0;
         this.l = new java.util.LinkedHashMap(0, 1061158912, 1);
         this.n = 0;
         this.b = new java.util.concurrent.ThreadPoolExecutor(0, 1, 60, java.util.concurrent.TimeUnit.SECONDS, new java.util.concurrent.LinkedBlockingQueue());
         this.o = new com.b.a.a$1(this);
         this.c = p9;
         this.g = 1;
         this.d = new java.io.File(p9, "journal");
         this.e = new java.io.File(p9, "journal.tmp");
         this.f = new java.io.File(p9, "journal.bkp");
         this.i = 1;
         this.h = 10485760;
         return;
     }

     public static com.b.a.a a(java.io.File p6)
     {
         if (10485760 > 0) {
             void v0_3 = new java.io.File(p6, "journal.bkp");
             if (v0_3.exists()) {
                 String v1_3 = new java.io.File(p6, "journal");
                 if (!v1_3.exists()) {
                     com.b.a.a.a(v0_3, v1_3, 0);
                 } else {
                     v0_3.delete();
                 }
             }
             void v0_7;
             void v0_5 = new com.b.a.a(p6);
             if (!v0_5.d.exists()) {
                 p6.mkdirs();
                 v0_7 = new com.b.a.a(p6).e();
             } else {
                 try {
                     v0_7 = v0_5.c().d();
                     v0_7.k = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(v0_7.d, 1), com.b.a.g.a));
                 } catch (String v1_8) {
                     System.out.println(new StringBuilder("DiskLruCache ").append(p6).append(" is corrupt: ").append(v1_8.getMessage()).append(", removing").toString());
                     v0_7.i();
                 }
             }
             return v0_7;
         } else {
             throw new IllegalArgumentException("maxSize <= 0");
         }
     }

     static synthetic java.io.Writer a(com.b.a.a p1)
     {
         return p1.k;
     }

     static synthetic void a(com.b.a.a p0, com.b.a.b p1, boolean p2)
     {
         p0.a(p1, p2);
         return;
     }

     private declared_synchronized void a(com.b.a.b p11, boolean p12)
     {
         java.util.concurrent.ThreadPoolExecutor v0_0 = 0;
         try {
             StringBuilder v2_0 = p11.a;
         } catch (java.util.concurrent.ThreadPoolExecutor v0_20) {
             throw v0_20;
         }
         if (v2_0.d == p11) {
             if ((!p12) || (v2_0.c)) {
                 while (v0_0 < this.i) {
                     int v1_17 = v2_0.b(v0_0);
                     if (!p12) {
                         com.b.a.a.b(v1_17);
                     } else {
                         if (v1_17.exists()) {
                             boolean v3_7 = v2_0.a(v0_0);
                             v1_17.renameTo(v3_7);
                             long v4_2 = v2_0.b[v0_0];
                             long v6 = v3_7.length();
                             v2_0.b[v0_0] = v6;
                             this.j = ((this.j - v4_2) + v6);
                         }
                     }
                     v0_0++;
                 }
                 this.m = (this.m + 1);
                 v2_0.d = 0;
                 if ((v2_0.c | p12) == 0) {
                     this.l.remove(v2_0.a);
                     this.k.write(new StringBuilder("REMOVE ").append(v2_0.a).append(10).toString());
                 } else {
                     v2_0.c = 1;
                     this.k.write(new StringBuilder("CLEAN ").append(v2_0.a).append(v2_0.a()).append(10).toString());
                     if (p12) {
                         java.util.concurrent.ThreadPoolExecutor v0_10 = this.n;
                         this.n = (1 + v0_10);
                         v2_0.e = v0_10;
                     }
                 }
                 this.k.flush();
                 if ((this.j > this.h) || (this.f())) {
                     this.b.submit(this.o);
                 }
             } else {
                 int v1_2 = 0;
                 while (v1_2 < this.i) {
                     if (p11.b[v1_2]) {
                         if (v2_0.b(v1_2).exists()) {
                             v1_2++;
                         } else {
                             p11.c();
                         }
                     } else {
                         p11.c();
                         throw new IllegalStateException(new StringBuilder("Newly created entry didn\'t create value for index ").append(v1_2).toString());
                     }
                 }
             }
             return;
         } else {
             throw new IllegalStateException();
         }
     }

     private static void a(java.io.File p1, java.io.File p2, boolean p3)
     {
         if (p3) {
             com.b.a.a.b(p2);
         }
         if (p1.renameTo(p2)) {
             return;
         } else {
             throw new java.io.IOException();
         }
     }

     static synthetic java.io.OutputStream b()
     {
         return com.b.a.a.p;
     }

     static synthetic void b(com.b.a.a p0)
     {
         p0.h();
         return;
     }

     private static void b(java.io.File p1)
     {
         if ((!p1.exists()) || (p1.delete())) {
             return;
         } else {
             throw new java.io.IOException();
         }
     }

     private void c()
     {
         com.b.a.f v1_1 = new com.b.a.f(new java.io.FileInputStream(this.d), com.b.a.g.a);
         try {
             int v0_2 = v1_1.a();
             int v2_2 = v1_1.a();
             boolean v3_0 = v1_1.a();
             String v4 = v1_1.a();
             String v5 = v1_1.a();
         } catch (int v0_14) {
             com.b.a.g.a(v1_1);
             throw v0_14;
         }
         if (("libcore.io.DiskLruCache".equals(v0_2)) && (("1".equals(v2_2)) && ((Integer.toString(this.g).equals(v3_0)) && ((Integer.toString(this.i).equals(v4)) && ("".equals(v5)))))) {
             int v0_3 = 0;
             try {
                 while(true) {
                     this.d(v1_1.a());
                     v0_3++;
                 }
             } catch (int v2) {
                 this.m = (v0_3 - this.l.size());
                 com.b.a.g.a(v1_1);
                 return;
             }
         } else {
             throw new java.io.IOException(new StringBuilder("unexpected journal header: [").append(v0_2).append(", ").append(v2_2).append(", ").append(v4).append(", ").append(v5).append("]").toString());
         }
     }

     static synthetic boolean c(com.b.a.a p1)
     {
         return p1.f();
     }

     private void d()
     {
         com.b.a.a.b(this.e);
         java.util.Iterator v3 = this.l.values().iterator();
         while (v3.hasNext()) {
             com.b.a.d v0_5 = ((com.b.a.d) v3.next());
             if (v0_5.d != null) {
                 v0_5.d = 0;
                 int v1_2 = 0;
                 while (v1_2 < this.i) {
                     com.b.a.a.b(v0_5.a(v1_2));
                     com.b.a.a.b(v0_5.b(v1_2));
                     v1_2++;
                 }
                 v3.remove();
             } else {
                 int v1_3 = 0;
                 while (v1_3 < this.i) {
                     this.j = (this.j + v0_5.b[v1_3]);
                     v1_3++;
                 }
             }
         }
         return;
     }

     static synthetic void d(com.b.a.a p0)
     {
         p0.e();
         return;
     }

     private void d(String p9)
     {
         String v2_0 = p9.indexOf(32);
         if (v2_0 != -1) {
             com.b.a.b v1_1;
             boolean v0_0 = (v2_0 + 1);
             int v3 = p9.indexOf(32, v0_0);
             if (v3 != -1) {
                 v1_1 = p9.substring(v0_0, v3);
                 boolean v0_5 = ((com.b.a.d) this.l.get(v1_1));
                 if (!v0_5) {
                     v0_5 = new com.b.a.d(this, v1_1, 0);
                     this.l.put(v1_1, v0_5);
                 }
                 if ((v3 == -1) || ((v2_0 != 5) || (!p9.startsWith("CLEAN")))) {
                     if ((v3 != -1) || ((v2_0 != 5) || (!p9.startsWith("DIRTY")))) {
                         if ((v3 != -1) || ((v2_0 != 4) || (!p9.startsWith("READ")))) {
                             throw new java.io.IOException(new StringBuilder("unexpected journal line: ").append(p9).toString());
                         }
                     } else {
                         v0_5.d = new com.b.a.b(this, v0_5, 0);
                     }
                 } else {
                     com.b.a.b v1_17 = p9.substring((v3 + 1)).split(" ");
                     v0_5.c = 1;
                     v0_5.d = 0;
                     v0_5.a(v1_17);
                 }
             } else {
                 boolean v0_2 = p9.substring(v0_0);
                 if ((v2_0 != 6) || (!p9.startsWith("REMOVE"))) {
                     v1_1 = v0_2;
                 } else {
                     this.l.remove(v0_2);
                 }
             }
             return;
         } else {
             throw new java.io.IOException(new StringBuilder("unexpected journal line: ").append(p9).toString());
         }
     }

     static synthetic int e(com.b.a.a p1)
     {
         p1.m = 0;
         return 0;
     }

     private declared_synchronized void e()
     {
         try {
             if (this.k != null) {
                 this.k.close();
             }
         } catch (java.io.BufferedWriter v0_32) {
             throw v0_32;
         }
         java.io.OutputStreamWriter v1_1 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(this.e), com.b.a.g.a));
         try {
             v1_1.write("libcore.io.DiskLruCache");
             v1_1.write("\n");
             v1_1.write("1");
             v1_1.write("\n");
             v1_1.write(Integer.toString(this.g));
             v1_1.write("\n");
             v1_1.write(Integer.toString(this.i));
             v1_1.write("\n");
             v1_1.write("\n");
             java.io.FileOutputStream v2_2 = this.l.values().iterator();
         } catch (java.io.BufferedWriter v0_31) {
             v1_1.close();
             throw v0_31;
         }
         while (v2_2.hasNext()) {
             java.io.BufferedWriter v0_26 = ((com.b.a.d) v2_2.next());
             if (v0_26.d == null) {
                 v1_1.write(new StringBuilder("CLEAN ").append(v0_26.a).append(v0_26.a()).append(10).toString());
             } else {
                 v1_1.write(new StringBuilder("DIRTY ").append(v0_26.a).append(10).toString());
             }
         }
         v1_1.close();
         if (this.d.exists()) {
             com.b.a.a.a(this.d, this.f, 1);
         }
         com.b.a.a.a(this.e, this.d, 0);
         this.f.delete();
         this.k = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(this.d, 1), com.b.a.g.a));
         return;
     }

     private static void e(String p3)
     {
         if (com.b.a.a.a.matcher(p3).matches()) {
             return;
         } else {
             throw new IllegalArgumentException(new StringBuilder("keys must match regex [a-z0-9_-]{1,64}: \"").append(p3).append("\"").toString());
         }
     }

     static synthetic int f(com.b.a.a p1)
     {
         return p1.i;
     }

     private boolean f()
     {
         if ((this.m < 2000) || (this.m < this.l.size())) {
             int v0_2 = 0;
         } else {
             v0_2 = 1;
         }
         return v0_2;
     }

     static synthetic java.io.File g(com.b.a.a p1)
     {
         return p1.c;
     }

     private void g()
     {
         if (this.k != null) {
             return;
         } else {
             throw new IllegalStateException("cache is closed");
         }
     }

     private void h()
     {
         while (this.j > this.h) {
             this.c(((String) ((java.util.Map$Entry) this.l.entrySet().iterator().next()).getKey()));
         }
         return;
     }

     private void i()
     {
         this.close();
         com.b.a.g.a(this.c);
         return;
     }

     public final declared_synchronized com.b.a.e a(String p10)
     {
         com.b.a.e v1_0 = 0;
         try {
             this.g();
             com.b.a.a.e(p10);
             int v0_2 = ((com.b.a.d) this.l.get(p10));
         } catch (int v0_4) {
             throw v0_4;
         }
         if ((v0_2 != 0) && (v0_2.c)) {
             java.io.InputStream[] v6 = new java.io.InputStream[this.i];
             String v3_2 = 0;
             try {
                 while (v3_2 < this.i) {
                     v6[v3_2] = new java.io.FileInputStream(v0_2.a(v3_2));
                     v3_2++;
                 }
             } catch (int v0) {
                 int v0_3 = 0;
             }
             this.m = (this.m + 1);
             this.k.append(new StringBuilder("READ ").append(p10).append(10).toString());
             if (this.f()) {
                 this.b.submit(this.o);
             }
             v1_0 = new com.b.a.e(this, p10, v0_2.e, v6, v0_2.b, 0);
         }
         return v1_0;
     }

     public final declared_synchronized void a()
     {
         try {
             this.g();
             this.h();
             this.k.flush();
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized com.b.a.b b(String p7)
     {
         try {
             java.io.Writer v0_3;
             this.g();
             com.b.a.a.e(p7);
             java.io.Writer v0_2 = ((com.b.a.d) this.l.get(p7));
         } catch (java.io.Writer v0_6) {
             throw v0_6;
         }
         if ((-1 == -1) || ((v0_2 != null) && (v0_2.e == -1))) {
             java.io.Writer v1_1;
             if (v0_2 != null) {
                 if (v0_2.d == null) {
                     v1_1 = v0_2;
                 } else {
                     v0_3 = 0;
                     return v0_3;
                 }
             } else {
                 java.io.Writer v0_5 = new com.b.a.d(this, p7, 0);
                 this.l.put(p7, v0_5);
                 v1_1 = v0_5;
             }
             v0_3 = new com.b.a.b(this, v1_1, 0);
             v1_1.d = v0_3;
             this.k.write(new StringBuilder("DIRTY ").append(p7).append(10).toString());
             this.k.flush();
         } else {
             v0_3 = 0;
         }
         return v0_3;
     }

     public final declared_synchronized boolean c(String p7)
     {
         String v1_0 = 0;
         try {
             java.io.IOException v0_9;
             this.g();
             com.b.a.a.e(p7);
             java.io.IOException v0_2 = ((com.b.a.d) this.l.get(p7));
         } catch (java.io.IOException v0_12) {
             throw v0_12;
         }
         if ((v0_2 != null) && (v0_2.d == null)) {
             while (v1_0 < this.i) {
                 long[] v2_4 = v0_2.a(v1_0);
                 if ((!v2_4.exists()) || (v2_4.delete())) {
                     this.j = (this.j - v0_2.b[v1_0]);
                     v0_2.b[v1_0] = 0;
                     v1_0++;
                 } else {
                     throw new java.io.IOException(new StringBuilder("failed to delete ").append(v2_4).toString());
                 }
             }
             this.m = (this.m + 1);
             this.k.append(new StringBuilder("REMOVE ").append(p7).append(10).toString());
             this.l.remove(p7);
             if (this.f()) {
                 this.b.submit(this.o);
             }
             v0_9 = 1;
         } else {
             v0_9 = 0;
         }
         return v0_9;
     }

     public final declared_synchronized void close()
     {
         try {
             if (this.k != null) {
                 java.util.Iterator v1_2 = new java.util.ArrayList(this.l.values()).iterator();
                 while (v1_2.hasNext()) {
                     com.b.a.b v0_7 = ((com.b.a.d) v1_2.next());
                     if (v0_7.d != null) {
                         v0_7.d.c();
                     }
                 }
                 this.h();
                 this.k.close();
                 this.k = 0;
             }
         } catch (com.b.a.b v0_8) {
             throw v0_8;
         }
         return;
     }
 }
 package com.b.a;
 public final class b {
     final com.b.a.d a;
     final boolean[] b;
     boolean c;
     final synthetic com.b.a.a d;
     private boolean e;

     private b(com.b.a.a p2, com.b.a.d p3)
     {
         boolean[] v0_2;
         this.d = p2;
         this.a = p3;
         if (!p3.c) {
             v0_2 = new boolean[com.b.a.a.f(p2)];
         } else {
             v0_2 = 0;
         }
         this.b = v0_2;
         return;
     }

     synthetic b(com.b.a.a p1, com.b.a.d p2, byte p3)
     {
         this(p1, p2);
         return;
     }

     public final java.io.OutputStream a()
     {
         try {
             if (this.a.d == this) {
                 if (!this.a.c) {
                     this.b[0] = 1;
                 }
                 java.io.FileOutputStream v1_3 = new java.io.FileOutputStream(this.a.b(0));
                 java.io.OutputStream v0_12 = new com.b.a.c(this, v1_3, 0);
                 return v0_12;
             } else {
                 throw new IllegalStateException();
             }
         } catch (java.io.OutputStream v0_16) {
             throw v0_16;
         }
     }

     public final void b()
     {
         if (!this.c) {
             com.b.a.a.a(this.d, this, 1);
         } else {
             com.b.a.a.a(this.d, this, 0);
             this.d.c(this.a.a);
         }
         this.e = 1;
         return;
     }

     public final void c()
     {
         com.b.a.a.a(this.d, this, 0);
         return;
     }
 }
 package com.b.a;
 final class c extends java.io.FilterOutputStream {
     final synthetic com.b.a.b a;

     private c(com.b.a.b p1, java.io.OutputStream p2)
     {
         this.a = p1;
         this(p2);
         return;
     }

     synthetic c(com.b.a.b p1, java.io.OutputStream p2, byte p3)
     {
         this(p1, p2);
         return;
     }

     public final void close()
     {
         try {
             this.out.close();
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     public final void flush()
     {
         try {
             this.out.flush();
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     public final void write(int p3)
     {
         try {
             this.out.write(p3);
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     public final void write(byte[] p3, int p4, int p5)
     {
         try {
             this.out.write(p3, p4, p5);
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }
 }
 package com.b.a;
 final class d {
     final String a;
     final long[] b;
     boolean c;
     com.b.a.b d;
     long e;
     final synthetic com.b.a.a f;

     private d(com.b.a.a p2, String p3)
     {
         this.f = p2;
         this.a = p3;
         long[] v0_1 = new long[com.b.a.a.f(p2)];
         this.b = v0_1;
         return;
     }

     synthetic d(com.b.a.a p1, String p2, byte p3)
     {
         this(p1, p2);
         return;
     }

     private static java.io.IOException b(String[] p3)
     {
         throw new java.io.IOException(new StringBuilder("unexpected journal line: ").append(java.util.Arrays.toString(p3)).toString());
     }

     public final java.io.File a(int p5)
     {
         return new java.io.File(com.b.a.a.g(this.f), new StringBuilder().append(this.a).append(".").append(p5).toString());
     }

     public final String a()
     {
         StringBuilder v1_1 = new StringBuilder();
         long[] v2 = this.b;
         int v3 = v2.length;
         String v0_0 = 0;
         while (v0_0 < v3) {
             v1_1.append(32).append(v2[v0_0]);
             v0_0++;
         }
         return v1_1.toString();
     }

     final void a(String[] p5)
     {
         if (p5.length == com.b.a.a.f(this.f)) {
             int v0_1 = 0;
             try {
                 while (v0_1 < p5.length) {
                     this.b[v0_1] = Long.parseLong(p5[v0_1]);
                     v0_1++;
                 }
             } catch (int v0) {
                 throw com.b.a.d.b(p5);
             }
             return;
         } else {
             throw com.b.a.d.b(p5);
         }
     }

     public final java.io.File b(int p5)
     {
         return new java.io.File(com.b.a.a.g(this.f), new StringBuilder().append(this.a).append(".").append(p5).append(".tmp").toString());
     }
 }
 package com.b.a;
 public final class e implements java.io.Closeable {
     public final java.io.InputStream[] a;
     final synthetic com.b.a.a b;
     private final String c;
     private final long d;
     private final long[] e;

     private e(com.b.a.a p2, String p3, long p4, java.io.InputStream[] p6, long[] p7)
     {
         this.b = p2;
         this.c = p3;
         this.d = p4;
         this.a = p6;
         this.e = p7;
         return;
     }

     synthetic e(com.b.a.a p2, String p3, long p4, java.io.InputStream[] p6, long[] p7, byte p8)
     {
         this(p2, p3, p4, p6, p7);
         return;
     }

     public final void close()
     {
         java.io.InputStream[] v1 = this.a;
         int v2 = v1.length;
         int v0 = 0;
         while (v0 < v2) {
             com.b.a.g.a(v1[v0]);
             v0++;
         }
         return;
     }
 }
 package com.b.a;
 final class f$1 extends java.io.ByteArrayOutputStream {
     final synthetic com.b.a.f a;

     f$1(com.b.a.f p1, int p2)
     {
         this.a = p1;
         this(p2);
         return;
     }

     public final String toString()
     {
         if ((this.count <= 0) || (this.buf[(this.count - 1)] != 13)) {
             java.io.UnsupportedEncodingException v0_3 = this.count;
         } else {
             v0_3 = (this.count - 1);
         }
         try {
             return new String(this.buf, 0, v0_3, this.a.a.name());
         } catch (java.io.UnsupportedEncodingException v0_5) {
             throw new AssertionError(v0_5);
         }
     }
 }
 package com.b.a;
 final class f implements java.io.Closeable {
     final java.nio.charset.Charset a;
     private final java.io.InputStream b;
     private byte[] c;
     private int d;
     private int e;

     public f(java.io.InputStream p2, java.nio.charset.Charset p3)
     {
         this(p2, p3, 0);
         return;
     }

     private f(java.io.InputStream p3, java.nio.charset.Charset p4, byte p5)
     {
         if ((p3 != null) && (p4 != null)) {
             if (p4.equals(com.b.a.g.a)) {
                 this.b = p3;
                 this.a = p4;
                 byte[] v0_3 = new byte[8192];
                 this.c = v0_3;
                 return;
             } else {
                 throw new IllegalArgumentException("Unsupported encoding");
             }
         } else {
             throw new NullPointerException();
         }
     }

     private void b()
     {
         java.io.EOFException v0_1 = this.b.read(this.c, 0, this.c.length);
         if (v0_1 != -1) {
             this.d = 0;
             this.e = v0_1;
             return;
         } else {
             throw new java.io.EOFException();
         }
     }

     public final String a()
     {
         try {
             if (this.c != null) {
                 if (this.d >= this.e) {
                     this.b();
                 }
                 byte[] v2_0 = this.d;
                 while (v2_0 != this.e) {
                     if (this.c[v2_0] != 10) {
                         v2_0++;
                     } else {
                         if ((v2_0 == this.d) || (this.c[(v2_0 - 1)] != 13)) {
                             int v1_5 = v2_0;
                         } else {
                             v1_5 = (v2_0 - 1);
                         }
                         String v0_10 = new String(this.c, this.d, (v1_5 - this.d), this.a.name());
                         this.d = (v2_0 + 1);
                     }
                     return v0_10;
                 }
                 int v1_2 = new com.b.a.f$1(this, ((this.e - this.d) + 80));
                 while(true) {
                     v1_2.write(this.c, this.d, (this.e - this.d));
                     this.e = -1;
                     this.b();
                     String v0_8 = this.d;
                     if (v0_8 != this.e) {
                         if (this.c[v0_8] != 10) {
                             v0_8++;
                             while (v0_8 == this.e) {
                             }
                         } else {
                             if (v0_8 != this.d) {
                                 v1_2.write(this.c, this.d, (v0_8 - this.d));
                             }
                             this.d = (v0_8 + 1);
                             v0_10 = v1_2.toString();
                         }
                     }
                     return v0_10;
                 }
             } else {
                 throw new java.io.IOException("LineReader is closed");
             }
         } catch (String v0_20) {
             throw v0_20;
         }
     }

     public final void close()
     {
         try {
             if (this.c != null) {
                 this.c = 0;
                 this.b.close();
             }
         } catch (java.io.InputStream v0_3) {
             throw v0_3;
         }
         return;
     }
 }
 package com.b.a;
 public final class g {
     static final java.nio.charset.Charset a;
     static final java.nio.charset.Charset b;

     static g()
     {
         com.b.a.g.a = java.nio.charset.Charset.forName("US-ASCII");
         com.b.a.g.b = java.nio.charset.Charset.forName("UTF-8");
         return;
     }

     static void a(java.io.Closeable p1)
     {
         if (p1 != null) {
             try {
                 p1.close();
             } catch (Exception v0) {
                 throw v0;
             } catch (Exception v0) {
             }
         }
         return;
     }

     static void a(java.io.File p5)
     {
         String v1_0 = p5.listFiles();
         if (v1_0 != null) {
             String v2_0 = v1_0.length;
             int v0_0 = 0;
             while (v0_0 < v2_0) {
                 String v3 = v1_0[v0_0];
                 if (v3.isDirectory()) {
                     com.b.a.g.a(v3);
                 }
                 if (v3.delete()) {
                     v0_0++;
                 } else {
                     throw new java.io.IOException(new StringBuilder("failed to delete file: ").append(v3).toString());
                 }
             }
             return;
         } else {
             throw new java.io.IOException(new StringBuilder("not a readable directory: ").append(p5).toString());
         }
     }
 }
 package com.c;
 public final class a {
     private javax.crypto.spec.IvParameterSpec a;
     private javax.crypto.spec.SecretKeySpec b;
     private javax.crypto.Cipher c;

     public a(String p4, String p5)
     {
         this.a = new javax.crypto.spec.IvParameterSpec(p5.getBytes());
         this.b = new javax.crypto.spec.SecretKeySpec(p4.getBytes(), "AES");
         try {
             this.c = javax.crypto.Cipher.getInstance("AES/CBC/NoPadding");
         } catch (javax.crypto.NoSuchPaddingException v0_7) {
             v0_7.printStackTrace();
         } catch (javax.crypto.NoSuchPaddingException v0_6) {
             v0_6.printStackTrace();
         }
         return;
     }

     public static String a(byte[] p6)
     {
         String v0_1;
         if (p6 != null) {
             int v2 = p6.length;
             v0_1 = "";
             int v1_1 = 0;
             while (v1_1 < v2) {
                 if ((p6[v1_1] & 255) >= 16) {
                     v0_1 = new StringBuilder().append(v0_1).append(Integer.toHexString((p6[v1_1] & 255))).toString();
                 } else {
                     v0_1 = new StringBuilder().append(v0_1).append("0").append(Integer.toHexString((p6[v1_1] & 255))).toString();
                 }
                 v1_1++;
             }
         } else {
             v0_1 = 0;
         }
         return v0_1;
     }

     private static String b(String p4)
     {
         int v1 = (16 - (p4.length() % 16));
         int v0_2 = 0;
         while (v0_2 < v1) {
             p4 = new StringBuilder().append(p4).append(32).toString();
             v0_2++;
         }
         return p4;
     }

     public final byte[] a(String p5)
     {
         if ((p5 != null) && (p5.length() != 0)) {
             try {
                 this.c.init(1, this.b, this.a);
                 return this.c.doFinal(com.c.a.b(p5).getBytes());
             } catch (String v0_4) {
                 throw new Exception(new StringBuilder("[encrypt] ").append(v0_4.getMessage()).toString());
             }
         } else {
             throw new Exception("Empty string");
         }
     }
 }
 package com.c;
 public final class b {
     private static long d;
     private android.content.SharedPreferences a;
     private java.util.concurrent.Semaphore b;
     private com.c.g c;

     static b()
     {
         com.c.b.d = 0;
         return;
     }

     public b(android.content.Context p4, com.c.g p5)
     {
         this.a = p4.getSharedPreferences("mat_queue", 0);
         this.b = new java.util.concurrent.Semaphore(1, 1);
         this.c = p5;
         return;
     }

     static synthetic long a(long p0)
     {
         com.c.b.d = p0;
         return p0;
     }

     static synthetic java.util.concurrent.Semaphore a(com.c.b p1)
     {
         return p1.b;
     }

     static synthetic long b()
     {
         return com.c.b.d;
     }

     static synthetic com.c.g b(com.c.b p1)
     {
         return p1.c;
     }

     protected final declared_synchronized int a()
     {
         try {
             return this.a.getInt("queuesize", 0);
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     protected final declared_synchronized void a(int p3)
     {
         try {
             Throwable v0_1 = this.a.edit();
         } catch (Throwable v0_2) {
             throw v0_2;
         }
         if (p3 < 0) {
             p3 = 0;
         }
         v0_1.putInt("queuesize", p3);
         v0_1.commit();
         return;
     }

     protected final declared_synchronized void a(String p2)
     {
         try {
             this.a((this.a() - 1));
             Throwable v0_3 = this.a.edit();
             v0_3.remove(p2);
             v0_3.commit();
             return;
         } catch (Throwable v0_4) {
             throw v0_4;
         }
     }

     protected final declared_synchronized void a(org.json.JSONObject p3, String p4)
     {
         try {
             Throwable v0_1 = this.a.edit();
             v0_1.putString(p4, p3.toString());
             v0_1.commit();
             return;
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     protected final declared_synchronized String b(String p3)
     {
         try {
             return this.a.getString(p3, 0);
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }
 }
 package com.c;
 public final class c implements java.lang.Runnable {
     final synthetic com.c.b a;
     private String b;
     private String c;
     private org.json.JSONObject d;
     private boolean e;

     protected c(com.c.b p2, String p3, String p4, org.json.JSONObject p5, boolean p6)
     {
         this.a = p2;
         this.b = 0;
         this.c = 0;
         this.d = 0;
         this.e = 0;
         this.b = p3;
         this.c = p4;
         this.d = p5;
         this.e = p6;
         return;
     }

     public final void run()
     {
         try {
             com.c.b.a(this.a).acquire();
             java.util.concurrent.Semaphore v0_3 = new org.json.JSONObject();
             try {
                 v0_3.put("link", this.b);
                 v0_3.put("data", this.c);
                 v0_3.put("post_body", this.d);
                 v0_3.put("first_session", this.e);
             } catch (java.util.concurrent.Semaphore v0_4) {
                 android.util.Log.w("MobileAppTracker", "Failed creating event for queueing");
                 v0_4.printStackTrace();
                 com.c.b.a(this.a).release();
                 return;
             }
             String v1_7 = (this.a.a() + 1);
             this.a.a(v1_7);
             this.a.a(v0_3, Integer.toString(v1_7));
             com.c.b.a(this.a).release();
             return;
         } catch (java.util.concurrent.Semaphore v0_9) {
             android.util.Log.w("MobileAppTracker", "Interrupted adding event to queue");
             v0_9.printStackTrace();
             com.c.b.a(this.a).release();
             return;
         } catch (java.util.concurrent.Semaphore v0_12) {
             com.c.b.a(this.a).release();
             throw v0_12;
         }
     }
 }
 package com.c;
 public final class d implements java.lang.Runnable {
     final synthetic com.c.b a;

     protected d(com.c.b p1)
     {
         this.a = p1;
         return;
     }

     public final void run()
     {
         int v3 = this.a.a();
         if (v3 != 0) {
             try {
                 com.c.b.a(this.a).acquire();
                 int v0_3 = 1;
             } catch (int v0_15) {
                 com.c.b.a(this.a).release();
                 throw v0_15;
             } catch (int v0_12) {
                 v0_12.printStackTrace();
                 com.c.b.a(this.a).release();
             }
             if (v3 > 50) {
                 v0_3 = ((v3 - 50) + 1);
             }
             while (v0_3 <= v3) {
                 long v4_0 = Integer.toString(v0_3);
                 String v5_0 = this.a.b(v4_0);
                 if (v5_0 == null) {
                     android.util.Log.d("MobileAppTracker", "Null request skipped from queue");
                     this.a.a(v4_0);
                 } else {
                     try {
                         org.json.JSONException v1_5 = new org.json.JSONObject(v5_0);
                         long v6_0 = v1_5.getString("link");
                         org.json.JSONObject v2_3 = v1_5.getString("data");
                         StringBuilder v7_1 = v1_5.getJSONObject("post_body");
                     } catch (int v0_7) {
                         v0_7.printStackTrace();
                         this.a.a(v4_0);
                         com.c.b.a(this.a).release();
                         return;
                     }
                     if (v1_5.getBoolean("first_session")) {
                         com.c.b.b(this.a);
                         try {
                             com.c.b.b(this.a).l.wait(60000);
                         } catch (int v0_11) {
                             throw v0_11;
                         }
                     }
                     if (com.c.b.b(this.a) == null) {
                         android.util.Log.d("MobileAppTracker", "Dropping queued request because no MAT object was found");
                         this.a.a(v4_0);
                     } else {
                         if (!com.c.b.b(this.a).a(v6_0, v2_3, v7_1)) {
                             v0_3--;
                             org.json.JSONObject v2_5 = v6_0.indexOf("&sdk_retry_attempt=");
                             if (v2_5 > null) {
                                 org.json.JSONException v1_17 = -1;
                                 StringBuilder v7_2 = (v2_5 + 19);
                                 org.json.JSONObject v2_6 = (v7_2 + 1);
                                 try {
                                     while(true) {
                                         try {
                                             v1_17 = Integer.parseInt(v6_0.substring(v7_2, v2_6));
                                             v2_6++;
                                         } catch (org.json.JSONObject v2) {
                                             org.json.JSONException v1_21 = v6_0.replaceFirst("&sdk_retry_attempt=\\d+", new StringBuilder("&sdk_retry_attempt=").append((v1_17 + 1)).toString());
                                             try {
                                                 org.json.JSONObject v2_9 = new org.json.JSONObject(v5_0);
                                                 v2_9.put("link", v1_21);
                                                 this.a.a(v2_9, v4_0);
                                             } catch (org.json.JSONException v1_23) {
                                                 v1_23.printStackTrace();
                                             }
                                         }
                                     }
                                 } catch (org.json.JSONObject v2) {
                                 }
                             }
                             if (com.c.b.b() != 0) {
                                 if (com.c.b.b() > 30) {
                                     if (com.c.b.b() > 90) {
                                         if (com.c.b.b() > 600) {
                                             if (com.c.b.b() > 3600) {
                                                 com.c.b.a(86400);
                                             } else {
                                                 com.c.b.a(21600);
                                             }
                                         } else {
                                             com.c.b.a(3600);
                                         }
                                     } else {
                                         com.c.b.a(600);
                                     }
                                 } else {
                                     com.c.b.a(90);
                                 }
                             } else {
                                 com.c.b.a(30);
                             }
                             try {
                                 Thread.sleep(((long) (((1.0 + (0.1 * Math.random())) * ((double) com.c.b.b())) * 1000.0)));
                             } catch (org.json.JSONException v1) {
                             }
                         } else {
                             this.a.a(v4_0);
                             com.c.b.a(0);
                         }
                     }
                 }
                 v0_3++;
             }
             com.c.b.a(this.a).release();
         }
         return;
     }
 }
 package com.c;
 public interface e {
 }
 package com.c;
 public interface f {
 }
 package com.c;
 public final class g {
     private static volatile com.c.g t;
     protected com.c.e a;
     protected com.c.f b;
     protected boolean c;
     protected boolean d;
     protected boolean e;
     protected boolean f;
     protected boolean g;
     protected boolean h;
     protected android.content.BroadcastReceiver i;
     protected com.c.h j;
     protected android.content.Context k;
     protected java.util.concurrent.ExecutorService l;
     protected java.util.concurrent.ExecutorService m;
     protected com.c.b n;
     private final String o;
     private com.c.r p;
     private com.c.a q;
     private boolean r;
     private boolean s;

     static g()
     {
         com.c.g.t = 0;
         return;
     }

     protected g()
     {
         this.o = "heF9BATUfWuISyO8";
         return;
     }

     public static declared_synchronized com.c.g a()
     {
         try {
             return com.c.g.t;
         } catch (Throwable v1_1) {
             throw v1_1;
         }
     }

     public static void a(android.content.Context p2, String p3, String p4)
     {
         void v0_1 = new com.c.g();
         com.c.g.t = v0_1;
         v0_1.k = p2.getApplicationContext();
         com.c.g.t.m = java.util.concurrent.Executors.newSingleThreadExecutor();
         com.c.g.t.a(p3, p4);
         return;
     }

     static synthetic void a(com.c.g p0, Object p1, String p2, String p3)
     {
         p0.a(p1, p2, p3);
         return;
     }

     private declared_synchronized void a(Object p7, String p8, String p9)
     {
         try {
             if (this.d) {
                 this.b();
                 this.j.a("conversion");
                 com.c.h v0_3 = new java.util.Date();
                 if (!(p7 instanceof String)) {
                     if (!(p7 instanceof Integer)) {
                         android.util.Log.d("MobileAppTracker", "Received invalid event name or id value, not measuring event");
                     } else {
                         this.j.c(Integer.toString(((Integer) p7).intValue()));
                     }
                 } else {
                     if (p7.equals("close")) {
                     } else {
                         if ((!p7.equals("open")) && ((!p7.equals("install")) && ((!p7.equals("update")) && (!p7.equals("session"))))) {
                             this.j.d(((String) p7));
                         } else {
                             this.j.a("session");
                             new java.util.Date((v0_3.getTime() + 60000));
                         }
                     }
                 }
                 this.j.m(Double.toString(0));
                 this.j.b(p8);
                 this.j.l(p9);
                 com.c.h v0_12 = com.c.m.a(this.r, this.s);
                 boolean v1_19 = com.c.m.a();
                 org.json.JSONObject v2_4 = com.c.m.b();
                 if (this.b != null) {
                 }
                 this.a(v0_12, v1_19, v2_4, this.g);
                 this.g = 0;
                 this.b();
                 if (this.a != null) {
                 }
                 this.j.b();
             }
         } catch (com.c.h v0_15) {
             throw v0_15;
         }
         return;
     }

     private void a(String p6, String p7)
     {
         com.c.h.a(this.k, p6);
         this.j = com.c.h.a();
         this.l = java.util.concurrent.Executors.newSingleThreadExecutor();
         this.p = new com.c.r();
         this.q = new com.c.a(p7.trim(), "heF9BATUfWuISyO8");
         this.g = 1;
         this.d = 0;
         this.c = 0;
         this.r = 0;
         this.s = 0;
         this.n = new com.c.b(this.k, this);
         this.b();
         this.i = new com.c.s(this);
         if (this.c) {
             try {
                 this.k.unregisterReceiver(this.i);
             } catch (IllegalArgumentException v0) {
             }
             this.c = 0;
         }
         this.k.registerReceiver(this.i, new android.content.IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
         this.c = 1;
         this.d = 1;
         return;
     }

     private void a(String p8, String p9, org.json.JSONObject p10, boolean p11)
     {
         java.util.concurrent.ExecutorService v6 = this.l;
         com.c.b v1 = this.n;
         v1.getClass();
         v6.execute(new com.c.c(v1, p8, p9, p10, p11));
         return;
     }

     private static boolean a(android.content.Context p1)
     {
         int v0_5;
         int v0_3 = ((android.net.ConnectivityManager) p1.getSystemService("connectivity")).getActiveNetworkInfo();
         if ((v0_3 == 0) || (!v0_3.isConnected())) {
             v0_5 = 0;
         } else {
             v0_5 = 1;
         }
         return v0_5;
     }

     static synthetic boolean a(com.c.g p0, boolean p1)
     {
         p0.r = p1;
         return p1;
     }

     public final void a(String p3)
     {
         this.m.execute(new com.c.u(this, p3));
         return;
     }

     public final void a(String p4, boolean p5)
     {
         int v0;
         if (!p5) {
             v0 = 0;
         } else {
             v0 = 1;
         }
         this.m.execute(new com.c.j(this, p4, v0));
         return;
     }

     public final void a(boolean p3)
     {
         this.m.execute(new com.c.i(this, p3));
         return;
     }

     protected final boolean a(String p6, String p7, org.json.JSONObject p8)
     {
         boolean v1_0 = 1;
         com.c.e v0_0 = 0;
         if (this.r) {
             android.util.Log.d("MobileAppTracker", "Sending event to server...");
         }
         com.c.h v2_6 = this.p.a(new StringBuilder().append(p6).append("&data=").append(com.c.m.a(p7, this.q)).toString(), p8, this.r);
         if (v2_6 != null) {
             if (v2_6.has("success")) {
                 if (this.a != null) {
                     try {
                         if (v2_6.getString("success").equals("true")) {
                             v0_0 = 1;
                         }
                     } catch (boolean v1_1) {
                         v1_1.printStackTrace();
                         v1_0 = 0;
                         return v1_0;
                     }
                     // Both branches of the condition point to the same code.
                     // if (v0_0 == null) {
                     // }
                 }
                 try {
                     if (v2_6.getString("site_event_type").equals("open")) {
                         com.c.e v0_5 = v2_6.getString("log_id");
                         if (this.j.ac().equals("")) {
                             this.j.j(v0_5);
                         }
                         this.j.i(v0_5);
                     }
                 } catch (com.c.e v0) {
                 }
             } else {
                 if (this.r) {
                     android.util.Log.d("MobileAppTracker", "Request failed, event will remain in queue");
                 }
                 v1_0 = 0;
             }
         } else {
             // Both branches of the condition point to the same code.
             // if (this.a == null) {
             // }
         }
         return v1_0;
     }

     protected final void b()
     {
         if (com.c.g.a(this.k)) {
             java.util.concurrent.ExecutorService v0_2 = this.l;
             com.c.b v2 = this.n;
             v2.getClass();
             v0_2.execute(new com.c.d(v2));
         }
         return;
     }

     public final void b(String p3)
     {
         this.m.execute(new com.c.k(this, p3));
         return;
     }

     public final void c()
     {
         this.m.execute(new com.c.t(this));
         return;
     }

     public final void c(String p3)
     {
         this.m.execute(new com.c.l(this, p3));
         return;
     }

     public final String d()
     {
         return this.j.n();
     }

     public final void d(String p3)
     {
         this.m.execute(new com.c.n(this, p3));
         return;
     }

     public final String e()
     {
         return this.j.aj();
     }

     public final void e(String p3)
     {
         this.m.execute(new com.c.o(this, p3));
         return;
     }

     public final void f()
     {
         this.m.execute(new com.c.p(this));
         return;
     }
 }
 package com.c;
 public final class h {
     private static com.c.h b;
     private String A;
     private String B;
     private String C;
     private String D;
     private String E;
     private String F;
     private String G;
     private String H;
     private String I;
     private String J;
     private String K;
     private String L;
     private String M;
     private String N;
     private String O;
     private String P;
     private String Q;
     private String R;
     private String S;
     private android.location.Location T;
     private String U;
     private String V;
     private String W;
     private String X;
     private String Y;
     private String Z;
     private android.content.Context a;
     private String aA;
     private String aB;
     private String aC;
     private String aD;
     private String aE;
     private String aF;
     private String aG;
     private String aH;
     private String aa;
     private String ab;
     private String ac;
     private String ad;
     private String ae;
     private String af;
     private String ag;
     private String ah;
     private String ai;
     private String aj;
     private String ak;
     private String al;
     private String am;
     private String an;
     private String ao;
     private String ap;
     private String aq;
     private String ar;
     private String as;
     private String at;
     private String au;
     private String av;
     private String aw;
     private String ax;
     private String ay;
     private String az;
     private String c;
     private String d;
     private String e;
     private String f;
     private String g;
     private String h;
     private String i;
     private String j;
     private String k;
     private String l;
     private String m;
     private String n;
     private String o;
     private String p;
     private String q;
     private String r;
     private String s;
     private String t;
     private String u;
     private String v;
     private String w;
     private String x;
     private String y;
     private String z;

     static h()
     {
         com.c.h.b = 0;
         return;
     }

     public h()
     {
         this.c = 0;
         this.d = 0;
         this.e = 0;
         this.f = 0;
         this.g = 0;
         this.h = 0;
         this.i = 0;
         this.j = 0;
         this.k = 0;
         this.l = 0;
         this.m = 0;
         this.n = 0;
         this.o = 0;
         this.p = 0;
         this.q = 0;
         this.r = 0;
         this.s = 0;
         this.t = 0;
         this.u = 0;
         this.v = 0;
         this.w = 0;
         this.x = 0;
         this.y = 0;
         this.z = 0;
         this.A = 0;
         this.B = 0;
         this.C = 0;
         this.D = 0;
         this.E = 0;
         this.F = 0;
         this.G = 0;
         this.H = 0;
         this.I = 0;
         this.J = 0;
         this.K = 0;
         this.L = 0;
         this.M = 0;
         this.N = 0;
         this.O = 0;
         this.P = 0;
         this.Q = 0;
         this.R = 0;
         this.S = 0;
         this.T = 0;
         this.U = 0;
         this.V = 0;
         this.W = 0;
         this.X = 0;
         this.Y = 0;
         this.Z = 0;
         this.aa = 0;
         this.ab = 0;
         this.ac = 0;
         this.ad = 0;
         this.ae = 0;
         this.af = 0;
         this.ag = 0;
         this.ah = 0;
         this.ai = 0;
         this.aj = 0;
         this.ak = 0;
         this.al = 0;
         this.am = 0;
         this.an = 0;
         this.ao = 0;
         this.ap = 0;
         this.aq = 0;
         this.ar = 0;
         this.as = 0;
         this.at = 0;
         this.au = 0;
         this.av = 0;
         this.aw = 0;
         this.ax = 0;
         this.ay = 0;
         this.az = 0;
         this.aA = 0;
         this.aB = 0;
         this.aC = 0;
         this.aD = 0;
         this.aE = 0;
         this.aF = 0;
         this.aG = 0;
         this.aH = 0;
         return;
     }

     private declared_synchronized void A(String p2)
     {
         try {
             this.R = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void B(String p3)
     {
         try {
             this.a("mat_id", "mat_id", p3);
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void C(String p2)
     {
         try {
             this.W = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void D(String p2)
     {
         try {
             this.X = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void E(String p2)
     {
         try {
             this.Y = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void F(String p2)
     {
         try {
             this.ag = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void G(String p2)
     {
         try {
             this.ah = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void H(String p2)
     {
         try {
             this.ai = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public static com.c.h a()
     {
         return com.c.h.b;
     }

     private declared_synchronized String a(String p3, String p4)
     {
         try {
             return this.a.getSharedPreferences(p3, 0).getString(p4, "");
         } catch (Throwable v0_3) {
             throw v0_3;
         }
     }

     public static void a(android.content.Context p1, String p2)
     {
         if (com.c.h.b == null) {
             com.c.h v0_2 = new com.c.h();
             com.c.h.b = v0_2;
             v0_2.a = p1;
             com.c.h.b.b(p1, p2);
         }
         return;
     }

     static synthetic void a(com.c.h p0, String p1)
     {
         p0.an = p1;
         return;
     }

     private declared_synchronized void a(String p3, String p4, String p5)
     {
         try {
             this.a.getSharedPreferences(p3, 0).edit().putString(p4, p5).commit();
             return;
         } catch (Throwable v0_4) {
             throw v0_4;
         }
     }

     private declared_synchronized void aS()
     {
         try {
             this.u = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aT()
     {
         try {
             this.v = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aU()
     {
         try {
             this.w = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aV()
     {
         try {
             this.x = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aW()
     {
         try {
             this.y = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aX()
     {
         try {
             this.z = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aY()
     {
         try {
             this.A = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void aZ()
     {
         try {
             this.B = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized boolean b(android.content.Context p9, String p10)
     {
         try {
             this.p(p10.trim());
             this.b("USD");
             new android.os.Handler(android.os.Looper.getMainLooper()).post(new com.c.q(this, this.a));
             IndexOutOfBoundsException v0_5 = this.a.getPackageName();
             this.k(v0_5);
             String v3_4 = this.a.getPackageManager();
             try {
                 this.q(v3_4.getApplicationLabel(v3_4.getApplicationInfo(v0_5, 0)).toString());
                 this.y(Long.toString((new java.util.Date(new java.io.File(v3_4.getApplicationInfo(v0_5, 0).sourceDir).lastModified()).getTime() / 1000)));
             } catch (int v4) {
             }
             try {
                 this.r(Integer.toString(v3_4.getPackageInfo(v0_5, 0).versionCode));
             } catch (int v4) {
                 this.r("0");
             }
             String v3_7;
             IndexOutOfBoundsException v0_20;
             this.z(v3_4.getInstallerPackageName(v0_5));
             this.x(android.os.Build.MODEL);
             this.u(android.os.Build.MANUFACTURER);
             this.w(System.getProperty("os.arch"));
             this.E(android.os.Build$VERSION.RELEASE);
             this.F(Float.toString(p9.getResources().getDisplayMetrics().density));
             IndexOutOfBoundsException v0_18 = ((android.view.WindowManager) p9.getSystemService("window"));
             if (android.os.Build$VERSION.SDK_INT < 13) {
                 v3_7 = v0_18.getDefaultDisplay().getWidth();
                 v0_20 = v0_18.getDefaultDisplay().getHeight();
             } else {
                 int v4_19 = new android.graphics.Point();
                 v0_18.getDefaultDisplay().getSize(v4_19);
                 v3_7 = v4_19.x;
                 v0_20 = v4_19.y;
             }
             this.H(Integer.toString(v3_7));
             this.G(Integer.toString(v0_20));
             if (!((android.net.ConnectivityManager) this.a.getSystemService("connectivity")).getNetworkInfo(1).isConnected()) {
                 this.s("mobile");
             } else {
                 this.s("WIFI");
             }
             this.A(java.util.Locale.getDefault().getDisplayLanguage(java.util.Locale.US));
             IndexOutOfBoundsException v0_34 = ((android.telephony.TelephonyManager) this.a.getSystemService("phone"));
             if (v0_34 == null) {
                 this.t(java.util.Locale.getDefault().getCountry());
             } else {
                 if (v0_34.getNetworkCountryIso() != null) {
                     this.t(v0_34.getNetworkCountryIso());
                 }
                 this.v(v0_34.getNetworkOperatorName());
                 IndexOutOfBoundsException v0_37 = v0_34.getNetworkOperator();
                 if (v0_37 != null) {
                     try {
                         String v3_17 = v0_37.substring(0, 3);
                         IndexOutOfBoundsException v0_38 = v0_37.substring(3);
                         this.C(v3_17);
                         this.D(v0_38);
                     } catch (IndexOutOfBoundsException v0) {
                     }
                 }
             }
             IndexOutOfBoundsException v0_39 = this.Z();
             if ((v0_39 == null) || (v0_39.length() == 0)) {
                 this.B(java.util.UUID.randomUUID().toString());
             }
             IndexOutOfBoundsException v0_44 = 1;
             return v0_44;
         } catch (IndexOutOfBoundsException v0_43) {
             android.util.Log.d("MobileAppTracker", "MobileAppTracker initialization failed");
             v0_43.printStackTrace();
             v0_44 = 0;
             return v0_44;
         } catch (IndexOutOfBoundsException v0_45) {
             throw v0_45;
         }
     }

     private declared_synchronized void ba()
     {
         try {
             this.C = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bb()
     {
         try {
             this.E = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bc()
     {
         try {
             this.G = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bd()
     {
         try {
             this.H = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void be()
     {
         try {
             this.I = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bf()
     {
         try {
             this.ao = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bg()
     {
         try {
             this.ap = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bh()
     {
         try {
             this.aq = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bi()
     {
         try {
             this.ar = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bj()
     {
         try {
             this.as = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bk()
     {
         try {
             this.at = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bl()
     {
         try {
             this.au = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bm()
     {
         try {
             this.av = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bn()
     {
         try {
             this.aw = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bo()
     {
         try {
             this.ax = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bp()
     {
         try {
             this.ay = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bq()
     {
         try {
             this.az = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void br()
     {
         try {
             this.aA = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bs()
     {
         try {
             this.aB = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bt()
     {
         try {
             this.aC = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bu()
     {
         try {
             this.aD = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bv()
     {
         try {
             this.aE = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bw()
     {
         try {
             this.aF = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void bx()
     {
         try {
             this.aG = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void by()
     {
         try {
             this.aH = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     private declared_synchronized void p(String p2)
     {
         try {
             this.d = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void q(String p2)
     {
         try {
             this.j = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void r(String p2)
     {
         try {
             this.k = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void s(String p2)
     {
         try {
             this.l = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void t(String p2)
     {
         try {
             this.m = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void u(String p2)
     {
         try {
             this.o = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void v(String p2)
     {
         try {
             this.p = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void w(String p2)
     {
         try {
             this.q = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void x(String p2)
     {
         try {
             this.t = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void y(String p2)
     {
         try {
             this.P = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     private declared_synchronized void z(String p2)
     {
         try {
             this.Q = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String A()
     {
         try {
             return this.A;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String B()
     {
         try {
             return this.B;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String C()
     {
         try {
             return this.C;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String D()
     {
         try {
             return this.D;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String E()
     {
         try {
             return this.E;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String F()
     {
         try {
             return this.F;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String G()
     {
         try {
             return this.G;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String H()
     {
         try {
             return this.H;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String I()
     {
         try {
             return this.I;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String J()
     {
         try {
             return this.J;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String K()
     {
         try {
             return this.K;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String L()
     {
         try {
             return this.L;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String M()
     {
         try {
             return this.M;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String N()
     {
         try {
             return this.N;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String O()
     {
         try {
             return this.O;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String P()
     {
         try {
             return this.P;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String Q()
     {
         try {
             return this.Q;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String R()
     {
         try {
             return this.a("mat_log_id_install", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String S()
     {
         try {
             return this.a("mat_referrer", "referrer");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String T()
     {
         try {
             return this.a("mat_is_paying_user", "mat_is_paying_user");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String U()
     {
         try {
             return this.R;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String V()
     {
         try {
             return this.a("mat_log_id_last_open", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String W()
     {
         try {
             return this.S;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String X()
     {
         try {
             return this.U;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String Y()
     {
         try {
             return this.V;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String Z()
     {
         try {
             return this.a("mat_id", "mat_id");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized void a(String p2)
     {
         try {
             this.c = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String aA()
     {
         try {
             return this.aq;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aB()
     {
         try {
             return this.ar;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aC()
     {
         try {
             return this.as;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aD()
     {
         try {
             return this.at;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aE()
     {
         try {
             return this.au;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aF()
     {
         try {
             return this.av;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aG()
     {
         try {
             return this.aw;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aH()
     {
         try {
             return this.ax;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aI()
     {
         try {
             return this.ay;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aJ()
     {
         try {
             return this.az;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aK()
     {
         try {
             return this.aA;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aL()
     {
         try {
             return this.aB;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aM()
     {
         try {
             return this.aC;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aN()
     {
         try {
             return this.aD;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aO()
     {
         try {
             return this.aE;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aP()
     {
         try {
             return this.aF;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aQ()
     {
         try {
             return this.aG;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aR()
     {
         try {
             return this.aH;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aa()
     {
         try {
             return this.W;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ab()
     {
         try {
             return this.X;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ac()
     {
         try {
             return this.a("mat_log_id_open", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String ad()
     {
         try {
             return this.Y;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ae()
     {
         try {
             return this.Z;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String af()
     {
         try {
             return this.aa;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ag()
     {
         try {
             return this.ab;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ah()
     {
         try {
             return this.ac;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ai()
     {
         try {
             return this.ad;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aj()
     {
         try {
             return this.ae;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ak()
     {
         try {
             return this.af;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String al()
     {
         try {
             return this.ag;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String am()
     {
         try {
             return this.ah;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String an()
     {
         try {
             return this.ai;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ao()
     {
         try {
             return "3.4.2";
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ap()
     {
         try {
             return this.aj;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String aq()
     {
         try {
             return this.ak;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String ar()
     {
         try {
             return this.al;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String as()
     {
         try {
             return this.am;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String at()
     {
         try {
             return this.a("mat_log_id_update", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String au()
     {
         try {
             return this.an;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String av()
     {
         try {
             return this.a("mat_user_ids", "user_email");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String aw()
     {
         try {
             return this.a("mat_user_ids", "user_id");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String ax()
     {
         try {
             return this.a("mat_user_ids", "user_name");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     public final declared_synchronized String ay()
     {
         try {
             return this.ao;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String az()
     {
         try {
             return this.ap;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void b()
     {
         try {
             this.c(0);
             this.d(0);
             this.m(0);
             this.b("USD");
             this.l(0);
             this.aY();
             this.aX();
             this.bb();
             this.bc();
             this.be();
             this.bd();
             this.aZ();
             this.ba();
             this.aS();
             this.aT();
             this.aU();
             this.aV();
             this.aW();
             this.bg();
             this.bf();
             this.bh();
             this.bu();
             this.bv();
             this.bw();
             this.bx();
             this.by();
             this.bs();
             this.br();
             this.bq();
             this.bt();
             this.bo();
             this.bp();
             this.bm();
             this.bl();
             this.bk();
             this.bn();
             this.bi();
             this.bj();
             return;
         } catch (Throwable v0_5) {
             throw v0_5;
         }
     }

     public final declared_synchronized void b(String p2)
     {
         try {
             this.n = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String c()
     {
         try {
             return this.c;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void c(String p2)
     {
         try {
             this.D = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String d()
     {
         try {
             return this.d;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void d(String p2)
     {
         try {
             this.F = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String e()
     {
         try {
             return this.e;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void e(String p2)
     {
         try {
             this.J = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String f()
     {
         try {
             return this.f;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void f(String p2)
     {
         try {
             this.M = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String g()
     {
         try {
             return this.g;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void g(String p2)
     {
         try {
             this.N = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String h()
     {
         try {
             return this.h;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void h(String p3)
     {
         try {
             this.a("mat_referrer", "referrer", p3);
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String i()
     {
         try {
             return this.i;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void i(String p3)
     {
         try {
             this.a("mat_log_id_last_open", "logId", p3);
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String j()
     {
         try {
             return this.j;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void j(String p3)
     {
         try {
             this.a("mat_log_id_open", "logId", p3);
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String k()
     {
         try {
             return this.k;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void k(String p2)
     {
         try {
             this.Z = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String l()
     {
         try {
             return this.l;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void l(String p2)
     {
         try {
             this.ae = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String m()
     {
         try {
             return this.m;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void m(String p2)
     {
         try {
             this.af = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String n()
     {
         try {
             return this.n;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void n(String p2)
     {
         try {
             this.aj = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     public final declared_synchronized String o()
     {
         try {
             return this.o;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized void o(String p3)
     {
         try {
             this.a("mat_user_ids", "user_id", p3);
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String p()
     {
         try {
             return this.p;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String q()
     {
         try {
             return this.q;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String r()
     {
         try {
             return this.r;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String s()
     {
         try {
             return this.s;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String t()
     {
         try {
             return this.t;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String u()
     {
         try {
             return this.u;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String v()
     {
         try {
             return this.v;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String w()
     {
         try {
             return this.w;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String x()
     {
         try {
             return this.x;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String y()
     {
         try {
             return this.y;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     public final declared_synchronized String z()
     {
         try {
             return this.z;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }
 }
 package com.c;
 final class i implements java.lang.Runnable {
     final synthetic boolean a;
     final synthetic com.c.g b;

     i(com.c.g p1, boolean p2)
     {
         this.b = p1;
         this.a = p2;
         return;
     }

     public final void run()
     {
         if (!this.a) {
             this.b.j.e(Integer.toString(0));
         } else {
             this.b.j.e(Integer.toString(1));
         }
         return;
     }
 }
 package com.c;
 final class j implements java.lang.Runnable {
     final synthetic String a;
     final synthetic int b;
     final synthetic com.c.g c;

     j(com.c.g p1, String p2, int p3)
     {
         this.c = p1;
         this.a = p2;
         this.b = p3;
         return;
     }

     public final void run()
     {
         this.c.j.f(this.a);
         this.c.j.g(Integer.toString(this.b));
         this.c.e = 1;
         if ((this.c.f) && (!this.c.h)) {
             try {
                 this.c.l.notifyAll();
                 this.c.h = 1;
             } catch (Throwable v0_13) {
                 throw v0_13;
             }
         }
         return;
     }
 }
 package com.c;
 final class k implements java.lang.Runnable {
     final synthetic String a;
     final synthetic com.c.g b;

     k(com.c.g p1, String p2)
     {
         this.b = p1;
         this.a = p2;
         return;
     }

     public final void run()
     {
         this.b.j.h(this.a);
         return;
     }
 }
 package com.c;
 final class l implements java.lang.Runnable {
     final synthetic String a;
     final synthetic com.c.g b;

     l(com.c.g p1, String p2)
     {
         this.b = p1;
         this.a = p2;
         return;
     }

     public final void run()
     {
         if ((this.a != null) && (!this.a.equals(""))) {
             this.b.j.k(this.a);
         } else {
             this.b.j.k(this.b.k.getPackageName());
         }
         return;
     }
 }
 package com.c;
 final class m {
     private static com.c.h a;

     public static declared_synchronized String a()
     {
         try {
             com.c.m.a = com.c.h.a();
             Throwable v0_2 = new StringBuilder();
             v0_2.append(new StringBuilder("connection_type=").append(com.c.m.a.l()).toString());
             com.c.m.a(v0_2, "age", com.c.m.a.e());
             com.c.m.a(v0_2, "altitude", com.c.m.a.g());
             com.c.m.a(v0_2, "android_id", com.c.m.a.h());
             com.c.m.a(v0_2, "app_ad_tracking", com.c.m.a.i());
             com.c.m.a(v0_2, "app_name", com.c.m.a.j());
             com.c.m.a(v0_2, "app_version", com.c.m.a.k());
             com.c.m.a(v0_2, "country_code", com.c.m.a.m());
             com.c.m.a(v0_2, "currency_code", com.c.m.a.n());
             com.c.m.a(v0_2, "device_brand", com.c.m.a.o());
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript
from androlyze.log.Log import log

CAT_DECOMPILE = "decompiled_classes"

class DecompileClassesText(AndroScript):
    ''' Get the source code from the apk for each class. '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        ''' This sample code is taken from `androguard` and has been modified!

        See Also
        --------
        http://code.google.com/p/androguard/wiki/RE#Source_Code
        '''

        res = self.res

        res.register_keys([CAT_DECOMPILE])

        # androguard.core.bytecodes.dvm.ClassDefItem
        for clazz in dalvik_vm_format.get_classes():
            try:
                key = clazz.get_name() 
                # skip android classes
                if key.find("Landroid") != -1:
                    continue
                self.cres += clazz.get_source()
            except Exception as e:
                log.exception(e)

    def custom_result_object(self):
        return ("", "java")

    ############################################################
    #---Options
    ############################################################    

    def needs_dalvik_vm_format(self):
        return True
    
    def needs_vmanalysis(self):
        return True

DecompileMethods

This is an autogenerated documentation file for the script: DecompileMethods

Run it
$ ./androanalyze scripts_builtin/DecompileMethods.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn DecompileMethods -pn com.spotify.music

 Empty
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn DecompileMethods -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn DecompileMethods -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androguard.decompiler.dad import decompile
from androlyze.model.script.AndroScript import AndroScript

CAT_DECOMPILE = "decompiled_methods"

class DecompileMethods(AndroScript):
    ''' Get the source code from the apk for each method. '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        ''' This sample code is taken from `androguard` and has been modified!

        See Also
        --------
        http://code.google.com/p/androguard/wiki/RE#Source_Code
        '''

        res = self.res

        res.register_keys([CAT_DECOMPILE])

        # CFG
        for method in dalvik_vm_format.get_methods():
            mx = vm_analysis.get_method(method)

            if method.get_code() == None:
                continue
            try:
                classname, methodname, method_descriptor = method.get_class_name(), method.get_name(), method.get_descriptor()
                
                # skip android classes
                if classname.find("Landroid") != -1:
                    continue
                CAT = (CAT_DECOMPILE, classname, methodname)
                res.register_keys([method_descriptor], *CAT)
    
                ms = decompile.DvMethod(mx)
                # process to the decompilation
                ms.process()
    
                # get the source !
                res.log(method_descriptor, ms.get_source().split("\n"), *CAT)
            except:
                pass
            
    ############################################################
    #---Options
    ############################################################

    def needs_dalvik_vm_format(self):
        return True

    def needs_vmanalysis(self):
        return True

DecompileMethodsText

This is an autogenerated documentation file for the script: DecompileMethodsText

Run it
$ ./androanalyze scripts_builtin/DecompileMethodsText.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn DecompileMethodsText -pn com.spotify.music

 Empty
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn DecompileMethodsText -pn com.spotify.music -nd

 {
     "chunkSize": 261120,
     "filename": "com.spotify.music_2.2.0.636_DecompileMethodsText.java",
     "length": 17215574,
     "uploadDate": "2015-06-22T20:30:07.726000",
     "md5": "bbd0987644eb64cef4a1f03c86bb145a",
     "metadata": {
         "apk meta": {
             "package name": "com.spotify.music",
             "version name": "2.2.0.636",
             "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
             "import date": "2015-04-14T15:10:06.364000",
             "build_date": "2015-02-11T12:25:40",
             "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
             "tag": null
         },
         "script meta": {
             "name": "DecompileMethodsText",
             "sha256": "bafebe22b09d8b06302b5b46ff6411d8a8bb7d1ed06e953ce1e97d2cdeef92b7",
             "analysis date": "2015-06-22T20:27:41.333000",
             "version": "0.1"
         }
     }
 }

View the raw data:

$ ./androquery result -sn DecompileMethodsText -pn com.spotify.music -nd -r

 Lcom/spotify/mobile/android/util/ui/d;.<init>(Landroid/view/Window$Callback;)V {

     public d(android.view.Window$Callback p1)
     {
         this.a = p1;
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.dispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z {

     public boolean dispatchGenericMotionEvent(android.view.MotionEvent p2)
     {
         return this.a.dispatchGenericMotionEvent(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.dispatchKeyEvent(Landroid/view/KeyEvent;)Z {

     public boolean dispatchKeyEvent(android.view.KeyEvent p2)
     {
         return this.a.dispatchKeyEvent(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.dispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z {

     public boolean dispatchKeyShortcutEvent(android.view.KeyEvent p2)
     {
         return this.a.dispatchKeyShortcutEvent(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z {

     public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent p2)
     {
         return this.a.dispatchPopulateAccessibilityEvent(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.dispatchTouchEvent(Landroid/view/MotionEvent;)Z {

     public boolean dispatchTouchEvent(android.view.MotionEvent p2)
     {
         return this.a.dispatchTouchEvent(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.dispatchTrackballEvent(Landroid/view/MotionEvent;)Z {

     public boolean dispatchTrackballEvent(android.view.MotionEvent p2)
     {
         return this.a.dispatchTrackballEvent(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onActionModeFinished(Landroid/view/ActionMode;)V {

     public void onActionModeFinished(android.view.ActionMode p2)
     {
         this.a.onActionModeFinished(p2);
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onActionModeStarted(Landroid/view/ActionMode;)V {

     public void onActionModeStarted(android.view.ActionMode p2)
     {
         this.a.onActionModeStarted(p2);
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onAttachedToWindow()V {

     public void onAttachedToWindow()
     {
         this.a.onAttachedToWindow();
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onContentChanged()V {

     public void onContentChanged()
     {
         this.a.onContentChanged();
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onCreatePanelMenu(I Landroid/view/Menu;)Z {

     public boolean onCreatePanelMenu(int p2, android.view.Menu p3)
     {
         return this.a.onCreatePanelMenu(p2, p3);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onCreatePanelView(I)Landroid/view/View; {

     public android.view.View onCreatePanelView(int p2)
     {
         return this.a.onCreatePanelView(p2);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onDetachedFromWindow()V {

     public void onDetachedFromWindow()
     {
         this.a.onDetachedFromWindow();
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onMenuItemSelected(I Landroid/view/MenuItem;)Z {

     public boolean onMenuItemSelected(int p2, android.view.MenuItem p3)
     {
         return this.a.onMenuItemSelected(p2, p3);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onMenuOpened(I Landroid/view/Menu;)Z {

     public boolean onMenuOpened(int p2, android.view.Menu p3)
     {
         return this.a.onMenuOpened(p2, p3);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onPanelClosed(I Landroid/view/Menu;)V {

     public void onPanelClosed(int p2, android.view.Menu p3)
     {
         this.a.onPanelClosed(p2, p3);
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onPreparePanel(I Landroid/view/View; Landroid/view/Menu;)Z {

     public boolean onPreparePanel(int p2, android.view.View p3, android.view.Menu p4)
     {
         return this.a.onPreparePanel(p2, p3, p4);
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onSearchRequested()Z {

     public boolean onSearchRequested()
     {
         return this.a.onSearchRequested();
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V {

     public void onWindowAttributesChanged(android.view.WindowManager$LayoutParams p2)
     {
         this.a.onWindowAttributesChanged(p2);
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onWindowFocusChanged(Z)V {

     public void onWindowFocusChanged(boolean p2)
     {
         this.a.onWindowFocusChanged(p2);
         return;
     }

     }
 Lcom/spotify/mobile/android/util/ui/d;.onWindowStartingActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode; {

     public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode$Callback p2)
     {
         return this.a.onWindowStartingActionMode(p2);
     }

     }
 Lcom/a/a/a/b;.a(Landroid/os/IBinder;)Lcom/a/a/a/a; {

     public static com.a.a.a.a a(android.os.IBinder p2)
     {
         com.a.a.a.a v0_3;
         if (p2 != null) {
             com.a.a.a.a v0_1 = p2.queryLocalInterface("com.android.vending.billing.IInAppBillingService");
             if ((v0_1 == null) || (!(v0_1 instanceof com.a.a.a.a))) {
                 v0_3 = new com.a.a.a.c(p2);
             } else {
                 v0_3 = ((com.a.a.a.a) v0_1);
             }
         } else {
             v0_3 = 0;
         }
         return v0_3;
     }

     }
 Lcom/a/a/a/b;.onTransact(I Landroid/os/Parcel; Landroid/os/Parcel; I)Z {

     public boolean onTransact(int p9, android.os.Parcel p10, android.os.Parcel p11, int p12)
     {
         int v0_1;
         switch (p9) {
             case 1:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_19 = this.a(p10.readInt(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 p11.writeInt(v0_19);
                 v0_1 = 1;
                 break;
             case 2:
                 int v0_13;
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 String v1_3 = p10.readInt();
                 String v2_3 = p10.readString();
                 String v3_2 = p10.readString();
                 if (p10.readInt() == 0) {
                     v0_13 = 0;
                 } else {
                     v0_13 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(p10));
                 }
                 int v0_16 = this.a(v1_3, v2_3, v3_2, v0_13);
                 p11.writeNoException();
                 if (v0_16 == 0) {
                     p11.writeInt(0);
                 } else {
                     p11.writeInt(1);
                     v0_16.writeToParcel(p11, 1);
                 }
                 v0_1 = 1;
                 break;
             case 3:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_10 = this.a(p10.readInt(), p10.readString(), p10.readString(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 if (v0_10 == 0) {
                     p11.writeInt(0);
                 } else {
                     p11.writeInt(1);
                     v0_10.writeToParcel(p11, 1);
                 }
                 v0_1 = 1;
                 break;
             case 4:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_7 = this.a(p10.readInt(), p10.readString(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 if (v0_7 == 0) {
                     p11.writeInt(0);
                 } else {
                     p11.writeInt(1);
                     v0_7.writeToParcel(p11, 1);
                 }
                 v0_1 = 1;
                 break;
             case 5:
                 p10.enforceInterface("com.android.vending.billing.IInAppBillingService");
                 int v0_4 = this.b(p10.readInt(), p10.readString(), p10.readString());
                 p11.writeNoException();
                 p11.writeInt(v0_4);
                 v0_1 = 1;
                 break;
             case 1598968902:
                 p11.writeString("com.android.vending.billing.IInAppBillingService");
                 v0_1 = 1;
                 break;
             default:
                 v0_1 = super.onTransact(p9, p10, p11, p12);
         }
         return v0_1;
     }

     }
 Lcom/a/a/a/c;.<init>(Landroid/os/IBinder;)V {

     c(android.os.IBinder p1)
     {
         this.a = p1;
         return;
     }

     }
 Lcom/a/a/a/c;.a(I Ljava/lang/String; Ljava/lang/String;)I {

     public final int a(int p6, String p7, String p8)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             this.a.transact(1, v1, v2, 0);
             v2.readException();
             Throwable v0_2 = v2.readInt();
             v2.recycle();
             v1.recycle();
             return v0_2;
         } catch (Throwable v0_3) {
             v2.recycle();
             v1.recycle();
             throw v0_3;
         }
     }

     }
 Lcom/a/a/a/c;.a(I Ljava/lang/String; Ljava/lang/String; Landroid/os/Bundle;)Landroid/os/Bundle; {

     public final android.os.Bundle a(int p6, String p7, String p8, android.os.Bundle p9)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
         } catch (int v0_9) {
             v2.recycle();
             v1.recycle();
             throw v0_9;
         }
         if (p9 == null) {
             v1.writeInt(0);
         } else {
             v1.writeInt(1);
             p9.writeToParcel(v1, 0);
         }
         int v0_6;
         this.a.transact(2, v1, v2, 0);
         v2.readException();
         if (v2.readInt() == 0) {
             v0_6 = 0;
         } else {
             v0_6 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(v2));
         }
         v2.recycle();
         v1.recycle();
         return v0_6;
     }

     }
 Lcom/a/a/a/c;.a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Landroid/os/Bundle; {

     public final android.os.Bundle a(int p6, String p7, String p8, String p9)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             int v0_3;
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             v1.writeString(p9);
             this.a.transact(4, v1, v2, 0);
             v2.readException();
         } catch (int v0_6) {
             v2.recycle();
             v1.recycle();
             throw v0_6;
         }
         if (v2.readInt() == 0) {
             v0_3 = 0;
         } else {
             v0_3 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(v2));
         }
         v2.recycle();
         v1.recycle();
         return v0_3;
     }

     }
 Lcom/a/a/a/c;.a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Landroid/os/Bundle; {

     public final android.os.Bundle a(int p6, String p7, String p8, String p9, String p10)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             int v0_3;
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             v1.writeString(p9);
             v1.writeString(p10);
             this.a.transact(3, v1, v2, 0);
             v2.readException();
         } catch (int v0_6) {
             v2.recycle();
             v1.recycle();
             throw v0_6;
         }
         if (v2.readInt() == 0) {
             v0_3 = 0;
         } else {
             v0_3 = ((android.os.Bundle) android.os.Bundle.CREATOR.createFromParcel(v2));
         }
         v2.recycle();
         v1.recycle();
         return v0_3;
     }

     }
 Lcom/a/a/a/c;.asBinder()Landroid/os/IBinder; {

     public final android.os.IBinder asBinder()
     {
         return this.a;
     }

     }
 Lcom/a/a/a/c;.b(I Ljava/lang/String; Ljava/lang/String;)I {

     public final int b(int p6, String p7, String p8)
     {
         android.os.Parcel v1 = android.os.Parcel.obtain();
         android.os.Parcel v2 = android.os.Parcel.obtain();
         try {
             v1.writeInterfaceToken("com.android.vending.billing.IInAppBillingService");
             v1.writeInt(p6);
             v1.writeString(p7);
             v1.writeString(p8);
             this.a.transact(5, v1, v2, 0);
             v2.readException();
             Throwable v0_2 = v2.readInt();
             v2.recycle();
             v1.recycle();
             return v0_2;
         } catch (Throwable v0_3) {
             v2.recycle();
             v1.recycle();
             throw v0_3;
         }
     }

     }
 Lcom/b/a/a$1;.<init>(Lcom/b/a/a;)V {

     a$1(com.b.a.a p1)
     {
         this.a = p1;
         return;
     }

     }
 Lcom/b/a/a$1;.a()Ljava/lang/Void; {

     private Void a()
     {
         try {
             if (com.b.a.a.a(this.a) != null) {
                 com.b.a.a.b(this.a);
                 if (com.b.a.a.c(this.a)) {
                     com.b.a.a.d(this.a);
                     com.b.a.a.e(this.a);
                 }
             } else {
             }
         } catch (com.b.a.a v0_7) {
             throw v0_7;
         }
         return 0;
     }

     }
 Lcom/b/a/a$1;.call()Ljava/lang/Object; {

     public final synthetic Object call()
     {
         return this.a();
     }

     }
 Lcom/b/a/a$2;.<init>()V {

     a$2()
     {
         return;
     }

     }
 Lcom/b/a/a$2;.write(I)V {

     public final void write(int p1)
     {
         return;
     }

     }
 Lcom/b/a/a;.<clinit>()V {

     static a()
     {
         com.b.a.a.a = java.util.regex.Pattern.compile("[a-z0-9_-]{1,64}");
         com.b.a.a.p = new com.b.a.a$2();
         return;
     }

     }
 Lcom/b/a/a;.<init>(Ljava/io/File;)V {

     private a(java.io.File p9)
     {
         this.j = 0;
         this.l = new java.util.LinkedHashMap(0, 1061158912, 1);
         this.n = 0;
         this.b = new java.util.concurrent.ThreadPoolExecutor(0, 1, 60, java.util.concurrent.TimeUnit.SECONDS, new java.util.concurrent.LinkedBlockingQueue());
         this.o = new com.b.a.a$1(this);
         this.c = p9;
         this.g = 1;
         this.d = new java.io.File(p9, "journal");
         this.e = new java.io.File(p9, "journal.tmp");
         this.f = new java.io.File(p9, "journal.bkp");
         this.i = 1;
         this.h = 10485760;
         return;
     }

     }
 Lcom/b/a/a;.a(Ljava/io/File;)Lcom/b/a/a; {

     public static com.b.a.a a(java.io.File p6)
     {
         if (10485760 > 0) {
             void v0_3 = new java.io.File(p6, "journal.bkp");
             if (v0_3.exists()) {
                 String v1_3 = new java.io.File(p6, "journal");
                 if (!v1_3.exists()) {
                     com.b.a.a.a(v0_3, v1_3, 0);
                 } else {
                     v0_3.delete();
                 }
             }
             void v0_7;
             void v0_5 = new com.b.a.a(p6);
             if (!v0_5.d.exists()) {
                 p6.mkdirs();
                 v0_7 = new com.b.a.a(p6).e();
             } else {
                 try {
                     v0_7 = v0_5.c().d();
                     v0_7.k = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(v0_7.d, 1), com.b.a.g.a));
                 } catch (String v1_8) {
                     System.out.println(new StringBuilder("DiskLruCache ").append(p6).append(" is corrupt: ").append(v1_8.getMessage()).append(", removing").toString());
                     v0_7.i();
                 }
             }
             return v0_7;
         } else {
             throw new IllegalArgumentException("maxSize <= 0");
         }
     }

     }
 Lcom/b/a/a;.a(Lcom/b/a/a;)Ljava/io/Writer; {

     static synthetic java.io.Writer a(com.b.a.a p1)
     {
         return p1.k;
     }

     }
 Lcom/b/a/a;.a(Lcom/b/a/a; Lcom/b/a/b; Z)V {

     static synthetic void a(com.b.a.a p0, com.b.a.b p1, boolean p2)
     {
         p0.a(p1, p2);
         return;
     }

     }
 Lcom/b/a/a;.a(Lcom/b/a/b; Z)V {

     private declared_synchronized void a(com.b.a.b p11, boolean p12)
     {
         java.util.concurrent.ThreadPoolExecutor v0_0 = 0;
         try {
             StringBuilder v2_0 = p11.a;
         } catch (java.util.concurrent.ThreadPoolExecutor v0_20) {
             throw v0_20;
         }
         if (v2_0.d == p11) {
             if ((!p12) || (v2_0.c)) {
                 while (v0_0 < this.i) {
                     int v1_17 = v2_0.b(v0_0);
                     if (!p12) {
                         com.b.a.a.b(v1_17);
                     } else {
                         if (v1_17.exists()) {
                             boolean v3_7 = v2_0.a(v0_0);
                             v1_17.renameTo(v3_7);
                             long v4_2 = v2_0.b[v0_0];
                             long v6 = v3_7.length();
                             v2_0.b[v0_0] = v6;
                             this.j = ((this.j - v4_2) + v6);
                         }
                     }
                     v0_0++;
                 }
                 this.m = (this.m + 1);
                 v2_0.d = 0;
                 if ((v2_0.c | p12) == 0) {
                     this.l.remove(v2_0.a);
                     this.k.write(new StringBuilder("REMOVE ").append(v2_0.a).append(10).toString());
                 } else {
                     v2_0.c = 1;
                     this.k.write(new StringBuilder("CLEAN ").append(v2_0.a).append(v2_0.a()).append(10).toString());
                     if (p12) {
                         java.util.concurrent.ThreadPoolExecutor v0_10 = this.n;
                         this.n = (1 + v0_10);
                         v2_0.e = v0_10;
                     }
                 }
                 this.k.flush();
                 if ((this.j > this.h) || (this.f())) {
                     this.b.submit(this.o);
                 }
             } else {
                 int v1_2 = 0;
                 while (v1_2 < this.i) {
                     if (p11.b[v1_2]) {
                         if (v2_0.b(v1_2).exists()) {
                             v1_2++;
                         } else {
                             p11.c();
                         }
                     } else {
                         p11.c();
                         throw new IllegalStateException(new StringBuilder("Newly created entry didn\'t create value for index ").append(v1_2).toString());
                     }
                 }
             }
             return;
         } else {
             throw new IllegalStateException();
         }
     }

     }
 Lcom/b/a/a;.a(Ljava/io/File; Ljava/io/File; Z)V {

     private static void a(java.io.File p1, java.io.File p2, boolean p3)
     {
         if (p3) {
             com.b.a.a.b(p2);
         }
         if (p1.renameTo(p2)) {
             return;
         } else {
             throw new java.io.IOException();
         }
     }

     }
 Lcom/b/a/a;.b()Ljava/io/OutputStream; {

     static synthetic java.io.OutputStream b()
     {
         return com.b.a.a.p;
     }

     }
 Lcom/b/a/a;.b(Lcom/b/a/a;)V {

     static synthetic void b(com.b.a.a p0)
     {
         p0.h();
         return;
     }

     }
 Lcom/b/a/a;.b(Ljava/io/File;)V {

     private static void b(java.io.File p1)
     {
         if ((!p1.exists()) || (p1.delete())) {
             return;
         } else {
             throw new java.io.IOException();
         }
     }

     }
 Lcom/b/a/a;.c()V {

     private void c()
     {
         com.b.a.f v1_1 = new com.b.a.f(new java.io.FileInputStream(this.d), com.b.a.g.a);
         try {
             int v0_2 = v1_1.a();
             int v2_2 = v1_1.a();
             boolean v3_0 = v1_1.a();
             String v4 = v1_1.a();
             String v5 = v1_1.a();
         } catch (int v0_14) {
             com.b.a.g.a(v1_1);
             throw v0_14;
         }
         if (("libcore.io.DiskLruCache".equals(v0_2)) && (("1".equals(v2_2)) && ((Integer.toString(this.g).equals(v3_0)) && ((Integer.toString(this.i).equals(v4)) && ("".equals(v5)))))) {
             int v0_3 = 0;
             try {
                 while(true) {
                     this.d(v1_1.a());
                     v0_3++;
                 }
             } catch (int v2) {
                 this.m = (v0_3 - this.l.size());
                 com.b.a.g.a(v1_1);
                 return;
             }
         } else {
             throw new java.io.IOException(new StringBuilder("unexpected journal header: [").append(v0_2).append(", ").append(v2_2).append(", ").append(v4).append(", ").append(v5).append("]").toString());
         }
     }

     }
 Lcom/b/a/a;.c(Lcom/b/a/a;)Z {

     static synthetic boolean c(com.b.a.a p1)
     {
         return p1.f();
     }

     }
 Lcom/b/a/a;.d()V {

     private void d()
     {
         com.b.a.a.b(this.e);
         java.util.Iterator v3 = this.l.values().iterator();
         while (v3.hasNext()) {
             com.b.a.d v0_5 = ((com.b.a.d) v3.next());
             if (v0_5.d != null) {
                 v0_5.d = 0;
                 int v1_2 = 0;
                 while (v1_2 < this.i) {
                     com.b.a.a.b(v0_5.a(v1_2));
                     com.b.a.a.b(v0_5.b(v1_2));
                     v1_2++;
                 }
                 v3.remove();
             } else {
                 int v1_3 = 0;
                 while (v1_3 < this.i) {
                     this.j = (this.j + v0_5.b[v1_3]);
                     v1_3++;
                 }
             }
         }
         return;
     }

     }
 Lcom/b/a/a;.d(Lcom/b/a/a;)V {

     static synthetic void d(com.b.a.a p0)
     {
         p0.e();
         return;
     }

     }
 Lcom/b/a/a;.d(Ljava/lang/String;)V {

     private void d(String p9)
     {
         String v2_0 = p9.indexOf(32);
         if (v2_0 != -1) {
             com.b.a.b v1_1;
             boolean v0_0 = (v2_0 + 1);
             int v3 = p9.indexOf(32, v0_0);
             if (v3 != -1) {
                 v1_1 = p9.substring(v0_0, v3);
                 boolean v0_5 = ((com.b.a.d) this.l.get(v1_1));
                 if (!v0_5) {
                     v0_5 = new com.b.a.d(this, v1_1, 0);
                     this.l.put(v1_1, v0_5);
                 }
                 if ((v3 == -1) || ((v2_0 != 5) || (!p9.startsWith("CLEAN")))) {
                     if ((v3 != -1) || ((v2_0 != 5) || (!p9.startsWith("DIRTY")))) {
                         if ((v3 != -1) || ((v2_0 != 4) || (!p9.startsWith("READ")))) {
                             throw new java.io.IOException(new StringBuilder("unexpected journal line: ").append(p9).toString());
                         }
                     } else {
                         v0_5.d = new com.b.a.b(this, v0_5, 0);
                     }
                 } else {
                     com.b.a.b v1_17 = p9.substring((v3 + 1)).split(" ");
                     v0_5.c = 1;
                     v0_5.d = 0;
                     v0_5.a(v1_17);
                 }
             } else {
                 boolean v0_2 = p9.substring(v0_0);
                 if ((v2_0 != 6) || (!p9.startsWith("REMOVE"))) {
                     v1_1 = v0_2;
                 } else {
                     this.l.remove(v0_2);
                 }
             }
             return;
         } else {
             throw new java.io.IOException(new StringBuilder("unexpected journal line: ").append(p9).toString());
         }
     }

     }
 Lcom/b/a/a;.e(Lcom/b/a/a;)I {

     static synthetic int e(com.b.a.a p1)
     {
         p1.m = 0;
         return 0;
     }

     }
 Lcom/b/a/a;.e()V {

     private declared_synchronized void e()
     {
         try {
             if (this.k != null) {
                 this.k.close();
             }
         } catch (java.io.BufferedWriter v0_32) {
             throw v0_32;
         }
         java.io.OutputStreamWriter v1_1 = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(this.e), com.b.a.g.a));
         try {
             v1_1.write("libcore.io.DiskLruCache");
             v1_1.write("\n");
             v1_1.write("1");
             v1_1.write("\n");
             v1_1.write(Integer.toString(this.g));
             v1_1.write("\n");
             v1_1.write(Integer.toString(this.i));
             v1_1.write("\n");
             v1_1.write("\n");
             java.io.FileOutputStream v2_2 = this.l.values().iterator();
         } catch (java.io.BufferedWriter v0_31) {
             v1_1.close();
             throw v0_31;
         }
         while (v2_2.hasNext()) {
             java.io.BufferedWriter v0_26 = ((com.b.a.d) v2_2.next());
             if (v0_26.d == null) {
                 v1_1.write(new StringBuilder("CLEAN ").append(v0_26.a).append(v0_26.a()).append(10).toString());
             } else {
                 v1_1.write(new StringBuilder("DIRTY ").append(v0_26.a).append(10).toString());
             }
         }
         v1_1.close();
         if (this.d.exists()) {
             com.b.a.a.a(this.d, this.f, 1);
         }
         com.b.a.a.a(this.e, this.d, 0);
         this.f.delete();
         this.k = new java.io.BufferedWriter(new java.io.OutputStreamWriter(new java.io.FileOutputStream(this.d, 1), com.b.a.g.a));
         return;
     }

     }
 Lcom/b/a/a;.e(Ljava/lang/String;)V {

     private static void e(String p3)
     {
         if (com.b.a.a.a.matcher(p3).matches()) {
             return;
         } else {
             throw new IllegalArgumentException(new StringBuilder("keys must match regex [a-z0-9_-]{1,64}: \"").append(p3).append("\"").toString());
         }
     }

     }
 Lcom/b/a/a;.f(Lcom/b/a/a;)I {

     static synthetic int f(com.b.a.a p1)
     {
         return p1.i;
     }

     }
 Lcom/b/a/a;.f()Z {

     private boolean f()
     {
         if ((this.m < 2000) || (this.m < this.l.size())) {
             int v0_2 = 0;
         } else {
             v0_2 = 1;
         }
         return v0_2;
     }

     }
 Lcom/b/a/a;.g(Lcom/b/a/a;)Ljava/io/File; {

     static synthetic java.io.File g(com.b.a.a p1)
     {
         return p1.c;
     }

     }
 Lcom/b/a/a;.g()V {

     private void g()
     {
         if (this.k != null) {
             return;
         } else {
             throw new IllegalStateException("cache is closed");
         }
     }

     }
 Lcom/b/a/a;.h()V {

     private void h()
     {
         while (this.j > this.h) {
             this.c(((String) ((java.util.Map$Entry) this.l.entrySet().iterator().next()).getKey()));
         }
         return;
     }

     }
 Lcom/b/a/a;.i()V {

     private void i()
     {
         this.close();
         com.b.a.g.a(this.c);
         return;
     }

     }
 Lcom/b/a/a;.a(Ljava/lang/String;)Lcom/b/a/e; {

     public final declared_synchronized com.b.a.e a(String p10)
     {
         com.b.a.e v1_0 = 0;
         try {
             this.g();
             com.b.a.a.e(p10);
             int v0_2 = ((com.b.a.d) this.l.get(p10));
         } catch (int v0_4) {
             throw v0_4;
         }
         if ((v0_2 != 0) && (v0_2.c)) {
             java.io.InputStream[] v6 = new java.io.InputStream[this.i];
             String v3_2 = 0;
             try {
                 while (v3_2 < this.i) {
                     v6[v3_2] = new java.io.FileInputStream(v0_2.a(v3_2));
                     v3_2++;
                 }
             } catch (int v0) {
                 int v0_3 = 0;
             }
             this.m = (this.m + 1);
             this.k.append(new StringBuilder("READ ").append(p10).append(10).toString());
             if (this.f()) {
                 this.b.submit(this.o);
             }
             v1_0 = new com.b.a.e(this, p10, v0_2.e, v6, v0_2.b, 0);
         }
         return v1_0;
     }

     }
 Lcom/b/a/a;.a()V {

     public final declared_synchronized void a()
     {
         try {
             this.g();
             this.h();
             this.k.flush();
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/b/a/a;.b(Ljava/lang/String;)Lcom/b/a/b; {

     public final declared_synchronized com.b.a.b b(String p7)
     {
         try {
             java.io.Writer v0_3;
             this.g();
             com.b.a.a.e(p7);
             java.io.Writer v0_2 = ((com.b.a.d) this.l.get(p7));
         } catch (java.io.Writer v0_6) {
             throw v0_6;
         }
         if ((-1 == -1) || ((v0_2 != null) && (v0_2.e == -1))) {
             java.io.Writer v1_1;
             if (v0_2 != null) {
                 if (v0_2.d == null) {
                     v1_1 = v0_2;
                 } else {
                     v0_3 = 0;
                     return v0_3;
                 }
             } else {
                 java.io.Writer v0_5 = new com.b.a.d(this, p7, 0);
                 this.l.put(p7, v0_5);
                 v1_1 = v0_5;
             }
             v0_3 = new com.b.a.b(this, v1_1, 0);
             v1_1.d = v0_3;
             this.k.write(new StringBuilder("DIRTY ").append(p7).append(10).toString());
             this.k.flush();
         } else {
             v0_3 = 0;
         }
         return v0_3;
     }

     }
 Lcom/b/a/a;.c(Ljava/lang/String;)Z {

     public final declared_synchronized boolean c(String p7)
     {
         String v1_0 = 0;
         try {
             java.io.IOException v0_9;
             this.g();
             com.b.a.a.e(p7);
             java.io.IOException v0_2 = ((com.b.a.d) this.l.get(p7));
         } catch (java.io.IOException v0_12) {
             throw v0_12;
         }
         if ((v0_2 != null) && (v0_2.d == null)) {
             while (v1_0 < this.i) {
                 long[] v2_4 = v0_2.a(v1_0);
                 if ((!v2_4.exists()) || (v2_4.delete())) {
                     this.j = (this.j - v0_2.b[v1_0]);
                     v0_2.b[v1_0] = 0;
                     v1_0++;
                 } else {
                     throw new java.io.IOException(new StringBuilder("failed to delete ").append(v2_4).toString());
                 }
             }
             this.m = (this.m + 1);
             this.k.append(new StringBuilder("REMOVE ").append(p7).append(10).toString());
             this.l.remove(p7);
             if (this.f()) {
                 this.b.submit(this.o);
             }
             v0_9 = 1;
         } else {
             v0_9 = 0;
         }
         return v0_9;
     }

     }
 Lcom/b/a/a;.close()V {

     public final declared_synchronized void close()
     {
         try {
             if (this.k != null) {
                 java.util.Iterator v1_2 = new java.util.ArrayList(this.l.values()).iterator();
                 while (v1_2.hasNext()) {
                     com.b.a.b v0_7 = ((com.b.a.d) v1_2.next());
                     if (v0_7.d != null) {
                         v0_7.d.c();
                     }
                 }
                 this.h();
                 this.k.close();
                 this.k = 0;
             }
         } catch (com.b.a.b v0_8) {
             throw v0_8;
         }
         return;
     }

     }
 Lcom/b/a/b;.<init>(Lcom/b/a/a; Lcom/b/a/d;)V {

     private b(com.b.a.a p2, com.b.a.d p3)
     {
         boolean[] v0_2;
         this.d = p2;
         this.a = p3;
         if (!p3.c) {
             v0_2 = new boolean[com.b.a.a.f(p2)];
         } else {
             v0_2 = 0;
         }
         this.b = v0_2;
         return;
     }

     }
 Lcom/b/a/b;.<init>(Lcom/b/a/a; Lcom/b/a/d; B)V {

     synthetic b(com.b.a.a p1, com.b.a.d p2, byte p3)
     {
         this(p1, p2);
         return;
     }

     }
 Lcom/b/a/b;.a()Ljava/io/OutputStream; {

     public final java.io.OutputStream a()
     {
         try {
             if (this.a.d == this) {
                 if (!this.a.c) {
                     this.b[0] = 1;
                 }
                 java.io.FileOutputStream v1_3 = new java.io.FileOutputStream(this.a.b(0));
                 java.io.OutputStream v0_12 = new com.b.a.c(this, v1_3, 0);
                 return v0_12;
             } else {
                 throw new IllegalStateException();
             }
         } catch (java.io.OutputStream v0_16) {
             throw v0_16;
         }
     }

     }
 Lcom/b/a/b;.b()V {

     public final void b()
     {
         if (!this.c) {
             com.b.a.a.a(this.d, this, 1);
         } else {
             com.b.a.a.a(this.d, this, 0);
             this.d.c(this.a.a);
         }
         this.e = 1;
         return;
     }

     }
 Lcom/b/a/b;.c()V {

     public final void c()
     {
         com.b.a.a.a(this.d, this, 0);
         return;
     }

     }
 Lcom/b/a/c;.<init>(Lcom/b/a/b; Ljava/io/OutputStream;)V {

     private c(com.b.a.b p1, java.io.OutputStream p2)
     {
         this.a = p1;
         this(p2);
         return;
     }

     }
 Lcom/b/a/c;.<init>(Lcom/b/a/b; Ljava/io/OutputStream; B)V {

     synthetic c(com.b.a.b p1, java.io.OutputStream p2, byte p3)
     {
         this(p1, p2);
         return;
     }

     }
 Lcom/b/a/c;.close()V {

     public final void close()
     {
         try {
             this.out.close();
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     }
 Lcom/b/a/c;.flush()V {

     public final void flush()
     {
         try {
             this.out.flush();
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     }
 Lcom/b/a/c;.write(I)V {

     public final void write(int p3)
     {
         try {
             this.out.write(p3);
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     }
 Lcom/b/a/c;.write([B I I)V {

     public final void write(byte[] p3, int p4, int p5)
     {
         try {
             this.out.write(p3, p4, p5);
         } catch (com.b.a.b v0) {
             this.a.c = 1;
         }
         return;
     }

     }
 Lcom/b/a/d;.<init>(Lcom/b/a/a; Ljava/lang/String;)V {

     private d(com.b.a.a p2, String p3)
     {
         this.f = p2;
         this.a = p3;
         long[] v0_1 = new long[com.b.a.a.f(p2)];
         this.b = v0_1;
         return;
     }

     }
 Lcom/b/a/d;.<init>(Lcom/b/a/a; Ljava/lang/String; B)V {

     synthetic d(com.b.a.a p1, String p2, byte p3)
     {
         this(p1, p2);
         return;
     }

     }
 Lcom/b/a/d;.b([Ljava/lang/String;)Ljava/io/IOException; {

     private static java.io.IOException b(String[] p3)
     {
         throw new java.io.IOException(new StringBuilder("unexpected journal line: ").append(java.util.Arrays.toString(p3)).toString());
     }

     }
 Lcom/b/a/d;.a(I)Ljava/io/File; {

     public final java.io.File a(int p5)
     {
         return new java.io.File(com.b.a.a.g(this.f), new StringBuilder().append(this.a).append(".").append(p5).toString());
     }

     }
 Lcom/b/a/d;.a()Ljava/lang/String; {

     public final String a()
     {
         StringBuilder v1_1 = new StringBuilder();
         long[] v2 = this.b;
         int v3 = v2.length;
         String v0_0 = 0;
         while (v0_0 < v3) {
             v1_1.append(32).append(v2[v0_0]);
             v0_0++;
         }
         return v1_1.toString();
     }

     }
 Lcom/b/a/d;.a([Ljava/lang/String;)V {

     final void a(String[] p5)
     {
         if (p5.length == com.b.a.a.f(this.f)) {
             int v0_1 = 0;
             try {
                 while (v0_1 < p5.length) {
                     this.b[v0_1] = Long.parseLong(p5[v0_1]);
                     v0_1++;
                 }
             } catch (int v0) {
                 throw com.b.a.d.b(p5);
             }
             return;
         } else {
             throw com.b.a.d.b(p5);
         }
     }

     }
 Lcom/b/a/d;.b(I)Ljava/io/File; {

     public final java.io.File b(int p5)
     {
         return new java.io.File(com.b.a.a.g(this.f), new StringBuilder().append(this.a).append(".").append(p5).append(".tmp").toString());
     }

     }
 Lcom/b/a/e;.<init>(Lcom/b/a/a; Ljava/lang/String; J [Ljava/io/InputStream; [J)V {

     private e(com.b.a.a p2, String p3, long p4, java.io.InputStream[] p6, long[] p7)
     {
         this.b = p2;
         this.c = p3;
         this.d = p4;
         this.a = p6;
         this.e = p7;
         return;
     }

     }
 Lcom/b/a/e;.<init>(Lcom/b/a/a; Ljava/lang/String; J [Ljava/io/InputStream; [J B)V {

     synthetic e(com.b.a.a p2, String p3, long p4, java.io.InputStream[] p6, long[] p7, byte p8)
     {
         this(p2, p3, p4, p6, p7);
         return;
     }

     }
 Lcom/b/a/e;.close()V {

     public final void close()
     {
         java.io.InputStream[] v1 = this.a;
         int v2 = v1.length;
         int v0 = 0;
         while (v0 < v2) {
             com.b.a.g.a(v1[v0]);
             v0++;
         }
         return;
     }

     }
 Lcom/b/a/f$1;.<init>(Lcom/b/a/f; I)V {

     f$1(com.b.a.f p1, int p2)
     {
         this.a = p1;
         this(p2);
         return;
     }

     }
 Lcom/b/a/f$1;.toString()Ljava/lang/String; {

     public final String toString()
     {
         if ((this.count <= 0) || (this.buf[(this.count - 1)] != 13)) {
             java.io.UnsupportedEncodingException v0_3 = this.count;
         } else {
             v0_3 = (this.count - 1);
         }
         try {
             return new String(this.buf, 0, v0_3, this.a.a.name());
         } catch (java.io.UnsupportedEncodingException v0_5) {
             throw new AssertionError(v0_5);
         }
     }

     }
 Lcom/b/a/f;.<init>(Ljava/io/InputStream; Ljava/nio/charset/Charset;)V {

     public f(java.io.InputStream p2, java.nio.charset.Charset p3)
     {
         this(p2, p3, 0);
         return;
     }

     }
 Lcom/b/a/f;.<init>(Ljava/io/InputStream; Ljava/nio/charset/Charset; B)V {

     private f(java.io.InputStream p3, java.nio.charset.Charset p4, byte p5)
     {
         if ((p3 != null) && (p4 != null)) {
             if (p4.equals(com.b.a.g.a)) {
                 this.b = p3;
                 this.a = p4;
                 byte[] v0_3 = new byte[8192];
                 this.c = v0_3;
                 return;
             } else {
                 throw new IllegalArgumentException("Unsupported encoding");
             }
         } else {
             throw new NullPointerException();
         }
     }

     }
 Lcom/b/a/f;.b()V {

     private void b()
     {
         java.io.EOFException v0_1 = this.b.read(this.c, 0, this.c.length);
         if (v0_1 != -1) {
             this.d = 0;
             this.e = v0_1;
             return;
         } else {
             throw new java.io.EOFException();
         }
     }

     }
 Lcom/b/a/f;.a()Ljava/lang/String; {

     public final String a()
     {
         try {
             if (this.c != null) {
                 if (this.d >= this.e) {
                     this.b();
                 }
                 byte[] v2_0 = this.d;
                 while (v2_0 != this.e) {
                     if (this.c[v2_0] != 10) {
                         v2_0++;
                     } else {
                         if ((v2_0 == this.d) || (this.c[(v2_0 - 1)] != 13)) {
                             int v1_5 = v2_0;
                         } else {
                             v1_5 = (v2_0 - 1);
                         }
                         String v0_10 = new String(this.c, this.d, (v1_5 - this.d), this.a.name());
                         this.d = (v2_0 + 1);
                     }
                     return v0_10;
                 }
                 int v1_2 = new com.b.a.f$1(this, ((this.e - this.d) + 80));
                 do {
                     v1_2.write(this.c, this.d, (this.e - this.d));
                     this.e = -1;
                     this.b();
                     String v0_8 = this.d;
                     if (v0_8 != this.e) {
                         break;
                     }
                 } while(v0_8 != this.e);
                 if (this.c[v0_8] != 10) {
                     v0_8++;
                     while (v0_8 == this.e) {
                     }
                 } else {
                     if (v0_8 != this.d) {
                         v1_2.write(this.c, this.d, (v0_8 - this.d));
                     }
                     this.d = (v0_8 + 1);
                     v0_10 = v1_2.toString();
                 }
                 return v0_10;
             } else {
                 throw new java.io.IOException("LineReader is closed");
             }
         } catch (String v0_20) {
             throw v0_20;
         }
     }

     }
 Lcom/b/a/f;.close()V {

     public final void close()
     {
         try {
             if (this.c != null) {
                 this.c = 0;
                 this.b.close();
             }
         } catch (java.io.InputStream v0_3) {
             throw v0_3;
         }
         return;
     }

     }
 Lcom/b/a/g;.<clinit>()V {

     static g()
     {
         com.b.a.g.a = java.nio.charset.Charset.forName("US-ASCII");
         com.b.a.g.b = java.nio.charset.Charset.forName("UTF-8");
         return;
     }

     }
 Lcom/b/a/g;.a(Ljava/io/Closeable;)V {

     static void a(java.io.Closeable p1)
     {
         if (p1 != null) {
             try {
                 p1.close();
             } catch (Exception v0) {
                 throw v0;
             } catch (Exception v0) {
             }
         }
         return;
     }

     }
 Lcom/b/a/g;.a(Ljava/io/File;)V {

     static void a(java.io.File p5)
     {
         String v1_0 = p5.listFiles();
         if (v1_0 != null) {
             String v2_0 = v1_0.length;
             int v0_0 = 0;
             while (v0_0 < v2_0) {
                 String v3 = v1_0[v0_0];
                 if (v3.isDirectory()) {
                     com.b.a.g.a(v3);
                 }
                 if (v3.delete()) {
                     v0_0++;
                 } else {
                     throw new java.io.IOException(new StringBuilder("failed to delete file: ").append(v3).toString());
                 }
             }
             return;
         } else {
             throw new java.io.IOException(new StringBuilder("not a readable directory: ").append(p5).toString());
         }
     }

     }
 Lcom/c/a;.<init>(Ljava/lang/String; Ljava/lang/String;)V {

     public a(String p4, String p5)
     {
         this.a = new javax.crypto.spec.IvParameterSpec(p5.getBytes());
         this.b = new javax.crypto.spec.SecretKeySpec(p4.getBytes(), "AES");
         try {
             this.c = javax.crypto.Cipher.getInstance("AES/CBC/NoPadding");
         } catch (javax.crypto.NoSuchPaddingException v0_7) {
             v0_7.printStackTrace();
         } catch (javax.crypto.NoSuchPaddingException v0_6) {
             v0_6.printStackTrace();
         }
         return;
     }

     }
 Lcom/c/a;.a([B)Ljava/lang/String; {

     public static String a(byte[] p6)
     {
         String v0_1;
         if (p6 != null) {
             int v2 = p6.length;
             v0_1 = "";
             int v1_1 = 0;
             while (v1_1 < v2) {
                 if ((p6[v1_1] & 255) >= 16) {
                     v0_1 = new StringBuilder().append(v0_1).append(Integer.toHexString((p6[v1_1] & 255))).toString();
                 } else {
                     v0_1 = new StringBuilder().append(v0_1).append("0").append(Integer.toHexString((p6[v1_1] & 255))).toString();
                 }
                 v1_1++;
             }
         } else {
             v0_1 = 0;
         }
         return v0_1;
     }

     }
 Lcom/c/a;.b(Ljava/lang/String;)Ljava/lang/String; {

     private static String b(String p4)
     {
         int v1 = (16 - (p4.length() % 16));
         int v0_2 = 0;
         while (v0_2 < v1) {
             p4 = new StringBuilder().append(p4).append(32).toString();
             v0_2++;
         }
         return p4;
     }

     }
 Lcom/c/a;.a(Ljava/lang/String;)[B {

     public final byte[] a(String p5)
     {
         if ((p5 != null) && (p5.length() != 0)) {
             try {
                 this.c.init(1, this.b, this.a);
                 return this.c.doFinal(com.c.a.b(p5).getBytes());
             } catch (String v0_4) {
                 throw new Exception(new StringBuilder("[encrypt] ").append(v0_4.getMessage()).toString());
             }
         } else {
             throw new Exception("Empty string");
         }
     }

     }
 Lcom/c/b;.<clinit>()V {

     static b()
     {
         com.c.b.d = 0;
         return;
     }

     }
 Lcom/c/b;.<init>(Landroid/content/Context; Lcom/c/g;)V {

     public b(android.content.Context p4, com.c.g p5)
     {
         this.a = p4.getSharedPreferences("mat_queue", 0);
         this.b = new java.util.concurrent.Semaphore(1, 1);
         this.c = p5;
         return;
     }

     }
 Lcom/c/b;.a(J)J {

     static synthetic long a(long p0)
     {
         com.c.b.d = p0;
         return p0;
     }

     }
 Lcom/c/b;.a(Lcom/c/b;)Ljava/util/concurrent/Semaphore; {

     static synthetic java.util.concurrent.Semaphore a(com.c.b p1)
     {
         return p1.b;
     }

     }
 Lcom/c/b;.b()J {

     static synthetic long b()
     {
         return com.c.b.d;
     }

     }
 Lcom/c/b;.b(Lcom/c/b;)Lcom/c/g; {

     static synthetic com.c.g b(com.c.b p1)
     {
         return p1.c;
     }

     }
 Lcom/c/b;.a()I {

     protected final declared_synchronized int a()
     {
         try {
             return this.a.getInt("queuesize", 0);
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/b;.a(I)V {

     protected final declared_synchronized void a(int p3)
     {
         try {
             Throwable v0_1 = this.a.edit();
         } catch (Throwable v0_2) {
             throw v0_2;
         }
         if (p3 < 0) {
             p3 = 0;
         }
         v0_1.putInt("queuesize", p3);
         v0_1.commit();
         return;
     }

     }
 Lcom/c/b;.a(Ljava/lang/String;)V {

     protected final declared_synchronized void a(String p2)
     {
         try {
             this.a((this.a() - 1));
             Throwable v0_3 = this.a.edit();
             v0_3.remove(p2);
             v0_3.commit();
             return;
         } catch (Throwable v0_4) {
             throw v0_4;
         }
     }

     }
 Lcom/c/b;.a(Lorg/json/JSONObject; Ljava/lang/String;)V {

     protected final declared_synchronized void a(org.json.JSONObject p3, String p4)
     {
         try {
             Throwable v0_1 = this.a.edit();
             v0_1.putString(p4, p3.toString());
             v0_1.commit();
             return;
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/b;.b(Ljava/lang/String;)Ljava/lang/String; {

     protected final declared_synchronized String b(String p3)
     {
         try {
             return this.a.getString(p3, 0);
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/c;.<init>(Lcom/c/b; Ljava/lang/String; Ljava/lang/String; Lorg/json/JSONObject; Z)V {

     protected c(com.c.b p2, String p3, String p4, org.json.JSONObject p5, boolean p6)
     {
         this.a = p2;
         this.b = 0;
         this.c = 0;
         this.d = 0;
         this.e = 0;
         this.b = p3;
         this.c = p4;
         this.d = p5;
         this.e = p6;
         return;
     }

     }
 Lcom/c/c;.run()V {

     public final void run()
     {
         try {
             com.c.b.a(this.a).acquire();
             java.util.concurrent.Semaphore v0_3 = new org.json.JSONObject();
             try {
                 v0_3.put("link", this.b);
                 v0_3.put("data", this.c);
                 v0_3.put("post_body", this.d);
                 v0_3.put("first_session", this.e);
             } catch (java.util.concurrent.Semaphore v0_4) {
                 android.util.Log.w("MobileAppTracker", "Failed creating event for queueing");
                 v0_4.printStackTrace();
                 com.c.b.a(this.a).release();
                 return;
             }
             String v1_7 = (this.a.a() + 1);
             this.a.a(v1_7);
             this.a.a(v0_3, Integer.toString(v1_7));
             com.c.b.a(this.a).release();
             return;
         } catch (java.util.concurrent.Semaphore v0_9) {
             android.util.Log.w("MobileAppTracker", "Interrupted adding event to queue");
             v0_9.printStackTrace();
             com.c.b.a(this.a).release();
             return;
         } catch (java.util.concurrent.Semaphore v0_12) {
             com.c.b.a(this.a).release();
             throw v0_12;
         }
     }

     }
 Lcom/c/d;.<init>(Lcom/c/b;)V {

     protected d(com.c.b p1)
     {
         this.a = p1;
         return;
     }

     }
 Lcom/c/d;.run()V {

     public final void run()
     {
         int v3 = this.a.a();
         if (v3 != 0) {
             try {
                 com.c.b.a(this.a).acquire();
                 int v0_3 = 1;
             } catch (int v0_15) {
                 com.c.b.a(this.a).release();
                 throw v0_15;
             } catch (int v0_12) {
                 v0_12.printStackTrace();
                 com.c.b.a(this.a).release();
             }
             if (v3 > 50) {
                 v0_3 = ((v3 - 50) + 1);
             }
             while (v0_3 <= v3) {
                 long v4_0 = Integer.toString(v0_3);
                 String v5_0 = this.a.b(v4_0);
                 if (v5_0 == null) {
                     android.util.Log.d("MobileAppTracker", "Null request skipped from queue");
                     this.a.a(v4_0);
                 } else {
                     try {
                         org.json.JSONException v1_5 = new org.json.JSONObject(v5_0);
                         long v6_0 = v1_5.getString("link");
                         org.json.JSONObject v2_3 = v1_5.getString("data");
                         StringBuilder v7_1 = v1_5.getJSONObject("post_body");
                     } catch (int v0_7) {
                         v0_7.printStackTrace();
                         this.a.a(v4_0);
                         com.c.b.a(this.a).release();
                         return;
                     }
                     if (v1_5.getBoolean("first_session")) {
                         com.c.b.b(this.a);
                         try {
                             com.c.b.b(this.a).l.wait(60000);
                         } catch (int v0_11) {
                             throw v0_11;
                         }
                     }
                     if (com.c.b.b(this.a) == null) {
                         android.util.Log.d("MobileAppTracker", "Dropping queued request because no MAT object was found");
                         this.a.a(v4_0);
                     } else {
                         if (!com.c.b.b(this.a).a(v6_0, v2_3, v7_1)) {
                             v0_3--;
                             org.json.JSONObject v2_5 = v6_0.indexOf("&sdk_retry_attempt=");
                             if (v2_5 > null) {
                                 org.json.JSONException v1_17 = -1;
                                 StringBuilder v7_2 = (v2_5 + 19);
                                 org.json.JSONObject v2_6 = (v7_2 + 1);
                                 try {
                                     while(true) {
                                         try {
                                             v1_17 = Integer.parseInt(v6_0.substring(v7_2, v2_6));
                                             v2_6++;
                                         } catch (org.json.JSONObject v2) {
                                             org.json.JSONException v1_21 = v6_0.replaceFirst("&sdk_retry_attempt=\\d+", new StringBuilder("&sdk_retry_attempt=").append((v1_17 + 1)).toString());
                                             try {
                                                 org.json.JSONObject v2_9 = new org.json.JSONObject(v5_0);
                                                 v2_9.put("link", v1_21);
                                                 this.a.a(v2_9, v4_0);
                                             } catch (org.json.JSONException v1_23) {
                                                 v1_23.printStackTrace();
                                             }
                                         }
                                     }
                                 } catch (org.json.JSONObject v2) {
                                 }
                             }
                             if (com.c.b.b() != 0) {
                                 if (com.c.b.b() > 30) {
                                     if (com.c.b.b() > 90) {
                                         if (com.c.b.b() > 600) {
                                             if (com.c.b.b() > 3600) {
                                                 com.c.b.a(86400);
                                             } else {
                                                 com.c.b.a(21600);
                                             }
                                         } else {
                                             com.c.b.a(3600);
                                         }
                                     } else {
                                         com.c.b.a(600);
                                     }
                                 } else {
                                     com.c.b.a(90);
                                 }
                             } else {
                                 com.c.b.a(30);
                             }
                             try {
                                 Thread.sleep(((long) (((1.0 + (0.1 * Math.random())) * ((double) com.c.b.b())) * 1000.0)));
                             } catch (org.json.JSONException v1) {
                             }
                         } else {
                             this.a.a(v4_0);
                             com.c.b.a(0);
                         }
                     }
                 }
                 v0_3++;
             }
             com.c.b.a(this.a).release();
         }
         return;
     }

     }
 Lcom/c/g;.<clinit>()V {

     static g()
     {
         com.c.g.t = 0;
         return;
     }

     }
 Lcom/c/g;.<init>()V {

     protected g()
     {
         this.o = "heF9BATUfWuISyO8";
         return;
     }

     }
 Lcom/c/g;.a()Lcom/c/g; {

     public static declared_synchronized com.c.g a()
     {
         try {
             return com.c.g.t;
         } catch (Throwable v1_1) {
             throw v1_1;
         }
     }

     }
 Lcom/c/g;.a(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String;)V {

     public static void a(android.content.Context p2, String p3, String p4)
     {
         void v0_1 = new com.c.g();
         com.c.g.t = v0_1;
         v0_1.k = p2.getApplicationContext();
         com.c.g.t.m = java.util.concurrent.Executors.newSingleThreadExecutor();
         com.c.g.t.a(p3, p4);
         return;
     }

     }
 Lcom/c/g;.a(Lcom/c/g; Ljava/lang/Object; Ljava/lang/String; Ljava/lang/String;)V {

     static synthetic void a(com.c.g p0, Object p1, String p2, String p3)
     {
         p0.a(p1, p2, p3);
         return;
     }

     }
 Lcom/c/g;.a(Ljava/lang/Object; Ljava/lang/String; Ljava/lang/String;)V {

     private declared_synchronized void a(Object p7, String p8, String p9)
     {
         try {
             if (this.d) {
                 this.b();
                 this.j.a("conversion");
                 com.c.h v0_3 = new java.util.Date();
                 if (!(p7 instanceof String)) {
                     if (!(p7 instanceof Integer)) {
                         android.util.Log.d("MobileAppTracker", "Received invalid event name or id value, not measuring event");
                     } else {
                         this.j.c(Integer.toString(((Integer) p7).intValue()));
                     }
                 } else {
                     if (p7.equals("close")) {
                     } else {
                         if ((!p7.equals("open")) && ((!p7.equals("install")) && ((!p7.equals("update")) && (!p7.equals("session"))))) {
                             this.j.d(((String) p7));
                         } else {
                             this.j.a("session");
                             new java.util.Date((v0_3.getTime() + 60000));
                         }
                     }
                 }
                 this.j.m(Double.toString(0));
                 this.j.b(p8);
                 this.j.l(p9);
                 com.c.h v0_12 = com.c.m.a(this.r, this.s);
                 boolean v1_19 = com.c.m.a();
                 org.json.JSONObject v2_4 = com.c.m.b();
                 if (this.b != null) {
                 }
                 this.a(v0_12, v1_19, v2_4, this.g);
                 this.g = 0;
                 this.b();
                 if (this.a != null) {
                 }
                 this.j.b();
             }
         } catch (com.c.h v0_15) {
             throw v0_15;
         }
         return;
     }

     }
 Lcom/c/g;.a(Ljava/lang/String; Ljava/lang/String;)V {

     private void a(String p6, String p7)
     {
         com.c.h.a(this.k, p6);
         this.j = com.c.h.a();
         this.l = java.util.concurrent.Executors.newSingleThreadExecutor();
         this.p = new com.c.r();
         this.q = new com.c.a(p7.trim(), "heF9BATUfWuISyO8");
         this.g = 1;
         this.d = 0;
         this.c = 0;
         this.r = 0;
         this.s = 0;
         this.n = new com.c.b(this.k, this);
         this.b();
         this.i = new com.c.s(this);
         if (this.c) {
             try {
                 this.k.unregisterReceiver(this.i);
             } catch (IllegalArgumentException v0) {
             }
             this.c = 0;
         }
         this.k.registerReceiver(this.i, new android.content.IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
         this.c = 1;
         this.d = 1;
         return;
     }

     }
 Lcom/c/g;.a(Ljava/lang/String; Ljava/lang/String; Lorg/json/JSONObject; Z)V {

     private void a(String p8, String p9, org.json.JSONObject p10, boolean p11)
     {
         java.util.concurrent.ExecutorService v6 = this.l;
         com.c.b v1 = this.n;
         v1.getClass();
         v6.execute(new com.c.c(v1, p8, p9, p10, p11));
         return;
     }

     }
 Lcom/c/g;.a(Landroid/content/Context;)Z {

     private static boolean a(android.content.Context p1)
     {
         int v0_5;
         int v0_3 = ((android.net.ConnectivityManager) p1.getSystemService("connectivity")).getActiveNetworkInfo();
         if ((v0_3 == 0) || (!v0_3.isConnected())) {
             v0_5 = 0;
         } else {
             v0_5 = 1;
         }
         return v0_5;
     }

     }
 Lcom/c/g;.a(Lcom/c/g; Z)Z {

     static synthetic boolean a(com.c.g p0, boolean p1)
     {
         p0.r = p1;
         return p1;
     }

     }
 Lcom/c/g;.a(Ljava/lang/String;)V {

     public final void a(String p3)
     {
         this.m.execute(new com.c.u(this, p3));
         return;
     }

     }
 Lcom/c/g;.a(Ljava/lang/String; Z)V {

     public final void a(String p4, boolean p5)
     {
         int v0;
         if (!p5) {
             v0 = 0;
         } else {
             v0 = 1;
         }
         this.m.execute(new com.c.j(this, p4, v0));
         return;
     }

     }
 Lcom/c/g;.a(Z)V {

     public final void a(boolean p3)
     {
         this.m.execute(new com.c.i(this, p3));
         return;
     }

     }
 Lcom/c/g;.a(Ljava/lang/String; Ljava/lang/String; Lorg/json/JSONObject;)Z {

     protected final boolean a(String p6, String p7, org.json.JSONObject p8)
     {
         boolean v1_0 = 1;
         com.c.e v0_0 = 0;
         if (this.r) {
             android.util.Log.d("MobileAppTracker", "Sending event to server...");
         }
         com.c.h v2_6 = this.p.a(new StringBuilder().append(p6).append("&data=").append(com.c.m.a(p7, this.q)).toString(), p8, this.r);
         if (v2_6 != null) {
             if (v2_6.has("success")) {
                 if (this.a != null) {
                     try {
                         if (v2_6.getString("success").equals("true")) {
                             v0_0 = 1;
                         }
                     } catch (boolean v1_1) {
                         v1_1.printStackTrace();
                         v1_0 = 0;
                         return v1_0;
                     }
                     // Both branches of the condition point to the same code.
                     // if (v0_0 == null) {
                     // }
                 }
                 try {
                     if (v2_6.getString("site_event_type").equals("open")) {
                         com.c.e v0_5 = v2_6.getString("log_id");
                         if (this.j.ac().equals("")) {
                             this.j.j(v0_5);
                         }
                         this.j.i(v0_5);
                     }
                 } catch (com.c.e v0) {
                 }
             } else {
                 if (this.r) {
                     android.util.Log.d("MobileAppTracker", "Request failed, event will remain in queue");
                 }
                 v1_0 = 0;
             }
         } else {
             // Both branches of the condition point to the same code.
             // if (this.a == null) {
             // }
         }
         return v1_0;
     }

     }
 Lcom/c/g;.b()V {

     protected final void b()
     {
         if (com.c.g.a(this.k)) {
             java.util.concurrent.ExecutorService v0_2 = this.l;
             com.c.b v2 = this.n;
             v2.getClass();
             v0_2.execute(new com.c.d(v2));
         }
         return;
     }

     }
 Lcom/c/g;.b(Ljava/lang/String;)V {

     public final void b(String p3)
     {
         this.m.execute(new com.c.k(this, p3));
         return;
     }

     }
 Lcom/c/g;.c()V {

     public final void c()
     {
         this.m.execute(new com.c.t(this));
         return;
     }

     }
 Lcom/c/g;.c(Ljava/lang/String;)V {

     public final void c(String p3)
     {
         this.m.execute(new com.c.l(this, p3));
         return;
     }

     }
 Lcom/c/g;.d()Ljava/lang/String; {

     public final String d()
     {
         return this.j.n();
     }

     }
 Lcom/c/g;.d(Ljava/lang/String;)V {

     public final void d(String p3)
     {
         this.m.execute(new com.c.n(this, p3));
         return;
     }

     }
 Lcom/c/g;.e()Ljava/lang/String; {

     public final String e()
     {
         return this.j.aj();
     }

     }
 Lcom/c/g;.e(Ljava/lang/String;)V {

     public final void e(String p3)
     {
         this.m.execute(new com.c.o(this, p3));
         return;
     }

     }
 Lcom/c/g;.f()V {

     public final void f()
     {
         this.m.execute(new com.c.p(this));
         return;
     }

     }
 Lcom/c/h;.<clinit>()V {

     static h()
     {
         com.c.h.b = 0;
         return;
     }

     }
 Lcom/c/h;.<init>()V {

     public h()
     {
         this.c = 0;
         this.d = 0;
         this.e = 0;
         this.f = 0;
         this.g = 0;
         this.h = 0;
         this.i = 0;
         this.j = 0;
         this.k = 0;
         this.l = 0;
         this.m = 0;
         this.n = 0;
         this.o = 0;
         this.p = 0;
         this.q = 0;
         this.r = 0;
         this.s = 0;
         this.t = 0;
         this.u = 0;
         this.v = 0;
         this.w = 0;
         this.x = 0;
         this.y = 0;
         this.z = 0;
         this.A = 0;
         this.B = 0;
         this.C = 0;
         this.D = 0;
         this.E = 0;
         this.F = 0;
         this.G = 0;
         this.H = 0;
         this.I = 0;
         this.J = 0;
         this.K = 0;
         this.L = 0;
         this.M = 0;
         this.N = 0;
         this.O = 0;
         this.P = 0;
         this.Q = 0;
         this.R = 0;
         this.S = 0;
         this.T = 0;
         this.U = 0;
         this.V = 0;
         this.W = 0;
         this.X = 0;
         this.Y = 0;
         this.Z = 0;
         this.aa = 0;
         this.ab = 0;
         this.ac = 0;
         this.ad = 0;
         this.ae = 0;
         this.af = 0;
         this.ag = 0;
         this.ah = 0;
         this.ai = 0;
         this.aj = 0;
         this.ak = 0;
         this.al = 0;
         this.am = 0;
         this.an = 0;
         this.ao = 0;
         this.ap = 0;
         this.aq = 0;
         this.ar = 0;
         this.as = 0;
         this.at = 0;
         this.au = 0;
         this.av = 0;
         this.aw = 0;
         this.ax = 0;
         this.ay = 0;
         this.az = 0;
         this.aA = 0;
         this.aB = 0;
         this.aC = 0;
         this.aD = 0;
         this.aE = 0;
         this.aF = 0;
         this.aG = 0;
         this.aH = 0;
         return;
     }

     }
 Lcom/c/h;.A(Ljava/lang/String;)V {

     private declared_synchronized void A(String p2)
     {
         try {
             this.R = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.B(Ljava/lang/String;)V {

     private declared_synchronized void B(String p3)
     {
         try {
             this.a("mat_id", "mat_id", p3);
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.C(Ljava/lang/String;)V {

     private declared_synchronized void C(String p2)
     {
         try {
             this.W = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.D(Ljava/lang/String;)V {

     private declared_synchronized void D(String p2)
     {
         try {
             this.X = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.E(Ljava/lang/String;)V {

     private declared_synchronized void E(String p2)
     {
         try {
             this.Y = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.F(Ljava/lang/String;)V {

     private declared_synchronized void F(String p2)
     {
         try {
             this.ag = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.G(Ljava/lang/String;)V {

     private declared_synchronized void G(String p2)
     {
         try {
             this.ah = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.H(Ljava/lang/String;)V {

     private declared_synchronized void H(String p2)
     {
         try {
             this.ai = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.a()Lcom/c/h; {

     public static com.c.h a()
     {
         return com.c.h.b;
     }

     }
 Lcom/c/h;.a(Ljava/lang/String; Ljava/lang/String;)Ljava/lang/String; {

     private declared_synchronized String a(String p3, String p4)
     {
         try {
             return this.a.getSharedPreferences(p3, 0).getString(p4, "");
         } catch (Throwable v0_3) {
             throw v0_3;
         }
     }

     }
 Lcom/c/h;.a(Landroid/content/Context; Ljava/lang/String;)V {

     public static void a(android.content.Context p1, String p2)
     {
         if (com.c.h.b == null) {
             com.c.h v0_2 = new com.c.h();
             com.c.h.b = v0_2;
             v0_2.a = p1;
             com.c.h.b.b(p1, p2);
         }
         return;
     }

     }
 Lcom/c/h;.a(Lcom/c/h; Ljava/lang/String;)V {

     static synthetic void a(com.c.h p0, String p1)
     {
         p0.an = p1;
         return;
     }

     }
 Lcom/c/h;.a(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V {

     private declared_synchronized void a(String p3, String p4, String p5)
     {
         try {
             this.a.getSharedPreferences(p3, 0).edit().putString(p4, p5).commit();
             return;
         } catch (Throwable v0_4) {
             throw v0_4;
         }
     }

     }
 Lcom/c/h;.aS()V {

     private declared_synchronized void aS()
     {
         try {
             this.u = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aT()V {

     private declared_synchronized void aT()
     {
         try {
             this.v = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aU()V {

     private declared_synchronized void aU()
     {
         try {
             this.w = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aV()V {

     private declared_synchronized void aV()
     {
         try {
             this.x = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aW()V {

     private declared_synchronized void aW()
     {
         try {
             this.y = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aX()V {

     private declared_synchronized void aX()
     {
         try {
             this.z = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aY()V {

     private declared_synchronized void aY()
     {
         try {
             this.A = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aZ()V {

     private declared_synchronized void aZ()
     {
         try {
             this.B = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.b(Landroid/content/Context; Ljava/lang/String;)Z {

     private declared_synchronized boolean b(android.content.Context p9, String p10)
     {
         try {
             this.p(p10.trim());
             this.b("USD");
             new android.os.Handler(android.os.Looper.getMainLooper()).post(new com.c.q(this, this.a));
             IndexOutOfBoundsException v0_5 = this.a.getPackageName();
             this.k(v0_5);
             String v3_4 = this.a.getPackageManager();
             try {
                 this.q(v3_4.getApplicationLabel(v3_4.getApplicationInfo(v0_5, 0)).toString());
                 this.y(Long.toString((new java.util.Date(new java.io.File(v3_4.getApplicationInfo(v0_5, 0).sourceDir).lastModified()).getTime() / 1000)));
             } catch (int v4) {
             }
             try {
                 this.r(Integer.toString(v3_4.getPackageInfo(v0_5, 0).versionCode));
             } catch (int v4) {
                 this.r("0");
             }
             String v3_7;
             IndexOutOfBoundsException v0_20;
             this.z(v3_4.getInstallerPackageName(v0_5));
             this.x(android.os.Build.MODEL);
             this.u(android.os.Build.MANUFACTURER);
             this.w(System.getProperty("os.arch"));
             this.E(android.os.Build$VERSION.RELEASE);
             this.F(Float.toString(p9.getResources().getDisplayMetrics().density));
             IndexOutOfBoundsException v0_18 = ((android.view.WindowManager) p9.getSystemService("window"));
             if (android.os.Build$VERSION.SDK_INT < 13) {
                 v3_7 = v0_18.getDefaultDisplay().getWidth();
                 v0_20 = v0_18.getDefaultDisplay().getHeight();
             } else {
                 int v4_19 = new android.graphics.Point();
                 v0_18.getDefaultDisplay().getSize(v4_19);
                 v3_7 = v4_19.x;
                 v0_20 = v4_19.y;
             }
             this.H(Integer.toString(v3_7));
             this.G(Integer.toString(v0_20));
             if (!((android.net.ConnectivityManager) this.a.getSystemService("connectivity")).getNetworkInfo(1).isConnected()) {
                 this.s("mobile");
             } else {
                 this.s("WIFI");
             }
             this.A(java.util.Locale.getDefault().getDisplayLanguage(java.util.Locale.US));
             IndexOutOfBoundsException v0_34 = ((android.telephony.TelephonyManager) this.a.getSystemService("phone"));
             if (v0_34 == null) {
                 this.t(java.util.Locale.getDefault().getCountry());
             } else {
                 if (v0_34.getNetworkCountryIso() != null) {
                     this.t(v0_34.getNetworkCountryIso());
                 }
                 this.v(v0_34.getNetworkOperatorName());
                 IndexOutOfBoundsException v0_37 = v0_34.getNetworkOperator();
                 if (v0_37 != null) {
                     try {
                         String v3_17 = v0_37.substring(0, 3);
                         IndexOutOfBoundsException v0_38 = v0_37.substring(3);
                         this.C(v3_17);
                         this.D(v0_38);
                     } catch (IndexOutOfBoundsException v0) {
                     }
                 }
             }
             IndexOutOfBoundsException v0_39 = this.Z();
             if ((v0_39 == null) || (v0_39.length() == 0)) {
                 this.B(java.util.UUID.randomUUID().toString());
             }
             IndexOutOfBoundsException v0_44 = 1;
             return v0_44;
         } catch (IndexOutOfBoundsException v0_45) {
             throw v0_45;
         } catch (IndexOutOfBoundsException v0_43) {
             android.util.Log.d("MobileAppTracker", "MobileAppTracker initialization failed");
             v0_43.printStackTrace();
             v0_44 = 0;
             return v0_44;
         }
     }

     }
 Lcom/c/h;.ba()V {

     private declared_synchronized void ba()
     {
         try {
             this.C = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bb()V {

     private declared_synchronized void bb()
     {
         try {
             this.E = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bc()V {

     private declared_synchronized void bc()
     {
         try {
             this.G = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bd()V {

     private declared_synchronized void bd()
     {
         try {
             this.H = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.be()V {

     private declared_synchronized void be()
     {
         try {
             this.I = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bf()V {

     private declared_synchronized void bf()
     {
         try {
             this.ao = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bg()V {

     private declared_synchronized void bg()
     {
         try {
             this.ap = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bh()V {

     private declared_synchronized void bh()
     {
         try {
             this.aq = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bi()V {

     private declared_synchronized void bi()
     {
         try {
             this.ar = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bj()V {

     private declared_synchronized void bj()
     {
         try {
             this.as = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bk()V {

     private declared_synchronized void bk()
     {
         try {
             this.at = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bl()V {

     private declared_synchronized void bl()
     {
         try {
             this.au = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bm()V {

     private declared_synchronized void bm()
     {
         try {
             this.av = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bn()V {

     private declared_synchronized void bn()
     {
         try {
             this.aw = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bo()V {

     private declared_synchronized void bo()
     {
         try {
             this.ax = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bp()V {

     private declared_synchronized void bp()
     {
         try {
             this.ay = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bq()V {

     private declared_synchronized void bq()
     {
         try {
             this.az = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.br()V {

     private declared_synchronized void br()
     {
         try {
             this.aA = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bs()V {

     private declared_synchronized void bs()
     {
         try {
             this.aB = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bt()V {

     private declared_synchronized void bt()
     {
         try {
             this.aC = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bu()V {

     private declared_synchronized void bu()
     {
         try {
             this.aD = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bv()V {

     private declared_synchronized void bv()
     {
         try {
             this.aE = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bw()V {

     private declared_synchronized void bw()
     {
         try {
             this.aF = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.bx()V {

     private declared_synchronized void bx()
     {
         try {
             this.aG = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.by()V {

     private declared_synchronized void by()
     {
         try {
             this.aH = 0;
             return;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.p(Ljava/lang/String;)V {

     private declared_synchronized void p(String p2)
     {
         try {
             this.d = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.q(Ljava/lang/String;)V {

     private declared_synchronized void q(String p2)
     {
         try {
             this.j = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.r(Ljava/lang/String;)V {

     private declared_synchronized void r(String p2)
     {
         try {
             this.k = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.s(Ljava/lang/String;)V {

     private declared_synchronized void s(String p2)
     {
         try {
             this.l = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.t(Ljava/lang/String;)V {

     private declared_synchronized void t(String p2)
     {
         try {
             this.m = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.u(Ljava/lang/String;)V {

     private declared_synchronized void u(String p2)
     {
         try {
             this.o = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.v(Ljava/lang/String;)V {

     private declared_synchronized void v(String p2)
     {
         try {
             this.p = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.w(Ljava/lang/String;)V {

     private declared_synchronized void w(String p2)
     {
         try {
             this.q = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.x(Ljava/lang/String;)V {

     private declared_synchronized void x(String p2)
     {
         try {
             this.t = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.y(Ljava/lang/String;)V {

     private declared_synchronized void y(String p2)
     {
         try {
             this.P = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.z(Ljava/lang/String;)V {

     private declared_synchronized void z(String p2)
     {
         try {
             this.Q = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.A()Ljava/lang/String; {

     public final declared_synchronized String A()
     {
         try {
             return this.A;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.B()Ljava/lang/String; {

     public final declared_synchronized String B()
     {
         try {
             return this.B;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.C()Ljava/lang/String; {

     public final declared_synchronized String C()
     {
         try {
             return this.C;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.D()Ljava/lang/String; {

     public final declared_synchronized String D()
     {
         try {
             return this.D;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.E()Ljava/lang/String; {

     public final declared_synchronized String E()
     {
         try {
             return this.E;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.F()Ljava/lang/String; {

     public final declared_synchronized String F()
     {
         try {
             return this.F;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.G()Ljava/lang/String; {

     public final declared_synchronized String G()
     {
         try {
             return this.G;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.H()Ljava/lang/String; {

     public final declared_synchronized String H()
     {
         try {
             return this.H;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.I()Ljava/lang/String; {

     public final declared_synchronized String I()
     {
         try {
             return this.I;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.J()Ljava/lang/String; {

     public final declared_synchronized String J()
     {
         try {
             return this.J;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.K()Ljava/lang/String; {

     public final declared_synchronized String K()
     {
         try {
             return this.K;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.L()Ljava/lang/String; {

     public final declared_synchronized String L()
     {
         try {
             return this.L;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.M()Ljava/lang/String; {

     public final declared_synchronized String M()
     {
         try {
             return this.M;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.N()Ljava/lang/String; {

     public final declared_synchronized String N()
     {
         try {
             return this.N;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.O()Ljava/lang/String; {

     public final declared_synchronized String O()
     {
         try {
             return this.O;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.P()Ljava/lang/String; {

     public final declared_synchronized String P()
     {
         try {
             return this.P;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.Q()Ljava/lang/String; {

     public final declared_synchronized String Q()
     {
         try {
             return this.Q;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.R()Ljava/lang/String; {

     public final declared_synchronized String R()
     {
         try {
             return this.a("mat_log_id_install", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.S()Ljava/lang/String; {

     public final declared_synchronized String S()
     {
         try {
             return this.a("mat_referrer", "referrer");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.T()Ljava/lang/String; {

     public final declared_synchronized String T()
     {
         try {
             return this.a("mat_is_paying_user", "mat_is_paying_user");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.U()Ljava/lang/String; {

     public final declared_synchronized String U()
     {
         try {
             return this.R;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.V()Ljava/lang/String; {

     public final declared_synchronized String V()
     {
         try {
             return this.a("mat_log_id_last_open", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.W()Ljava/lang/String; {

     public final declared_synchronized String W()
     {
         try {
             return this.S;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.X()Ljava/lang/String; {

     public final declared_synchronized String X()
     {
         try {
             return this.U;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.Y()Ljava/lang/String; {

     public final declared_synchronized String Y()
     {
         try {
             return this.V;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.Z()Ljava/lang/String; {

     public final declared_synchronized String Z()
     {
         try {
             return this.a("mat_id", "mat_id");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.a(Ljava/lang/String;)V {

     public final declared_synchronized void a(String p2)
     {
         try {
             this.c = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.aA()Ljava/lang/String; {

     public final declared_synchronized String aA()
     {
         try {
             return this.aq;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aB()Ljava/lang/String; {

     public final declared_synchronized String aB()
     {
         try {
             return this.ar;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aC()Ljava/lang/String; {

     public final declared_synchronized String aC()
     {
         try {
             return this.as;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aD()Ljava/lang/String; {

     public final declared_synchronized String aD()
     {
         try {
             return this.at;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aE()Ljava/lang/String; {

     public final declared_synchronized String aE()
     {
         try {
             return this.au;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aF()Ljava/lang/String; {

     public final declared_synchronized String aF()
     {
         try {
             return this.av;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aG()Ljava/lang/String; {

     public final declared_synchronized String aG()
     {
         try {
             return this.aw;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aH()Ljava/lang/String; {

     public final declared_synchronized String aH()
     {
         try {
             return this.ax;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aI()Ljava/lang/String; {

     public final declared_synchronized String aI()
     {
         try {
             return this.ay;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aJ()Ljava/lang/String; {

     public final declared_synchronized String aJ()
     {
         try {
             return this.az;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aK()Ljava/lang/String; {

     public final declared_synchronized String aK()
     {
         try {
             return this.aA;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aL()Ljava/lang/String; {

     public final declared_synchronized String aL()
     {
         try {
             return this.aB;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aM()Ljava/lang/String; {

     public final declared_synchronized String aM()
     {
         try {
             return this.aC;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aN()Ljava/lang/String; {

     public final declared_synchronized String aN()
     {
         try {
             return this.aD;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aO()Ljava/lang/String; {

     public final declared_synchronized String aO()
     {
         try {
             return this.aE;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aP()Ljava/lang/String; {

     public final declared_synchronized String aP()
     {
         try {
             return this.aF;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aQ()Ljava/lang/String; {

     public final declared_synchronized String aQ()
     {
         try {
             return this.aG;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aR()Ljava/lang/String; {

     public final declared_synchronized String aR()
     {
         try {
             return this.aH;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aa()Ljava/lang/String; {

     public final declared_synchronized String aa()
     {
         try {
             return this.W;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ab()Ljava/lang/String; {

     public final declared_synchronized String ab()
     {
         try {
             return this.X;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ac()Ljava/lang/String; {

     public final declared_synchronized String ac()
     {
         try {
             return this.a("mat_log_id_open", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.ad()Ljava/lang/String; {

     public final declared_synchronized String ad()
     {
         try {
             return this.Y;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ae()Ljava/lang/String; {

     public final declared_synchronized String ae()
     {
         try {
             return this.Z;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.af()Ljava/lang/String; {

     public final declared_synchronized String af()
     {
         try {
             return this.aa;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ag()Ljava/lang/String; {

     public final declared_synchronized String ag()
     {
         try {
             return this.ab;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ah()Ljava/lang/String; {

     public final declared_synchronized String ah()
     {
         try {
             return this.ac;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ai()Ljava/lang/String; {

     public final declared_synchronized String ai()
     {
         try {
             return this.ad;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aj()Ljava/lang/String; {

     public final declared_synchronized String aj()
     {
         try {
             return this.ae;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ak()Ljava/lang/String; {

     public final declared_synchronized String ak()
     {
         try {
             return this.af;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.al()Ljava/lang/String; {

     public final declared_synchronized String al()
     {
         try {
             return this.ag;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.am()Ljava/lang/String; {

     public final declared_synchronized String am()
     {
         try {
             return this.ah;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.an()Ljava/lang/String; {

     public final declared_synchronized String an()
     {
         try {
             return this.ai;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ao()Ljava/lang/String; {

     public final declared_synchronized String ao()
     {
         try {
             return "3.4.2";
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ap()Ljava/lang/String; {

     public final declared_synchronized String ap()
     {
         try {
             return this.aj;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.aq()Ljava/lang/String; {

     public final declared_synchronized String aq()
     {
         try {
             return this.ak;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.ar()Ljava/lang/String; {

     public final declared_synchronized String ar()
     {
         try {
             return this.al;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.as()Ljava/lang/String; {

     public final declared_synchronized String as()
     {
         try {
             return this.am;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.at()Ljava/lang/String; {

     public final declared_synchronized String at()
     {
         try {
             return this.a("mat_log_id_update", "logId");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.au()Ljava/lang/String; {

     public final declared_synchronized String au()
     {
         try {
             return this.an;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.av()Ljava/lang/String; {

     public final declared_synchronized String av()
     {
         try {
             return this.a("mat_user_ids", "user_email");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.aw()Ljava/lang/String; {

     public final declared_synchronized String aw()
     {
         try {
             return this.a("mat_user_ids", "user_id");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.ax()Ljava/lang/String; {

     public final declared_synchronized String ax()
     {
         try {
             return this.a("mat_user_ids", "user_name");
         } catch (Throwable v0_2) {
             throw v0_2;
         }
     }

     }
 Lcom/c/h;.ay()Ljava/lang/String; {

     public final declared_synchronized String ay()
     {
         try {
             return this.ao;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.az()Ljava/lang/String; {

     public final declared_synchronized String az()
     {
         try {
             return this.ap;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.b()V {

     public final declared_synchronized void b()
     {
         try {
             this.c(0);
             this.d(0);
             this.m(0);
             this.b("USD");
             this.l(0);
             this.aY();
             this.aX();
             this.bb();
             this.bc();
             this.be();
             this.bd();
             this.aZ();
             this.ba();
             this.aS();
             this.aT();
             this.aU();
             this.aV();
             this.aW();
             this.bg();
             this.bf();
             this.bh();
             this.bu();
             this.bv();
             this.bw();
             this.bx();
             this.by();
             this.bs();
             this.br();
             this.bq();
             this.bt();
             this.bo();
             this.bp();
             this.bm();
             this.bl();
             this.bk();
             this.bn();
             this.bi();
             this.bj();
             return;
         } catch (Throwable v0_5) {
             throw v0_5;
         }
     }

     }
 Lcom/c/h;.b(Ljava/lang/String;)V {

     public final declared_synchronized void b(String p2)
     {
         try {
             this.n = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.c()Ljava/lang/String; {

     public final declared_synchronized String c()
     {
         try {
             return this.c;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.c(Ljava/lang/String;)V {

     public final declared_synchronized void c(String p2)
     {
         try {
             this.D = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.d()Ljava/lang/String; {

     public final declared_synchronized String d()
     {
         try {
             return this.d;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.d(Ljava/lang/String;)V {

     public final declared_synchronized void d(String p2)
     {
         try {
             this.F = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.e()Ljava/lang/String; {

     public final declared_synchronized String e()
     {
         try {
             return this.e;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.e(Ljava/lang/String;)V {

     public final declared_synchronized void e(String p2)
     {
         try {
             this.J = p2;
             return;
         } catch (Throwable v0) {
             throw v0;
         }
     }

     }
 Lcom/c/h;.f()Ljava/lang/String; {

     public final declared_synchronized String f()
     {
         try {
             return this.f;
         } catch (Throwable v0_1) {
             throw v0_1;
         }
     }

     }
 Lcom/c/h;.f(Ljava/lang/String;)V {

     public final declar
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androguard.decompiler.dad import decompile
from androlyze.model.script.AndroScript import AndroScript

class DecompileMethodsText(AndroScript):
    ''' Get the source code from the apk for each method. '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        # CFG
        for method in dalvik_vm_format.get_methods():
            try:
                mx = vm_analysis.get_method(method)
            
                if method.get_code() == None:
                    continue
                
                classname, methodname, method_descriptor = method.get_class_name(), method.get_name(), method.get_descriptor()
                
                    # skip android classes due to mongo db document limit
                if classname.find("Landroid") != -1:
                    continue
                
                ms = decompile.DvMethod(mx)
                # process to the decompilation
                ms.process()
                
                self.cres += '''%s.%s%s {
    %s
    }
''' % (classname, methodname, method_descriptor, ms.get_source())
            except:
                pass

        
    def custom_result_object(self):
        return ("", "java")

    ############################################################
    #---Options
    ############################################################    

    def needs_dalvik_vm_format(self):
        return True
    
    def needs_vmanalysis(self):
        return True

Files

This is an autogenerated documentation file for the script: Files

Run it
$ ./androanalyze scripts_builtin/Files.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Files -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Files",
         "sha256": "858b0feb41ffb5f871926a22f868d3cb248916aeaa86e1f6405841846a5b00e7",
         "analysis date": "2015-06-22T20:29:33.561000",
         "version": "0.1"
     },
     "files": [
         "META-INF/MANIFEST.MF",
         "META-INF/RELEASE.SF",
         "META-INF/RELEASE.RSA",
         "META-INF/services/com.fasterxml.jackson.core.ObjectCodec",
         "AndroidManifest.xml",
         "assets/ProximaNova-Regular.otf",
         "assets/ProximaNova-RegularT100.otf",
         "assets/ProximaNova-RegularT50.otf",
         "assets/ProximaNova-SemiBold.otf",
         "assets/ProximaNova-SemiBoldT100.otf",
         "assets/ProximaNova-SemiBoldT50.otf",
         "assets/crashlytics-build.properties",
         "assets/licenses.xhtml",
         "assets/spoticon.ttf",
         "assets/transfer.png",
         "assets/unplaylable-local-file.xhtml",
         "assets/unplaylable-local-file_es.xhtml",
         "assets/unplaylable-local-file_fr.xhtml",
         "res/anim/abc_fade_in.xml",
         "res/anim/abc_fade_out.xml",
         "res/anim/abc_slide_in_bottom.xml",
         "res/anim/abc_slide_in_top.xml",
         "res/anim/abc_slide_out_bottom.xml",
         "res/anim/abc_slide_out_top.xml",
         "res/anim/anim_in_left.xml",
         "res/anim/anim_in_right.xml",
         "res/anim/anim_out_left.xml",
         "res/anim/anim_out_right.xml",
         "res/anim/anim_scale_down_play_button.xml",
         "res/anim/anim_scale_up_play_button.xml",
         "res/anim/button_transition_in.xml",
         "res/anim/button_transition_out.xml",
         "res/color/abc_background_cache_hint_selector_material_dark.xml",
         "res/color/abc_background_cache_hint_selector_material_light.xml",
         "res/color/abc_primary_text_disable_only_material_dark.xml",
         "res/color/abc_primary_text_disable_only_material_light.xml",
         "res/color/abc_primary_text_material_dark.xml",
         "res/color/abc_primary_text_material_light.xml",
         "res/color/abc_search_url_text.xml",
         "res/color/abc_secondary_text_material_dark.xml",
         "res/color/abc_secondary_text_material_light.xml",
         "res/color/btn_now_playing_gray.xml",
         "res/color/btn_now_playing_gray_checkable.xml",
         "res/color/btn_now_playing_gray_disabled.xml",
         "res/color/btn_now_playing_thumb_down.xml",
         "res/color/btn_now_playing_thumb_up.xml",
         "res/color/btn_now_playing_white.xml",
         "res/color/btn_share_connect_icon.xml",
         "res/color/cat_accessory.xml",
         "res/color/cat_button_border.xml",
         "res/color/cat_button_info_dialog_text.xml",
         "res/color/cat_button_info_text.xml",
         "res/color/cat_button_primary_text.xml",
         "res/color/cat_button_text.xml",
         "res/color/cat_dialog_button_negative_text.xml",
         "res/color/cat_dialog_button_positive_text.xml",
         "res/color/cat_navigationitem_icon.xml",
         "res/color/cat_navigationitem_text.xml",
         "res/color/cat_profile_panel.xml",
         "res/color/cat_signup_panel.xml",
         "res/color/cat_tab_text.xml",
         "res/color/cat_text_primary.xml",
         "res/color/cat_text_primary_muted.xml",
         "res/color/cat_text_secondary.xml",
         "res/color/cat_text_secondary_muted.xml",
         "res/color/common_signin_btn_text_dark.xml",
         "res/color/common_signin_btn_text_light.xml",
         "res/color/txt_btn_facebook.xml",
         "res/color/txt_button_light.xml",
         "res/color/txt_cell_cover_subtitle.xml",
         "res/color/txt_cell_cover_title.xml",
         "res/color/txt_cell_navigation.xml",
         "res/color/txt_cell_queue_subtitle.xml",
         "res/color/txt_cell_queue_title.xml",
         "res/color/txt_cell_subtitle.xml",
         "res/color/txt_cell_title.xml",
         "res/drawable-hdpi-v4/abc_ab_share_pack_holo_dark.9.png",
         "res/drawable-hdpi-v4/abc_ab_share_pack_holo_light.9.png",
         "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png",
         "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png",
         "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
         "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
         "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
         "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
         "res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_clear_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_search_api_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
         "res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_list_focused_holo.9.png",
         "res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png",
         "res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png",
         "res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png",
         "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
         "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png",
         "res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
         "res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png",
         "res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
         "res/drawable-hdpi-v4/album_covers_splash.png",
         "res/drawable-hdpi-v4/background_icon.png",
         "res/drawable-hdpi-v4/bg_actionbar_tab_focused.9.png",
         "res/drawable-hdpi-v4/bg_actionbar_tab_pressed.9.png",
         "res/drawable-hdpi-v4/bg_bubble.9.png",
         "res/drawable-hdpi-v4/bg_dark_albums.jpg",
         "res/drawable-hdpi-v4/bg_header_placeholder.png",
         "res/drawable-hdpi-v4/bg_holiday_offer_upsell_interstitial_top.png",
         "res/drawable-hdpi-v4/bg_premium_upsell_interstitial_top.jpg",
         "res/drawable-hdpi-v4/bg_upsell_banner_normal.9.png",
         "res/drawable-hdpi-v4/bg_upsell_banner_pressed.9.png",
         "res/drawable-hdpi-v4/btn_big_primary.9.png",
         "res/drawable-hdpi-v4/btn_big_primary_for_dark_bg.9.png",
         "res/drawable-hdpi-v4/btn_big_primary_pressed.9.png",
         "res/drawable-hdpi-v4/btn_big_secondary_for_dark_bg.9.png",
         "res/drawable-hdpi-v4/btn_facebook_disabled.9.png",
         "res/drawable-hdpi-v4/btn_facebook_normal.9.png",
         "res/drawable-hdpi-v4/btn_facebook_pressed.9.png",
         "res/drawable-hdpi-v4/btn_g_icon.png",
         "res/drawable-hdpi-v4/btn_overlay_pause.png",
         "res/drawable-hdpi-v4/btn_overlay_pause_pressed.png",
         "res/drawable-hdpi-v4/btn_overlay_play.png",
         "res/drawable-hdpi-v4/btn_overlay_play_pressed.png",
         "res/drawable-hdpi-v4/btn_player_in_collection_checked.png",
         "res/drawable-hdpi-v4/cat_navigation_background.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_blue_focused.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_blue_normal.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_blue_pressed.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_grey_focused.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_grey_normal.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_grey_pressed.9.png",
         "res/drawable-hdpi-v4/com_facebook_button_like_background.png",
         "res/drawable-hdpi-v4/com_facebook_button_like_background_selected.png",
         "res/drawable-hdpi-v4/com_facebook_button_like_icon.png",
         "res/drawable-hdpi-v4/com_facebook_button_like_icon_selected.png",
         "res/drawable-hdpi-v4/com_facebook_button_like_pressed.png",
         "res/drawable-hdpi-v4/com_facebook_close.png",
         "res/drawable-hdpi-v4/com_facebook_inverse_icon.png",
         "res/drawable-hdpi-v4/com_facebook_logo.png",
         "res/drawable-hdpi-v4/com_facebook_picker_magnifier.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_black_background.9.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_black_bottomnub.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_black_topnub.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_black_xout.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_blue_background.9.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_blue_topnub.png",
         "res/drawable-hdpi-v4/com_facebook_tooltip_blue_xout.png",
         "res/drawable-hdpi-v4/com_mixpanel_android_arrowleft.png",
         "res/drawable-hdpi-v4/com_mixpanel_android_arrowleft_faded.png",
         "res/drawable-hdpi-v4/com_mixpanel_android_arrowright.png",
         "res/drawable-hdpi-v4/com_mixpanel_android_arrowright_faded.png",
         "res/drawable-hdpi-v4/com_mixpanel_android_checkmark.png",
         "res/drawable-hdpi-v4/com_mixpanel_android_logo.png",
         "res/drawable-hdpi-v4/common_full_open_on_phone.png",
         "res/drawable-hdpi-v4/common_ic_googleplayservices.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_disabled_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_focus_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_focus_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_normal_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_normal_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_icon_pressed_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_disabled_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_disabled_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_focus_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_focus_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_normal_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_normal_light.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_pressed_dark.9.png",
         "res/drawable-hdpi-v4/common_signin_btn_text_pressed_light.9.png",
         "res/drawable-hdpi-v4/connect_device_type_computer.png",
         "res/drawable-hdpi-v4/connect_device_type_receiver.png",
         "res/drawable-hdpi-v4/connect_device_type_smartphone.png",
         "res/drawable-hdpi-v4/connect_device_type_speaker.png",
         "res/drawable-hdpi-v4/connect_device_type_tablet.png",
         "res/drawable-hdpi-v4/connect_device_type_tv.png",
         "res/drawable-hdpi-v4/connect_header_img.png",
         "res/drawable-hdpi-v4/connect_showcase.png",
         "res/drawable-hdpi-v4/fastscroll_default.png",
         "res/drawable-hdpi-v4/fastscroll_pressed.png",
         "res/drawable-hdpi-v4/genesis_new_releases.png",
         "res/drawable-hdpi-v4/genesis_recommended_for_you.png",
         "res/drawable-hdpi-v4/genesis_toplists.png",
         "res/drawable-hdpi-v4/highlights.png",
         "res/drawable-hdpi-v4/hlv_overscroll_edge.png",
         "res/drawable-hdpi-v4/hlv_overscroll_glow.png",
         "res/drawable-hdpi-v4/ic_action_navigation_menu.png",
         "res/drawable-hdpi-v4/ic_menu_info_details.png",
         "res/drawable-hdpi-v4/ic_plusone_medium_off_client.png",
         "res/drawable-hdpi-v4/ic_plusone_small_off_client.png",
         "res/drawable-hdpi-v4/ic_plusone_standard_off_client.png",
         "res/drawable-hdpi-v4/ic_plusone_tall_off_client.png",
         "res/drawable-hdpi-v4/icn_add_to_collection.png",
         "res/drawable-hdpi-v4/icn_add_to_playlist.png",
         "res/drawable-hdpi-v4/icn_cosmos_search_recent_search_arrow.png",
         "res/drawable-hdpi-v4/icn_download_header_waiting.png",
         "res/drawable-hdpi-v4/icn_download_waiting.png",
         "res/drawable-hdpi-v4/icn_facebook.png",
         "res/drawable-hdpi-v4/icn_mft_home_back.png",
         "res/drawable-hdpi-v4/icn_mft_home_logo.png",
         "res/drawable-hdpi-v4/icn_notification.png",
         "res/drawable-hdpi-v4/icn_notification_add_to.png",
         "res/drawable-hdpi-v4/icn_notification_add_to_disabled.png",
         "res/drawable-hdpi-v4/icn_notification_dismiss.png",
         "res/drawable-hdpi-v4/icn_notification_next_disabled.png",
         "res/drawable-hdpi-v4/icn_notification_next_normal.png",
         "res/drawable-hdpi-v4/icn_notification_pause_normal.png",
         "res/drawable-hdpi-v4/icn_notification_play_normal.png",
         "res/drawable-hdpi-v4/icn_notification_prev_disabled.png",
         "res/drawable-hdpi-v4/icn_notification_prev_normal.png",
         "res/drawable-hdpi-v4/icn_notification_thumb_down_default.png",
         "res/drawable-hdpi-v4/icn_notification_thumb_down_disabled.png",
         "res/drawable-hdpi-v4/icn_notification_thumb_down_selected.png",
         "res/drawable-hdpi-v4/icn_notification_thumb_up_default.png",
         "res/drawable-hdpi-v4/icn_notification_thumb_up_disabled.png",
         "res/drawable-hdpi-v4/icn_notification_thumb_up_selected.png",
         "res/drawable-hdpi-v4/icn_playlist.png",
         "res/drawable-hdpi-v4/icn_playlist_collaborative.png",
         "res/drawable-hdpi-v4/icn_quickact_album.png",
         "res/drawable-hdpi-v4/icn_quickact_artist.png",
         "res/drawable-hdpi-v4/icn_quickact_delete.png",
         "res/drawable-hdpi-v4/icn_quickact_queue.png",
         "res/drawable-hdpi-v4/icn_quickact_radio.png",
         "res/drawable-hdpi-v4/icn_quickact_share.png",
         "res/drawable-hdpi-v4/icn_quickact_star.png",
         "res/drawable-hdpi-v4/icn_radio.png",
         "res/drawable-hdpi-v4/icn_radio_added_to_liked.png",
         "res/drawable-hdpi-v4/icn_radio_checkmark.png",
         "res/drawable-hdpi-v4/icn_radio_offline.png",
         "res/drawable-hdpi-v4/icn_remove_from_collection.png",
         "res/drawable-hdpi-v4/icn_share.png",
         "res/drawable-hdpi-v4/icn_sort.png",
         "res/drawable-hdpi-v4/icn_spotify_login.png",
         "res/drawable-hdpi-v4/icon.png",
         "res/drawable-hdpi-v4/img_spotify_logo_text.png",
         "res/drawable-hdpi-v4/img_trial_started.png",
         "res/drawable-hdpi-v4/logo_smaller.png",
         "res/drawable-hdpi-v4/mft_home_background1.jpg",
         "res/drawable-hdpi-v4/mft_home_background2.jpg",
         "res/drawable-hdpi-v4/mft_home_background3.jpg",
         "res/drawable-hdpi-v4/mobile_artist_concert_header.png",
         "res/drawable-hdpi-v4/mobile_artist_concert_songkick.png",
         "res/drawable-hdpi-v4/nav_icon.png",
         "res/drawable-hdpi-v4/nav_icon_gray.png",
         "res/drawable-hdpi-v4/notification_feature_announcement.jpg",
         "res/drawable-hdpi-v4/powered_by_google_dark.png",
         "res/drawable-hdpi-v4/powered_by_google_light.png",
         "res/drawable-hdpi-v4/profile_panel_invitation_codes_panel.9.png",
         "res/drawable-hdpi-v4/psn_icon.png",
         "res/drawable-hdpi-v4/small_icon.png",
         "res/drawable-hdpi-v4/socialchart_showcase.png",
         "res/drawable-hdpi-v4/sp_logo.png",
         "res/drawable-hdpi-v4/spinner_white.png",
         "res/drawable-hdpi-v4/widget_bg.9.png",
         "res/drawable-hdpi-v4/widget_next_disabled.png",
         "res/drawable-hdpi-v4/widget_next_normal.png",
         "res/drawable-hdpi-v4/widget_pause_disabled.png",
         "res/drawable-hdpi-v4/widget_pause_normal.png",
         "res/drawable-hdpi-v4/widget_play_disabled.png",
         "res/drawable-hdpi-v4/widget_play_normal.png",
         "res/drawable-hdpi-v4/widget_prev_disabled.png",
         "res/drawable-hdpi-v4/widget_prev_normal.png",
         "res/drawable-hdpi-v4/widget_preview.png",
         "res/drawable-land-hdpi-v4/mft_home_background1.jpg",
         "res/drawable-land-hdpi-v4/mft_home_background2.jpg",
         "res/drawable-land-hdpi-v4/mft_home_background3.jpg",
         "res/drawable-land-mdpi-v4/mft_home_background1.jpg",
         "res/drawable-land-mdpi-v4/mft_home_background2.jpg",
         "res/drawable-land-mdpi-v4/mft_home_background3.jpg",
         "res/drawable-land-xhdpi-v4/mft_home_background1.jpg",
         "res/drawable-land-xhdpi-v4/mft_home_background2.jpg",
         "res/drawable-land-xhdpi-v4/mft_home_background3.jpg",
         "res/drawable-ldpi-v4/bg_header_placeholder.png",
         "res/drawable-ldpi-v4/bg_upsell_banner_normal.9.png",
         "res/drawable-ldpi-v4/bg_upsell_banner_pressed.9.png",
         "res/drawable-ldpi-v4/btn_facebook_disabled.9.png",
         "res/drawable-ldpi-v4/btn_facebook_normal.9.png",
         "res/drawable-ldpi-v4/btn_facebook_pressed.9.png",
         "res/drawable-ldpi-v4/btn_g_icon.png",
         "res/drawable-ldpi-v4/btn_overlay_pause.png",
         "res/drawable-ldpi-v4/btn_overlay_pause_pressed.png",
         "res/drawable-ldpi-v4/btn_overlay_play.png",
         "res/drawable-ldpi-v4/btn_overlay_play_pressed.png",
         "res/drawable-ldpi-v4/com_facebook_close.png",
         "res/drawable-ldpi-v4/com_mixpanel_android_arrowleft.png",
         "res/drawable-ldpi-v4/com_mixpanel_android_arrowleft_faded.png",
         "res/drawable-ldpi-v4/com_mixpanel_android_arrowright.png",
         "res/drawable-ldpi-v4/com_mixpanel_android_arrowright_faded.png",
         "res/drawable-ldpi-v4/com_mixpanel_android_checkmark.png",
         "res/drawable-ldpi-v4/com_mixpanel_android_logo.png",
         "res/drawable-ldpi-v4/connect_header_img.png",
         "res/drawable-ldpi-v4/connect_showcase.png",
         "res/drawable-ldpi-v4/hlv_overscroll_edge.png",
         "res/drawable-ldpi-v4/hlv_overscroll_glow.png",
         "res/drawable-ldpi-v4/icn_facebook.png",
         "res/drawable-ldpi-v4/icn_notification.png",
         "res/drawable-ldpi-v4/icon.png",
         "res/drawable-ldpi-v4/socialchart_showcase.png",
         "res/drawable-ldpi-v4/spinner_white.png",
         "res/drawable-ldrtl-hdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-ldrtl-hdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-ldrtl-hdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-ldrtl-hdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-ldrtl-mdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-ldrtl-mdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-ldrtl-mdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-ldrtl-mdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-ldrtl-xhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-ldrtl-xhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-ldrtl-xhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-ldrtl-xxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-ldrtl-xxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-ldrtl-xxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-ldrtl-xxxhdpi-v17/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-ldrtl-xxxhdpi-v17/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-mdpi-v4/abc_ab_share_pack_holo_dark.9.png",
         "res/drawable-mdpi-v4/abc_ab_share_pack_holo_light.9.png",
         "res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_000.png",
         "res/drawable-mdpi-v4/abc_btn_check_to_on_mtrl_015.png",
         "res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
         "res/drawable-mdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
         "res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
         "res/drawable-mdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
         "res/drawable-mdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_clear_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_search_api_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
         "res/drawable-mdpi-v4/abc_list_divider_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_list_focused_holo.9.png",
         "res/drawable-mdpi-v4/abc_list_longpressed_holo.9.png",
         "res/drawable-mdpi-v4/abc_list_pressed_holo_dark.9.png",
         "res/drawable-mdpi-v4/abc_list_pressed_holo_light.9.png",
         "res/drawable-mdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
         "res/drawable-mdpi-v4/abc_list_selector_disabled_holo_light.9.png",
         "res/drawable-mdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
         "res/drawable-mdpi-v4/abc_popup_background_mtrl_mult.9.png",
         "res/drawable-mdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-mdpi-v4/abc_switch_track_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
         "res/drawable-mdpi-v4/bg_header_placeholder.png",
         "res/drawable-mdpi-v4/bg_upsell_banner_normal.9.png",
         "res/drawable-mdpi-v4/bg_upsell_banner_pressed.9.png",
         "res/drawable-mdpi-v4/btn_facebook_disabled.9.png",
         "res/drawable-mdpi-v4/btn_facebook_normal.9.png",
         "res/drawable-mdpi-v4/btn_facebook_pressed.9.png",
         "res/drawable-mdpi-v4/btn_g_icon.png",
         "res/drawable-mdpi-v4/btn_overlay_pause.png",
         "res/drawable-mdpi-v4/btn_overlay_pause_pressed.png",
         "res/drawable-mdpi-v4/btn_overlay_play.png",
         "res/drawable-mdpi-v4/btn_overlay_play_pressed.png",
         "res/drawable-mdpi-v4/cat_navigation_background.9.png",
         "res/drawable-mdpi-v4/com_facebook_button_blue_focused.9.png",
         "res/drawable-mdpi-v4/com_facebook_button_blue_normal.9.png",
         "res/drawable-mdpi-v4/com_facebook_button_blue_pressed.9.png",
         "res/drawable-mdpi-v4/com_facebook_inverse_icon.png",
         "res/drawable-mdpi-v4/com_facebook_picker_magnifier.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_black_background.9.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_black_bottomnub.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_black_topnub.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_black_xout.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_blue_background.9.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_blue_topnub.png",
         "res/drawable-mdpi-v4/com_facebook_tooltip_blue_xout.png",
         "res/drawable-mdpi-v4/com_mixpanel_android_arrowleft.png",
         "res/drawable-mdpi-v4/com_mixpanel_android_arrowleft_faded.png",
         "res/drawable-mdpi-v4/com_mixpanel_android_arrowright.png",
         "res/drawable-mdpi-v4/com_mixpanel_android_arrowright_faded.png",
         "res/drawable-mdpi-v4/com_mixpanel_android_checkmark.png",
         "res/drawable-mdpi-v4/com_mixpanel_android_logo.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_disabled_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_focus_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_focus_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_normal_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_normal_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_icon_pressed_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_disabled_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_disabled_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_focus_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_focus_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_normal_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_normal_light.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_pressed_dark.9.png",
         "res/drawable-mdpi-v4/common_signin_btn_text_pressed_light.9.png",
         "res/drawable-mdpi-v4/connect_header_img.png",
         "res/drawable-mdpi-v4/connect_showcase.png",
         "res/drawable-mdpi-v4/fastscroll_default.png",
         "res/drawable-mdpi-v4/fastscroll_pressed.png",
         "res/drawable-mdpi-v4/hlv_overscroll_edge.png",
         "res/drawable-mdpi-v4/hlv_overscroll_glow.png",
         "res/drawable-mdpi-v4/ic_action_navigation_menu.png",
         "res/drawable-mdpi-v4/ic_plusone_medium_off_client.png",
         "res/drawable-mdpi-v4/ic_plusone_small_off_client.png",
         "res/drawable-mdpi-v4/ic_plusone_standard_off_client.png",
         "res/drawable-mdpi-v4/ic_plusone_tall_off_client.png",
         "res/drawable-mdpi-v4/icn_cosmos_search_recent_search_arrow.png",
         "res/drawable-mdpi-v4/icn_facebook.png",
         "res/drawable-mdpi-v4/icn_ford_logo.png",
         "res/drawable-mdpi-v4/icn_ford_spotify_logo.png",
         "res/drawable-mdpi-v4/icn_mft_home_back.png",
         "res/drawable-mdpi-v4/icn_mft_home_logo.png",
         "res/drawable-mdpi-v4/icn_notification.png",
         "res/drawable-mdpi-v4/icon.png",
         "res/drawable-mdpi-v4/img_spotify_logo_text.png",
         "res/drawable-mdpi-v4/logo_smaller.png",
         "res/drawable-mdpi-v4/mft_home_background1.jpg",
         "res/drawable-mdpi-v4/mft_home_background2.jpg",
         "res/drawable-mdpi-v4/mft_home_background3.jpg",
         "res/drawable-mdpi-v4/mobile_artist_concert_header.png",
         "res/drawable-mdpi-v4/mobile_artist_concert_songkick.png",
         "res/drawable-mdpi-v4/nav_icon.png",
         "res/drawable-mdpi-v4/nav_icon_gray.png",
         "res/drawable-mdpi-v4/powered_by_google_dark.png",
         "res/drawable-mdpi-v4/powered_by_google_light.png",
         "res/drawable-mdpi-v4/psn_icon.png",
         "res/drawable-mdpi-v4/socialchart_showcase.png",
         "res/drawable-mdpi-v4/sp_logo.png",
         "res/drawable-mdpi-v4/spinner_white.png",
         "res/drawable-nodpi-v4/cat_placeholder_album.png",
         "res/drawable-nodpi-v4/cat_placeholder_artist.png",
         "res/drawable-nodpi-v4/cat_placeholder_flag.png",
         "res/drawable-nodpi-v4/cat_placeholder_genre.png",
         "res/drawable-nodpi-v4/cat_placeholder_inbox.png",
         "res/drawable-nodpi-v4/cat_placeholder_offline.png",
         "res/drawable-nodpi-v4/cat_placeholder_playlist.png",
         "res/drawable-nodpi-v4/cat_placeholder_podcast.png",
         "res/drawable-nodpi-v4/cat_placeholder_search.png",
         "res/drawable-nodpi-v4/cat_placeholder_star.png",
         "res/drawable-nodpi-v4/cat_placeholder_toplist.png",
         "res/drawable-nodpi-v4/cat_placeholder_track.png",
         "res/drawable-nodpi-v4/cat_placeholder_user.png",
         "res/drawable-nodpi-v4/cat_placeholder_warning.png",
         "res/drawable-nodpi-v4/placeholder_annotate.png",
         "res/drawable-nodpi-v4/placeholder_artist.png",
         "res/drawable-nodpi-v4/placeholder_genre.png",
         "res/drawable-nodpi-v4/placeholder_playlist.png",
         "res/drawable-nodpi-v4/placeholder_user.png",
         "res/drawable-small-ldpi-v4/icn_radio_offline.png",
         "res/drawable-tvdpi-v4/ic_plusone_medium_off_client.png",
         "res/drawable-tvdpi-v4/ic_plusone_small_off_client.png",
         "res/drawable-tvdpi-v4/ic_plusone_standard_off_client.png",
         "res/drawable-tvdpi-v4/ic_plusone_tall_off_client.png",
         "res/drawable-v11/cat_dialog_button_left.xml",
         "res/drawable-v11/cat_dialog_button_right.xml",
         "res/drawable-v11/cat_listitem_background.xml",
         "res/drawable-v11/cat_listitem_background_activated.xml",
         "res/drawable-v21/abc_cab_background_top_material.xml",
         "res/drawable-xhdpi-v4/abc_ab_share_pack_holo_dark.9.png",
         "res/drawable-xhdpi-v4/abc_ab_share_pack_holo_light.9.png",
         "res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
         "res/drawable-xhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
         "res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
         "res/drawable-xhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
         "res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
         "res/drawable-xhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
         "res/drawable-xhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_clear_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
         "res/drawable-xhdpi-v4/abc_list_divider_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_list_focused_holo.9.png",
         "res/drawable-xhdpi-v4/abc_list_longpressed_holo.9.png",
         "res/drawable-xhdpi-v4/abc_list_pressed_holo_dark.9.png",
         "res/drawable-xhdpi-v4/abc_list_pressed_holo_light.9.png",
         "res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
         "res/drawable-xhdpi-v4/abc_list_selector_disabled_holo_light.9.png",
         "res/drawable-xhdpi-v4/abc_menu_dropdown_panel_holo_dark.9.png",
         "res/drawable-xhdpi-v4/abc_menu_hardkey_panel_holo_dark.9.png",
         "res/drawable-xhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
         "res/drawable-xhdpi-v4/abc_popup_background_mtrl_mult.9.png",
         "res/drawable-xhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
         "res/drawable-xhdpi-v4/background_icon.png",
         "res/drawable-xhdpi-v4/bg_header_placeholder.png",
         "res/drawable-xhdpi-v4/bg_login_browse.jpg",
         "res/drawable-xhdpi-v4/bg_login_landing.jpg",
         "res/drawable-xhdpi-v4/bg_login_radio.jpg",
         "res/drawable-xhdpi-v4/bg_login_search.jpg",
         "res/drawable-xhdpi-v4/bg_login_yourmusic.jpg",
         "res/drawable-xhdpi-v4/bg_upsell_banner_normal.9.png",
         "res/drawable-xhdpi-v4/bg_upsell_banner_pressed.9.png",
         "res/drawable-xhdpi-v4/bg_upsell_carousel.jpg",
         "res/drawable-xhdpi-v4/btn_facebook_disabled.9.png",
         "res/drawable-xhdpi-v4/btn_facebook_normal.9.png",
         "res/drawable-xhdpi-v4/btn_facebook_pressed.9.png",
         "res/drawable-xhdpi-v4/btn_g_icon.png",
         "res/drawable-xhdpi-v4/btn_overlay_pause.png",
         "res/drawable-xhdpi-v4/btn_overlay_pause_pressed.png",
         "res/drawable-xhdpi-v4/btn_overlay_play.png",
         "res/drawable-xhdpi-v4/btn_overlay_play_pressed.png",
         "res/drawable-xhdpi-v4/cat_edit_background_activated.9.png",
         "res/drawable-xhdpi-v4/cat_edit_background_default.9.png",
         "res/drawable-xhdpi-v4/cat_edit_background_dialog_default.9.png",
         "res/drawable-xhdpi-v4/cat_edit_background_disabled.9.png",
         "res/drawable-xhdpi-v4/cat_edit_background_disabled_focused.9.png",
         "res/drawable-xhdpi-v4/cat_edit_background_focused.9.png",
         "res/drawable-xhdpi-v4/cat_feedback_image.png",
         "res/drawable-xhdpi-v4/cat_navigation_background.9.png",
         "res/drawable-xhdpi-v4/cat_navigationitem_background_active.9.png",
         "res/drawable-xhdpi-v4/cat_spinner_background_default.9.png",
         "res/drawable-xhdpi-v4/cat_spinner_background_disabled.9.png",
         "res/drawable-xhdpi-v4/cat_spinner_background_focused.9.png",
         "res/drawable-xhdpi-v4/cat_spinner_background_pressed.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_blue_focused.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_blue_normal.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_blue_pressed.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_grey_focused.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_grey_normal.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_grey_pressed.9.png",
         "res/drawable-xhdpi-v4/com_facebook_button_like_background.png",
         "res/drawable-xhdpi-v4/com_facebook_button_like_background_selected.png",
         "res/drawable-xhdpi-v4/com_facebook_button_like_icon.png",
         "res/drawable-xhdpi-v4/com_facebook_button_like_icon_selected.png",
         "res/drawable-xhdpi-v4/com_facebook_button_like_pressed.png",
         "res/drawable-xhdpi-v4/com_facebook_close.png",
         "res/drawable-xhdpi-v4/com_facebook_inverse_icon.png",
         "res/drawable-xhdpi-v4/com_facebook_logo.png",
         "res/drawable-xhdpi-v4/com_facebook_picker_magnifier.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_black_background.9.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_black_bottomnub.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_black_topnub.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_black_xout.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_background.9.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_bottomnub.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_topnub.png",
         "res/drawable-xhdpi-v4/com_facebook_tooltip_blue_xout.png",
         "res/drawable-xhdpi-v4/com_mixpanel_android_arrowleft.png",
         "res/drawable-xhdpi-v4/com_mixpanel_android_arrowleft_faded.png",
         "res/drawable-xhdpi-v4/com_mixpanel_android_arrowright.png",
         "res/drawable-xhdpi-v4/com_mixpanel_android_arrowright_faded.png",
         "res/drawable-xhdpi-v4/com_mixpanel_android_checkmark.png",
         "res/drawable-xhdpi-v4/com_mixpanel_android_logo.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_disabled_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_focus_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_focus_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_normal_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_normal_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_icon_pressed_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_disabled_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_focus_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_focus_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_normal_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_normal_light.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_pressed_dark.9.png",
         "res/drawable-xhdpi-v4/common_signin_btn_text_pressed_light.9.png",
         "res/drawable-xhdpi-v4/connect_header_img.png",
         "res/drawable-xhdpi-v4/connect_showcase.png",
         "res/drawable-xhdpi-v4/contextmenu_placeholder.png",
         "res/drawable-xhdpi-v4/fastscroll_default.png",
         "res/drawable-xhdpi-v4/fastscroll_pressed.png",
         "res/drawable-xhdpi-v4/find_friends.jpg",
         "res/drawable-xhdpi-v4/globe_telecom_flair_1.png",
         "res/drawable-xhdpi-v4/globe_telecom_flair_2.png",
         "res/drawable-xhdpi-v4/globe_telecom_logo.png",
         "res/drawable-xhdpi-v4/hlv_overscroll_edge.png",
         "res/drawable-xhdpi-v4/hlv_overscroll_glow.png",
         "res/drawable-xhdpi-v4/ic_action_navigation_menu.png",
         "res/drawable-xhdpi-v4/ic_plusone_medium_off_client.png",
         "res/drawable-xhdpi-v4/ic_plusone_small_off_client.png",
         "res/drawable-xhdpi-v4/ic_plusone_standard_off_client.png",
         "res/drawable-xhdpi-v4/ic_plusone_tall_off_client.png",
         "res/drawable-xhdpi-v4/icn_ads.png",
         "res/drawable-xhdpi-v4/icn_ads_large.png",
         "res/drawable-xhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
         "res/drawable-xhdpi-v4/icn_device_picker_volume.png",
         "res/drawable-xhdpi-v4/icn_facebook.png",
         "res/drawable-xhdpi-v4/icn_ford_logo.png",
         "res/drawable-xhdpi-v4/icn_ford_spotify_logo.png",
         "res/drawable-xhdpi-v4/icn_mft_home_back.png",
         "res/drawable-xhdpi-v4/icn_mft_home_logo.png",
         "res/drawable-xhdpi-v4/icn_notification.png",
         "res/drawable-xhdpi-v4/icn_notification_add_to.png",
         "res/drawable-xhdpi-v4/icn_notification_add_to_disabled.png",
         "res/drawable-xhdpi-v4/icn_notification_dismiss.png",
         "res/drawable-xhdpi-v4/icn_notification_next_disabled.png",
         "res/drawable-xhdpi-v4/icn_notification_next_normal.png",
         "res/drawable-xhdpi-v4/icn_notification_pause_normal.png",
         "res/drawable-xhdpi-v4/icn_notification_play_normal.png",
         "res/drawable-xhdpi-v4/icn_notification_prev_disabled.png",
         "res/drawable-xhdpi-v4/icn_notification_prev_normal.png",
         "res/drawable-xhdpi-v4/icn_notification_thumb_down_default.png",
         "res/drawable-xhdpi-v4/icn_notification_thumb_down_disabled.png",
         "res/drawable-xhdpi-v4/icn_notification_thumb_down_selected.png",
         "res/drawable-xhdpi-v4/icn_notification_thumb_up_default.png",
         "res/drawable-xhdpi-v4/icn_notification_thumb_up_disabled.png",
         "res/drawable-xhdpi-v4/icn_notification_thumb_up_selected.png",
         "res/drawable-xhdpi-v4/icn_right_point_caret.png",
         "res/drawable-xhdpi-v4/icon.png",
         "res/drawable-xhdpi-v4/img_spotify_logo_text.png",
         "res/drawable-xhdpi-v4/logo_smaller.png",
         "res/drawable-xhdpi-v4/mediaservice_pause.png",
         "res/drawable-xhdpi-v4/mediaservice_play.png",
         "res/drawable-xhdpi-v4/mediaservice_save.png",
         "res/drawable-xhdpi-v4/mediaservice_save_enabled.png",
         "res/drawable-xhdpi-v4/mediaservice_shuffle.png",
         "res/drawable-xhdpi-v4/mediaservice_shuffle_checked.png",
         "res/drawable-xhdpi-v4/mediaservice_skip_next.png",
         "res/drawable-xhdpi-v4/mediaservice_skip_previous.png",
         "res/drawable-xhdpi-v4/mediaservice_start_radio_black.png",
         "res/drawable-xhdpi-v4/mediaservice_thumbs_down.png",
         "res/drawable-xhdpi-v4/mediaservice_thumbs_up.png",
         "res/drawable-xhdpi-v4/mediaservice_thumbs_up_selected.png",
         "res/drawable-xhdpi-v4/mft_home_background1.jpg",
         "res/drawable-xhdpi-v4/mft_home_background2.jpg",
         "res/drawable-xhdpi-v4/mft_home_background3.jpg",
         "res/drawable-xhdpi-v4/mobile_artist_concert_header.png",
         "res/drawable-xhdpi-v4/mobile_artist_concert_songkick.png",
         "res/drawable-xhdpi-v4/nav_icon.png",
         "res/drawable-xhdpi-v4/nav_icon_gray.png",
         "res/drawable-xhdpi-v4/powered_by_google_dark.png",
         "res/drawable-xhdpi-v4/powered_by_google_light.png",
         "res/drawable-xhdpi-v4/premium_upsell_icon.png",
         "res/drawable-xhdpi-v4/psn_icon.png",
         "res/drawable-xhdpi-v4/small_icon.png",
         "res/drawable-xhdpi-v4/socialchart_showcase.png",
         "res/drawable-xhdpi-v4/sp_logo.png",
         "res/drawable-xhdpi-v4/spinner_16_inner_holo.png",
         "res/drawable-xhdpi-v4/spinner_16_outer_holo.png",
         "res/drawable-xhdpi-v4/spinner_white.png",
         "res/drawable-xhdpi-v4/widget_next_disabled.png",
         "res/drawable-xhdpi-v4/widget_next_normal.png",
         "res/drawable-xhdpi-v4/widget_pause_disabled.png",
         "res/drawable-xhdpi-v4/widget_pause_normal.png",
         "res/drawable-xhdpi-v4/widget_play_disabled.png",
         "res/drawable-xhdpi-v4/widget_play_normal.png",
         "res/drawable-xhdpi-v4/widget_prev_disabled.png",
         "res/drawable-xhdpi-v4/widget_prev_normal.png",
         "res/drawable-xxhdpi-v4/abc_ab_share_pack_holo_dark.9.png",
         "res/drawable-xxhdpi-v4/abc_ab_share_pack_holo_light.9.png",
         "res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
         "res/drawable-xxhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
         "res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
         "res/drawable-xxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
         "res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
         "res/drawable-xxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
         "res/drawable-xxhdpi-v4/abc_cab_background_top_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_clear_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_go_search_api_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
         "res/drawable-xxhdpi-v4/abc_list_divider_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_list_focused_holo.9.png",
         "res/drawable-xxhdpi-v4/abc_list_longpressed_holo.9.png",
         "res/drawable-xxhdpi-v4/abc_list_pressed_holo_dark.9.png",
         "res/drawable-xxhdpi-v4/abc_list_pressed_holo_light.9.png",
         "res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_dark.9.png",
         "res/drawable-xxhdpi-v4/abc_list_selector_disabled_holo_light.9.png",
         "res/drawable-xxhdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png",
         "res/drawable-xxhdpi-v4/abc_popup_background_mtrl_mult.9.png",
         "res/drawable-xxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_textfield_activated_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_textfield_default_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png",
         "res/drawable-xxhdpi-v4/background_icon.png",
         "res/drawable-xxhdpi-v4/btn_g_icon.png",
         "res/drawable-xxhdpi-v4/cat_navigation_background.9.png",
         "res/drawable-xxhdpi-v4/cat_overflow_icon.png",
         "res/drawable-xxhdpi-v4/com_facebook_button_like_background.png",
         "res/drawable-xxhdpi-v4/com_facebook_button_like_background_selected.png",
         "res/drawable-xxhdpi-v4/com_facebook_button_like_icon.png",
         "res/drawable-xxhdpi-v4/com_facebook_button_like_icon_selected.png",
         "res/drawable-xxhdpi-v4/com_facebook_button_like_pressed.png",
         "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowleft.png",
         "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowleft_faded.png",
         "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowright.png",
         "res/drawable-xxhdpi-v4/com_mixpanel_android_arrowright_faded.png",
         "res/drawable-xxhdpi-v4/com_mixpanel_android_checkmark.png",
         "res/drawable-xxhdpi-v4/com_mixpanel_android_logo.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_focus_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_disabled_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_focus_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_normal_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_icon_pressed_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_focus_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_disabled_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_focus_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_focus_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_normal_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_normal_light.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_dark.9.png",
         "res/drawable-xxhdpi-v4/common_signin_btn_text_pressed_light.9.png",
         "res/drawable-xxhdpi-v4/connect_header_img.png",
         "res/drawable-xxhdpi-v4/fastscroll_default.png",
         "res/drawable-xxhdpi-v4/fastscroll_pressed.png",
         "res/drawable-xxhdpi-v4/ic_action_navigation_menu.png",
         "res/drawable-xxhdpi-v4/ic_plusone_medium_off_client.png",
         "res/drawable-xxhdpi-v4/ic_plusone_small_off_client.png",
         "res/drawable-xxhdpi-v4/ic_plusone_standard_off_client.png",
         "res/drawable-xxhdpi-v4/ic_plusone_tall_off_client.png",
         "res/drawable-xxhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
         "res/drawable-xxhdpi-v4/icn_facebook.png",
         "res/drawable-xxhdpi-v4/icn_mft_home_back.png",
         "res/drawable-xxhdpi-v4/icn_mft_home_logo.png",
         "res/drawable-xxhdpi-v4/icon.png",
         "res/drawable-xxhdpi-v4/logo_smaller.png",
         "res/drawable-xxhdpi-v4/mediaservice_albums.png",
         "res/drawable-xxhdpi-v4/mediaservice_artists.png",
         "res/drawable-xxhdpi-v4/mediaservice_browse.png",
         "res/drawable-xxhdpi-v4/mediaservice_newreleases.png",
         "res/drawable-xxhdpi-v4/mediaservice_playlists.png",
         "res/drawable-xxhdpi-v4/mediaservice_radio.png",
         "res/drawable-xxhdpi-v4/mediaservice_starred.png",
         "res/drawable-xxhdpi-v4/mediaservice_yourmusic.png",
         "res/drawable-xxhdpi-v4/mobile_artist_concert_header.png",
         "res/drawable-xxhdpi-v4/mobile_artist_concert_songkick.png",
         "res/drawable-xxhdpi-v4/nav_icon.png",
         "res/drawable-xxhdpi-v4/nav_icon_gray.png",
         "res/drawable-xxhdpi-v4/powered_by_google_dark.png",
         "res/drawable-xxhdpi-v4/powered_by_google_light.png",
         "res/drawable-xxhdpi-v4/psn_icon.png",
         "res/drawable-xxhdpi-v4/small_icon.png",
         "res/drawable-xxhdpi-v4/sp_logo.png",
         "res/drawable-xxhdpi-v4/widget_next_disabled.png",
         "res/drawable-xxhdpi-v4/widget_next_normal.png",
         "res/drawable-xxhdpi-v4/widget_pause_disabled.png",
         "res/drawable-xxhdpi-v4/widget_pause_normal.png",
         "res/drawable-xxhdpi-v4/widget_placeholder.png",
         "res/drawable-xxhdpi-v4/widget_play_disabled.png",
         "res/drawable-xxhdpi-v4/widget_play_normal.png",
         "res/drawable-xxhdpi-v4/widget_prev_disabled.png",
         "res/drawable-xxhdpi-v4/widget_prev_normal.png",
         "res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png",
         "res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_015.png",
         "res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png",
         "res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png",
         "res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png",
         "res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png",
         "res/drawable-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_clear_mtrl_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_search_api_mtrl_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png",
         "res/drawable-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png",
         "res/drawable-xxxhdpi-v4/abc_switch_track_mtrl_alpha.9.png",
         "res/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png",
         "res/drawable-xxxhdpi-v4/connect_header_img.png",
         "res/drawable-xxxhdpi-v4/icn_cosmos_search_recent_search_arrow.png",
         "res/drawable-xxxhdpi-v4/icn_mft_home_back.png",
         "res/drawable-xxxhdpi-v4/icn_mft_home_logo.png",
         "res/drawable-xxxhdpi-v4/icon.png",
         "res/drawable-xxxhdpi-v4/logo_smaller.png",
         "res/drawable-xxxhdpi-v4/nav_icon.png",
         "res/drawable-xxxhdpi-v4/nav_icon_gray.png",
         "res/drawable-xxxhdpi-v4/psn_icon.png",
         "res/drawable-xxxhdpi-v4/sp_logo.png",
         "res/drawable/abc_btn_check_material.xml",
         "res/drawable/abc_btn_radio_material.xml",
         "res/drawable/abc_cab_background_internal_bg.xml",
         "res/drawable/abc_cab_background_top_material.xml",
         "res/drawable/abc_edit_text_material.xml",
         "res/drawable/abc_item_background_holo_dark.xml",
         "res/drawable/abc_item_background_holo_light.xml",
         "res/drawable/abc_list_selector_background_transition_holo_dark.xml",
         "res/drawable/abc_list_selector_background_transition_holo_light.xml",
         "res/drawable/abc_list_selector_holo_dark.xml",
         "res/drawable/abc_list_selector_holo_light.xml",
         "res/drawable/abc_switch_thumb_material.xml",
         "res/drawable/abc_tab_indicator_material.xml",
         "res/drawable/abc_textfield_search_material.xml",
         "res/drawable/bg_actionbar_item.xml",
         "res/drawable/bg_actionbar_tab.xml",
         "res/drawable/bg_activity_card.xml",
         "res/drawable/bg_browse_header.xml",
         "res/drawable/bg_browse_start_fragment_header.xml",
         "res/drawable/bg_button_dialog_bottom_left_light.xml",
         "res/drawable/bg_button_dialog_bottom_light.xml",
         "res/drawable/bg_button_dialog_bottom_right_light.xml",
         "res/drawable/bg_button_light.xml",
         "res/drawable/bg_button_queue.xml",
         "res/drawable/bg_cat_login_field.xml",
         "res/drawable/bg_cell.xml",
         "res/drawable/bg_connect_playing_from_bar_cat.xml",
         "res/drawable/bg_dialog_button_divider.xml",
         "res/drawable/bg_discover.xml",
         "res/drawable/bg_globe_telecom_premium_activation.xml",
         "res/drawable/bg_header.xml",
         "res/drawable/bg_notification_button.xml",
         "res/drawable/bg_placeholder_album.xml",
         "res/drawable/bg_placeholder_annotate_image.xml",
         "res/drawable/bg_placeholder_artist.xml",
         "res/drawable/bg_placeholder_artist_black.xml",
         "res/drawable/bg_placeholder_playlist.xml",
         "res/drawable/bg_placeholder_user.xml",
         "res/drawable/bg_popup.xml",
         "res/drawable/bg_popup_outside.xml",
         "res/drawable/bg_premium_upsell_interstitial_reason.xml",
         "res/drawable/bg_settings_bubble.xml",
         "res/drawable/bg_share_connect_icon_facebook.xml",
         "res/drawable/bg_share_connect_icon_tumblr.xml",
         "res/drawable/bg_share_connect_icon_twitter.xml",
         "res/drawable/bg_toast.xml",
         "res/drawable/bg_upsell_banner.xml",
         "res/drawable/bg_widget_button.xml",
         "res/drawable/btn_cat_login_button_facebook.xml",
         "res/drawable/btn_cat_login_button_google.xml",
         "res/drawable/btn_cat_login_button_later.xml",
         "res/drawable/btn_cat_login_button_primary.xml",
         "res/drawable/btn_cat_login_button_secondary.xml",
         "res/drawable/btn_cat_nav_upsell_button.xml",
         "res/drawable/btn_facebook.xml",
         "res/drawable/btn_header_overlay_pause.xml",
         "res/drawable/btn_header_overlay_play.xml",
         "res/drawable/btn_intro_primary.xml",
         "res/drawable/btn_twitter.xml",
         "res/drawable/button_download.xml",
         "res/drawable/cat_actionbar_background.xml",
         "res/drawable/cat_actionbar_background_split.xml",
         "res/drawable/cat_back_dummy.xml",
         "res/drawable/cat_button.xml",
         "res/drawable/cat_button_danger.xml",
         "res/drawable/cat_button_info.xml",
         "res/drawable/cat_button_info_small.xml",
         "res/drawable/cat_button_info_small_state_default.xml",
         "res/drawable/cat_button_info_small_state_disabled.xml",
         "res/drawable/cat_button_info_small_state_focused.xml",
         "res/drawable/cat_button_info_small_state_pressed.xml",
         "res/drawable/cat_button_info_state_default.xml",
         "res/drawable/cat_button_info_state_disabled.xml",
         "res/drawable/cat_button_info_state_focused.xml",
         "res/drawable/cat_button_info_state_pressed.xml",
         "res/drawable/cat_button_primary.xml",
         "res/drawable/cat_button_primary_small.xml",
         "res/drawable/cat_button_primary_small_state_default.xml",
         "res/drawable/cat_button_primary_small_state_disabled.xml",
         "res/drawable/cat_button_primary_small_state_focused.xml",
         "res/drawable/cat_button_primary_small_state_pressed.xml",
         "res/drawable/cat_button_primary_state_default.xml",
         "res/drawable/cat_button_primary_state_disabled.xml",
         "res/drawable/cat_button_primary_state_focused.xml",
         "res/drawable/cat_button_primary_state_pressed.xml",
         "res/drawable/cat_button_small.xml",
         "res/drawable/cat_button_small_state_checked.xml",
         "res/drawable/cat_button_small_state_default.xml",
         "res/drawable/cat_button_small_state_disabled.xml",
         "res/drawable/cat_button_small_state_focused.xml",
         "res/drawable/cat_button_small_state_pressed.xml",
         "res/drawable/cat_button_state_checked.xml",
         "res/drawable/cat_button_state_default.xml",
         "res/drawable/cat_button_state_disabled.xml",
         "res/drawable/cat_button_state_focused.xml",
         "res/drawable/cat_button_state_pressed.xml",
         "res/drawable/cat_card_background.xml",
         "res/drawable/cat_card_foreground.xml",
         "res/drawable/cat_checkbox.xml",
         "res/drawable/cat_dialog_background.xml",
         "res/drawable/cat_dialog_button_bar_background.xml",
         "res/drawable/cat_dialog_button_left.xml",
         "res/drawable/cat_dialog_button_right.xml",
         "res/drawable/cat_dialog_button_single_negative.xml",
         "res/drawable/cat_dialog_button_single_positive.xml",
         "res/drawable/cat_dropdown_list_divider.xml",
         "res/drawable/cat_edit_background.xml",
         "res/drawable/cat_edit_background_dialog.xml",
         "res/drawable/cat_filter_list_background.xml",
         "res/drawable/cat_filter_list_divider.xml",
         "res/drawable/cat_list_divider.xml",
         "res/drawable/cat_list_divider_light.xml",
         "res/drawable/cat_list_divider_vertical.xml",
         "res/drawable/cat_list_popup_filter_selector.xml",
         "res/drawable/cat_list_selector.xml",
         "res/drawable/cat_list_selector_default.xml",
         "res/drawable/cat_list_selector_focused.xml",
         "res/drawable/cat_list_selector_focused_no_margin.xml",
         "res/drawable/cat_list_selector_light.xml",
         "res/drawable/cat_list_selector_light_focused.xml",
         "res/drawable/cat_list_selector_light_pressed.xml",
         "res/drawable/cat_list_selector_no_margin.xml",
         "res/drawable/cat_list_selector_pressed.xml",
         "res/drawable/cat_list_selector_pressed_no_margin.xml",
         "res/drawable/cat_listitem_background.xml",
         "res/drawable/cat_listitem_background_default.xml",
         "res/drawable/cat_navigation_list_divider.xml",
         "res/drawable/cat_navigationitem_background.xml",
         "res/drawable/cat_notificationbadge_background.xml",
         "res/drawable/cat_progress.xml",
         "res/drawable/cat_seekbar_thumb.xml",
         "res/drawable/cat_seekbar_thumb_default.xml",
         "res/drawable/cat_spinner_background.xml",
         "res/drawable/cat_switch.xml",
         "res/drawable/cat_switch_default.xml",
         "res/drawable/cat_switch_disabled.xml",
         "res/drawable/cat_switch_focused.xml",
         "res/drawable/cat_switch_thumb.xml",
         "res/drawable/cat_switch_thumb_default.xml",
         "res/drawable/cat_switch_thumb_disabled.xml",
         "res/drawable/cat_text_background_explicit.xml",
         "res/drawable/com_facebook_button_blue.xml",
         "res/drawable/com_facebook_button_blue_focused.9.png",
         "res/drawable/com_facebook_button_blue_normal.9.png",
         "res/drawable/com_facebook_button_blue_pressed.9.png",
         "res/drawable/com_facebook_button_check.xml",
         "res/drawable/com_facebook_button_check_off.png",
         "res/drawable/com_facebook_button_check_on.png",
         "res/drawable/com_facebook_button_grey_focused.9.png",
         "res/drawable/com_facebook_button_grey_normal.9.png",
         "res/drawable/com_facebook_button_grey_pressed.9.png",
         "res/drawable/com_facebook_button_like.xml",
         "res/drawable/com_facebook_button_like_background.png",
         "res/drawable/com_facebook_button_like_background_selected.png",
         "res/drawable/com_facebook_button_like_icon.png",
         "res/drawable/com_facebook_button_like_icon_selected.png",
         "res/drawable/com_facebook_button_like_pressed.png",
         "res/drawable/com_facebook_button_like_selected.xml",
         "res/drawable/com_facebook_close.png",
         "res/drawable/com_facebook_inverse_icon.png",
         "res/drawable/com_facebook_list_divider.9.png",
         "res/drawable/com_facebook_list_section_header_background.9.png",
         "res/drawable/com_facebook_loginbutton_silver.xml",
         "res/drawable/com_facebook_logo.png",
         "res/drawable/com_facebook_picker_item_background.xml",
         "res/drawable/com_facebook_picker_list_focused.9.png",
         "res/drawable/com_facebook_picker_list_longpressed.9.png",
         "res/drawable/com_facebook_picker_list_pressed.9.png",
         "res/drawable/com_facebook_picker_list_selector.xml",
         "res/drawable/com_facebook_picker_list_selector_background_transition.xml",
         "res/drawable/com_facebook_picker_list_selector_disabled.9.png",
         "res/drawable/com_facebook_picker_top_button.xml",
         "res/drawable/com_facebook_place_default_icon.png",
         "res/drawable/com_facebook_profile_default_icon.png",
         "res/drawable/com_facebook_profile_picture_blank_portrait.png",
         "res/drawable/com_facebook_profile_picture_blank_square.png",
         "res/drawable/com_facebook_top_background.xml",
         "res/drawable/com_facebook_top_button.xml",
         "res/drawable/com_facebook_usersettingsfragment_background_gradient.xml",
         "res/drawable/com_mixpanel_android_arrowleft_insets.xml",
         "res/drawable/com_mixpanel_android_arrowleft_states.xml",
         "res/drawable/com_mixpanel_android_arrowright_insets.xml",
         "res/drawable/com_mixpanel_android_arrowright_states.xml",
         "res/drawable/com_mixpanel_android_checkmark_states.xml",
         "res/drawable/com_mixpanel_android_choice_first_states.xml",
         "res/drawable/com_mixpanel_android_choice_last_states.xml",
         "res/drawable/com_mixpanel_android_choice_middle_states.xml",
         "res/drawable/com_mixpanel_android_nocolor_list.xml",
         "res/drawable/com_mixpanel_android_rounded_bottom.9.png",
         "res/drawable/com_mixpanel_android_rounded_bottom_selected.9.png",
         "res/drawable/com_mixpanel_android_rounded_top.9.png",
         "res/drawable/com_mixpanel_android_rounded_top_selected.9.png",
         "res/drawable/com_mixpanel_android_square.9.png",
         "res/drawable/com_mixpanel_android_square_selected.9.png",
         "res/drawable/com_mixpanel_android_text_answer_border.xml",
         "res/drawable/common_signin_btn_icon_dark.xml",
         "res/drawable/common_signin_btn_icon_light.xml",
         "res/drawable/common_signin_btn_text_dark.xml",
         "res/drawable/common_signin_btn_text_light.xml",
         "res/drawable/fastscroll_selector.xml",
         "res/drawable/icn_loading_indicator.xml",
         "res/drawable/img_end_of_trial.xml",
         "res/drawable/indicator_bar.xml",
         "res/drawable/mft_home_cell_border.xml",
         "res/drawable/player_progress_thumb.xml",
         "res/drawable/profile_panel_badge_background.xml",
         "res/drawable/progress_small.xml",
         "res/drawable/progress_small_holo.xml",
         "res/drawable/socialchart_list_divider.xml",
         "res/drawable/socialchart_remaining_shape.xml",
         "res/drawable/transparent.xml",
         "res/layout-land/fragment_mft2_home.xml",
         "res/layout-land/list.xml",
         "res/layout-land/list_with_overlay.xml",
         "res/layout-land/mobile_artist_bio.xml",
         "res/layout-land/player.xml",
         "res/layout-land/player_content_view.xml",
         "res/layout-land/player_controls.xml",
         "res/layout-v11/abc_screen_content_include.xml",
         "res/layout-v21/abc_screen_toolbar.xml",
         "res/layout/abc_action_bar_title_item.xml",
         "res/layout/abc_action_bar_up_container.xml",
         "res/layout/abc_action_bar_view_list_nav_layout.xml",
         "res/layout/abc_action_menu_item_layout.xml",
         "res/layout/abc_action_menu_layout.xml",
         "res/layout/abc_action_mode_bar.xml",
         "res/layout/abc_action_mode_close_item_material.xml",
         "res/layout/abc_activity_chooser_view.xml",
         "res/layout/abc_activity_chooser_view_include.xml",
         "res/layout/abc_activity_chooser_view_list_item.xml",
         "res/layout/abc_expanded_menu_layout.xml",
         "res/layout/abc_list_menu_item_checkbox.xml",
         "res/layout/abc_list_menu_item_icon.xml",
         "res/layout/abc_list_menu_item_layout.xml",
         "res/layout/abc_list_menu_item_radio.xml",
         "res/layout/abc_popup_menu_item_layout.xml",
         "res/layout/abc_screen_content_include.xml",
         "res/layout/abc_screen_simple.xml",
         "res/layout/abc_screen_simple_overlay_action_mode.xml",
         "res/layout/abc_screen_toolbar.xml",
         "res/layout/abc_search_dropdown_item_icons_2line.xml",
         "res/layout/abc_search_view.xml",
         "res/layout/abc_simple_dropdown_hint.xml",
         "res/layout/actionbar_search.xml",
         "res/layout/activity_annotate_playlist.xml",
         "res/layout/activity_cover_image.xml",
         "res/layout/activity_default.xml",
         "res/layout/activity_device.xml",
         "res/layout/activity_disable_offline_mode.xml",
         "res/layout/activity_facebook_webview.xml",
         "res/layout/activity_general_message_radio_and_premium.xml",
         "res/layout/activity_globe_premium_activation.xml",
         "res/layout/activity_holiday_offer_upsell_interstitial.xml",
         "res/layout/activity_lockscreen.xml",
         "res/layout/activity_marketing_opt_in_body.xml",
         "res/layout/activity_notification_webview.xml",
         "res/layout/activity_open.xml",
         "res/layout/activity_player.xml",
         "res/layout/activity_premium_signup.xml",
         "res/layout/activity_premium_upsell_interstitial.xml",
         "res/layout/activity_reset_password.xml",
         "res/layout/activity_showcase.xml",
         "res/layout/activity_tos_text.xml",
         "res/layout/activity_two_buttons_dialog.xml",
         "res/layout/activity_uninstall_old_app.xml",
         "res/layout/activity_upsell_dialog.xml",
         "res/layout/activity_video_player.xml",
         "res/layout/additional_info_bar.xml",
         "res/layout/biography_image_view.xml",
         "res/layout/browse_cover_card.xml",
         "res/layout/browse_new_releases_header.xml",
         "res/layout/cardview.xml",
         "res/layout/cat_listtile_1.xml",
         "res/layout/cat_listtile_1_image.xml",
         "res/layout/cat_listtile_1_image_small.xml",
         "res/layout/cat_listtile_1_small.xml",
         "res/layout/cat_listtile_2.xml",
         "res/layout/cat_listtile_2_image.xml",
         "res/layout/cat_listtile_2_image_muted.xml",
         "res/layout/cat_listtile_2_muted.xml",
         "res/layout/cat_listtile_2_number.xml",
         "res/layout/cat_listtile_2_number_muted.xml",
         "res/layout/cat_listtile_multiline.xml",
         "res/layout/cell_activity_story.xml",
         "res/layout/cell_artist_portrait.xml",
         "res/layout/cell_browse_genre.xml",
         "res/layout/cell_browse_playlist.xml",
         "res/layout/cell_browse_playlist_horizontal_list.xml",
         "res/layout/cell_browse_trending_artist.xml",
         "res/layout/cell_copyright.xml",
         "res/layout/cell_mft_home.xml",
         "res/layout/cell_navigation.xml",
         "res/layout/cell_square_image.xml",
         "res/layout/cell_track_cover.xml",
         "res/layout/cell_tracks_sample.xml",
         "res/layout/collection_show_all.xml",
         "res/layout/com_facebook_friendpickerfragment.xml",
         "res/layout/com_facebook_login_activity_layout.xml",
         "res/layout/com_facebook_picker_activity_circle_row.xml",
         "res/layout/com_facebook_picker_checkbox.xml",
         "res/layout/com_facebook_picker_image.xml",
         "res/layout/com_facebook_picker_list_row.xml",
         "res/layout/com_facebook_picker_list_section_header.xml",
         "res/layout/com_facebook_picker_search_box.xml",
         "res/layout/com_facebook_picker_title_bar.xml",
         "res/layout/com_facebook_picker_title_bar_stub.xml",
         "res/layout/com_facebook_placepickerfragment.xml",
         "res/layout/com_facebook_placepickerfragment_list_row.xml",
         "res/layout/com_facebook_search_bar_layout.xml",
         "res/layout/com_facebook_tooltip_bubble.xml",
         "res/layout/com_facebook_usersettingsfragment.xml",
         "res/layout/com_mixpanel_android_activity_survey.xml",
         "res/layout/com_mixpanel_android_first_choice_answer.xml",
         "res/layout/com_mixpanel_android_last_choice_answer.xml",
         "res/layout/com_mixpanel_android_middle_choice_answer.xml",
         "res/layout/com_mixpanel_android_question_card.xml",
         "res/layout/connect_playing_from_bar.xml",
         "res/layout/context_menu.xml",
         "res/layout/cosmos_search_cell_mft_appears_on.xml",
         "res/layout/cosmos_search_footer_loading.xml",
         "res/layout/cosmos_search_playlist_row.xml",
         "res/layout/discover_grouped_card.xml",
         "res/layout/discover_story.xml",
         "res/layout/display_banner_ad.xml",
         "res/layout/findfriends_header.xml",
         "res/layout/footer_loading.xml",
         "res/layout/fragment_activity_list_view.xml",
         "res/layout/fragment_add_to_playlist.xml",
         "res/layout/fragment_arsenal_ask_login.xml",
         "res/layout/fragment_arsenal_dywla.xml",
         "res/layout/fragment_arsenal_feedback.xml",
         "res/layout/fragment_arsenal_linking.xml",
         "res/layout/fragment_arsenal_sso.xml",
         "res/layout/fragment_browse_default_list_view.xml",
         "res/layout/fragment_browse_default_list_view_cat.xml",
         "res/layout/fragment_browse_header_background.xml",
         "res/layout/fragment_browse_header_text.xml",
         "res/layout/fragment_collection.xml",
         "res/layout/fragment_context_recognition.xml",
         "res/layout/fragment_cosmos_test.xml",
         "res/layout/fragment_device.xml",
         "res/layout/fragment_discover.xml",
         "res/layout/fragment_inbox.xml",
         "res/layout/fragment_login_new.xml",
         "res/layout/fragment_login_splash.xml",
         "res/layout/fragment_login_welcome.xml",
         "res/layout/fragment_mft2_home.xml",
         "res/layout/fragment_not_available.xml",
         "res/layout/fragment_offline_bar.xml",
         "res/layout/fragment_open_access.xml",
         "res/layout/fragment_profile_panel.xml",
         "res/layout/fragment_push_notification_settings.xml",
         "res/layout/fragment_radio.xml",
         "res/layout/fragment_relatedartists_cat.xml",
         "res/layout/fragment_settings.xml",
         "res/layout/fragment_share_dialog_connect_facebook.xml",
         "res/layout/fragment_share_post.xml",
         "res/layout/fragment_show_licenses.xml",
         "res/layout/fragment_showcase.xml",
         "res/layout/fragment_signup_new.xml",
         "res/layout/fragment_sso_login.xml",
         "res/layout/fragment_start.xml",
         "res/layout/fragment_webview.xml",
         "res/layout/fragment_with_recycler_view.xml",
         "res/layout/fragment_x_promo_welcome.xml",
         "res/layout/generic_dialog_header.xml",
         "res/layout/generic_dialog_two_buttons.xml",
         "res/layout/header_devices.xml",
         "res/layout/header_download.xml",
         "res/layout/header_filter.xml",
         "res/layout/header_info_2_lines_page.xml",
         "res/layout/header_info_page.xml",
         "res/layout/header_pretty_subtitle.xml",
         "res/layout/include_start_login_buttons_anonymous.xml",
         "res/layout/include_start_login_buttons_normal.xml",
         "res/layout/list.xml",
         "res/layout/list_discovery.xml",
         "res/layout/list_frame.xml",
         "res/layout/list_popup.xml",
         "res/layout/list_with_emptyview.xml",
         "res/layout/list_with_overlay.xml",
         "res/layout/loading_view.xml",
         "res/layout/login_content.xml",
         "res/layout/main.xml",
         "res/layout/main_debug_overlay.xml",
         "res/layout/material_listtile_1.xml",
         "res/layout/material_listtile_1_image.xml",
         "res/layout/material_listtile_1_image_small.xml",
         "res/layout/material_listtile_1_small.xml",
         "res/layout/material_listtile_2.xml",
         "res/layout/material_listtile_2_image.xml",
         "res/layout/material_listtile_2_image_muted.xml",
         "res/layout/material_listtile_2_muted.xml",
         "res/layout/material_listtile_2_number.xml",
         "res/layout/material_listtile_2_number_muted.xml",
         "res/layout/material_listtile_multiline.xml",
         "res/layout/media_controller.xml",
         "res/layout/mobile_artist_bio.xml",
         "res/layout/mobile_artist_calendar_sheet_cat.xml",
         "res/layout/mobile_artist_concert_cat.xml",
         "res/layout/mobile_artist_fragment_base.xml",
         "res/layout/mobile_artist_header.xml",
         "res/layout/mobile_artist_header_single_image.xml",
         "res/layout/mobile_artist_page_indicator.xml",
         "res/layout/mobile_artist_portrait.xml",
         "res/layout/navigation.xml",
         "res/layout/notification_big_player.xml",
         "res/layout/notification_big_player_radio.xml",
         "res/layout/notification_coverart_and_text.xml",
         "res/layout/notification_next.xml",
         "res/layout/notification_play_pause.xml",
         "res/layout/notification_small_player.xml",
         "res/layout/page_debug_single_button.xml",
         "res/layout/page_player_done.xml",
         "res/layout/page_player_improving.xml",
         "res/layout/page_player_liked_list.xml",
         "res/layout/page_player_progress.xml",
         "res/layout/page_player_skips_left.xml",
         "res/layout/page_player_suggested_song.xml",
         "res/layout/page_player_text.xml",
         "res/layout/page_upsell_item.xml",
         "res/layout/paste_dialog.xml",
         "res/layout/paste_divider_wrapper.xml",
         "res/layout/paste_empty.xml",
         "res/layout/paste_header.xml",
         "res/layout/paste_listitem.xml",
         "res/layout/paste_match_parent_width.xml",
         "res/layout/paste_navigationitem.xml",
         "res/layout/paste_sectionheader.xml",
         "res/layout/paste_wrap_content.xml",
         "res/layout/placeholder_title.xml",
         "res/layout/play_button_view.xml",
         "res/layout/play_history.xml",
         "res/layout/player.xml",
         "res/layout/player_content_view.xml",
         "res/layout/player_controls.xml",
         "res/layout/player_new.xml",
         "res/layout/player_preview.xml",
         "res/layout/player_preview_item.xml",
         "res/layout/playlist_annotate_overlay.xml",
         "res/layout/popup_gender_select.xml",
         "res/layout/preview_progress_button.xml",
         "res/layout/profile_counts_subheader.xml",
         "res/layout/queue.xml",
         "res/layout/radio_cover_card.xml",
         "res/layout/search.xml",
         "res/layout/section_link_cat.xml",
         "res/layout/settings_basic_row.xml",
         "res/layout/settings_crossfade_row.xml",
         "res/layout/settings_facebook_row.xml",
         "res/layout/settings_spinner_row.xml",
         "res/layout/settings_toggle_button_row.xml",
         "res/layout/share_header.xml",
         "res/layout/simple_text_view.xml",
         "res/layout/socialchart_header2.xml",
         "res/layout/socialchart_smallfriendicon.xml",
         "res/layout/socialchart_trackrow.xml",
         "res/layout/sticky_header_shuffle_play.xml",
         "res/layout/support_simple_spinner_dropdown_item.xml",
         "res/layout/tinkerbell_banner.xml",
         "res/layout/toast.xml",
         "res/layout/tooltip_content.xml",
         "res/layout/update.xml",
         "res/layout/upsell_premium_only.xml",
         "res/layout/view_inboxitem.xml",
         "res/layout/view_volume_widget.xml",
         "res/layout/widget.xml",
         "res/raw/gtm_analytics",
         "res/raw/moments.mp4",
         "res/raw/scene_frag.glsl",
         "res/raw/scene_vert.glsl",
         "res/xml/automotive_app_desc.xml",
         "res/xml/widget_info.xml",
         "resources.arsc",
         "classes.dex",
         "com/fasterxml/jackson/databind/cfg/VERSION.txt",
         "com/fasterxml_uz/jackson/core/json/VERSION.txt",
         "com/fasterxml/jackson/core/json/VERSION.txt",
         "lib/armeabi-v7a/liborbit-jni-spotify.so"
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Files -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Files -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript


class Files(AndroScript):
    ''' List the files of the .apk '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        #categories
        CAT_FILES = "files"
        
        res = self.res
        
        res.register_keys([CAT_FILES])
        
        # files
        res.log(CAT_FILES, apk.get_files())

GVMAnalysisExample

This is an autogenerated documentation file for the script: GVMAnalysisExample

Run it
$ ./androanalyze scripts_builtin/GVMAnalysisExample.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn GVMAnalysisExample -pn com.spotify.music

 Empty
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn GVMAnalysisExample -pn com.spotify.music -nd

 {
     "chunkSize": 261120,
     "filename": "com.spotify.music_2.2.0.636_GVMAnalysisExample.gexf",
     "length": 17514850,
     "uploadDate": "2015-06-26T17:31:16.878000",
     "md5": "73b03cd1de03f65df5c92692b78e3c1d",
     "metadata": {
         "apk meta": {
             "package name": "com.spotify.music",
             "version name": "2.2.0.636",
             "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
             "import date": "2015-04-14T15:10:06.364000",
             "build_date": "2015-02-11T12:25:40",
             "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
             "tag": null
         },
         "script meta": {
             "name": "GVMAnalysisExample",
             "sha256": "798a640e6decd9cbfd9d16c3471a84476659e67d24c2383740aa3df0a373341c",
             "analysis date": "2015-06-26T17:15:36.969000",
             "version": "0.1"
         }
     }
 }

View the raw data:

$ ./androquery result -sn GVMAnalysisExample -pn com.spotify.music -nd -r

 <?xml version="1.0" encoding="UTF-8"?>
 <gexf xmlns="http://www.gephi.org/gexf" xmlns:viz="http://www.gephi.org/gexf/viz">
 <graph type="static">
 <attributes class="node" type="static">
 <attribute default="normal" id="0" title="type" type="string"/>
 <attribute id="1" title="class_name" type="string"/>
 <attribute id="2" title="method_name" type="string"/>
 <attribute id="3" title="descriptor" type="string"/>
 <attribute default="0" id="4" title="permissions" type="integer"/>
 <attribute default="normal" id="5" title="permissions_level" type="string"/>
 <attribute default="false" id="6" title="dynamic_code" type="boolean"/>
 </attributes>
 <nodes>
 <node id="0" label="Lcom/spotify/music/MainActivity; onCreate (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onCreate"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="1" label="Lcom/spotify/mobile/android/util/ay; &lt;init&gt; (Lcom/spotify/mobile/android/ui/g;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/util/ay;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/g;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="2" label="Lcom/google/android/gms/maps/StreetViewPanoramaOptions; &lt;clinit&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/StreetViewPanoramaOptions;"/>
 <attvalue id="2" value="&lt;clinit&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="3" label="Lcom/google/android/gms/maps/e; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/e;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="4" label="Lcom/google/android/gms/maps/StreetViewPanoramaOptions; writeToParcel (Landroid/os/Parcel; I)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/StreetViewPanoramaOptions;"/>
 <attvalue id="2" value="writeToParcel"/>
 <attvalue id="3" value="(Landroid/os/Parcel; I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="5" label="Lcom/google/android/gms/maps/e; a (Lcom/google/android/gms/maps/StreetViewPanoramaOptions; Landroid/os/Parcel; I)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/e;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/google/android/gms/maps/StreetViewPanoramaOptions; Landroid/os/Parcel; I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="6" label="Lcom/google/android/gms/maps/e; createFromParcel (Landroid/os/Parcel;)Ljava/lang/Object;">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/e;"/>
 <attvalue id="2" value="createFromParcel"/>
 <attvalue id="3" value="(Landroid/os/Parcel;)Ljava/lang/Object;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="7" label="Lcom/google/android/gms/maps/e; a (Landroid/os/Parcel;)Lcom/google/android/gms/maps/StreetViewPanoramaOptions;">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/e;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/os/Parcel;)Lcom/google/android/gms/maps/StreetViewPanoramaOptions;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="8" label="Lcom/spotify/mobile/android/spotlets/search/view/SearchViewsManager; &lt;init&gt; (Lcom/spotify/mobile/android/spotlets/search/b; Lcom/spotify/mobile/android/spotlets/search/model/d; Lcom/spotify/mobile/android/spotlets/search/e; Lcom/spotify/mobile/android/spotlets/search/view/h;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/search/view/SearchViewsManager;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/spotlets/search/b; Lcom/spotify/mobile/android/spotlets/search/model/d; Lcom/spotify/mobile/android/spotlets/search/e; Lcom/spotify/mobile/android/spotlets/search/view/h;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="9" label="Lcom/spotify/mobile/android/spotlets/search/view/SearchViewsManager$6; &lt;init&gt; (Lcom/spotify/mobile/android/spotlets/search/view/SearchViewsManager;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/search/view/SearchViewsManager$6;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/spotlets/search/view/SearchViewsManager;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="10" label="Lcom/spotify/mobile/android/util/l; &lt;clinit&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/util/l;"/>
 <attvalue id="2" value="&lt;clinit&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="11" label="Lcom/spotify/mobile/android/util/o; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/util/o;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="12" label="Lcom/squareup/okhttp/internal/http/p; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/p;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="13" label="Lcom/squareup/okhttp/internal/http/al; a (Lcom/squareup/okhttp/internal/http/u;)Lcom/squareup/okhttp/internal/a/o;">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/squareup/okhttp/internal/http/u;)Lcom/squareup/okhttp/internal/a/o;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="14" label="Lcom/squareup/okhttp/internal/http/p; i ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/p;"/>
 <attvalue id="2" value="i"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="15" label="Lcom/squareup/okhttp/internal/http/al; c ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="16" label="Lcom/squareup/okhttp/internal/http/p; j ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/p;"/>
 <attvalue id="2" value="j"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="17" label="Lcom/squareup/okhttp/internal/http/al; a (Lcom/squareup/okhttp/internal/http/p;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/squareup/okhttp/internal/http/p;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="18" label="Lcom/squareup/okhttp/internal/http/p; k ()Lcom/squareup/okhttp/g;">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/p;"/>
 <attvalue id="2" value="k"/>
 <attvalue id="3" value="()Lcom/squareup/okhttp/g;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="19" label="Lcom/squareup/okhttp/internal/http/al; d ()Z">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="d"/>
 <attvalue id="3" value="()Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="20" label="Lcom/squareup/okhttp/internal/http/p; m ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/p;"/>
 <attvalue id="2" value="m"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="21" label="Lcom/squareup/okhttp/internal/http/al; b (Lcom/squareup/okhttp/internal/http/u;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Lcom/squareup/okhttp/internal/http/u;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="22" label="Lcom/squareup/okhttp/internal/http/al; a (Lcom/squareup/okhttp/internal/http/ag;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/squareup/okhttp/internal/http/ag;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="23" label="Lcom/squareup/okhttp/internal/http/al; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="24" label="Lcom/squareup/okhttp/internal/http/al; b ()Lcom/squareup/okhttp/internal/http/ab;">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()Lcom/squareup/okhttp/internal/http/ab;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="25" label="Lcom/squareup/okhttp/internal/http/al; e ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="e"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="26" label="Lcom/squareup/okhttp/internal/http/al; a (Ljava/net/CacheRequest;)Lcom/squareup/okhttp/internal/a/p;">
 <attvalues>
 <attvalue id="1" value="Lcom/squareup/okhttp/internal/http/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Ljava/net/CacheRequest;)Lcom/squareup/okhttp/internal/a/p;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="27" label="Landroid/support/v7/app/e; a (Landroid/support/v7/b/b;)Landroid/support/v7/b/a;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/e;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/b;)Landroid/support/v7/b/a;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="28" label="Landroid/support/v7/b/b; a (Landroid/support/v7/b/a; Landroid/view/Menu;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/b/b;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a; Landroid/view/Menu;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="29" label="Landroid/support/v7/app/g; a (Landroid/support/v7/b/a;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/g;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="30" label="Landroid/support/v7/b/b; a (Landroid/support/v7/b/a;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/b/b;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="31" label="Landroid/support/v7/app/g; a (Landroid/support/v7/b/a; Landroid/view/Menu;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/g;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a; Landroid/view/Menu;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="32" label="Landroid/support/v7/app/g; a (Landroid/support/v7/b/a; Landroid/view/MenuItem;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/g;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a; Landroid/view/MenuItem;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="33" label="Landroid/support/v7/b/b; a (Landroid/support/v7/b/a; Landroid/view/MenuItem;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/b/b;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a; Landroid/view/MenuItem;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="34" label="Landroid/support/v7/app/g; b (Landroid/support/v7/b/a; Landroid/view/Menu;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/g;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a; Landroid/view/Menu;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="35" label="Landroid/support/v7/b/b; b (Landroid/support/v7/b/a; Landroid/view/Menu;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/b/b;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Landroid/support/v7/b/a; Landroid/view/Menu;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="36" label="Landroid/support/v7/internal/a/g; h ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/a/g;"/>
 <attvalue id="2" value="h"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="37" label="Landroid/support/v7/internal/a/h; a (Landroid/support/v7/internal/view/menu/i; Landroid/view/MenuItem;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/a/h;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/internal/view/menu/i; Landroid/view/MenuItem;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="38" label="Landroid/support/v7/internal/a/h; b ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/a/h;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="39" label="Landroid/support/v7/internal/a/h; c ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/a/h;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="40" label="Landroid/support/v7/internal/a/h; d ()Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/a/h;"/>
 <attvalue id="2" value="d"/>
 <attvalue id="3" value="()Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="41" label="Landroid/support/v7/internal/view/b; a (Landroid/support/v7/internal/view/menu/i; Landroid/view/MenuItem;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/view/b;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/internal/view/menu/i; Landroid/view/MenuItem;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="42" label="Landroid/support/v7/internal/view/b; b ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/view/b;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="43" label="Landroid/support/v7/internal/view/b; c ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/view/b;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="44" label="Lcom/spotify/mobile/android/spotlets/user/ProfileFragment$5; onResolved (Lcom/spotify/cosmos/router/Response; Ljava/lang/Object;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/user/ProfileFragment$5;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response; Ljava/lang/Object;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="45" label="Lcom/spotify/mobile/android/spotlets/user/ProfileFragment$5; a (Lcom/spotify/mobile/android/spotlets/user/ProfileV2VolatileModel;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/user/ProfileFragment$5;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/spotlets/user/ProfileV2VolatileModel;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="46" label="Lcom/spotify/mobile/android/spotlets/user/f; K ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/user/f;"/>
 <attvalue id="2" value="K"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="47" label="Lcom/spotify/mobile/android/spotlets/user/ProfileFragment$5; &lt;init&gt; (Lcom/spotify/mobile/android/spotlets/user/f; Landroid/os/Handler; Ljava/lang/Class;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/user/ProfileFragment$5;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/spotlets/user/f; Landroid/os/Handler; Ljava/lang/Class;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="48" label="Lcom/google/android/gms/internal/mr; a (Lcom/google/android/gms/internal/oe; Lcom/google/android/gms/maps/model/LatLngBounds; Ljava/util/List; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/internal/mr;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/google/android/gms/internal/oe; Lcom/google/android/gms/maps/model/LatLngBounds; Ljava/util/List; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="49" label="Lcom/google/android/gms/maps/model/LatLngBounds; writeToParcel (Landroid/os/Parcel; I)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/model/LatLngBounds;"/>
 <attvalue id="2" value="writeToParcel"/>
 <attvalue id="3" value="(Landroid/os/Parcel; I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="50" label="Lcom/google/android/gms/internal/mr; a (Lcom/google/android/gms/maps/model/LatLngBounds; I Lcom/google/android/gms/internal/nu; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/internal/mr;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/google/android/gms/maps/model/LatLngBounds; I Lcom/google/android/gms/internal/nu; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="51" label="Lcom/google/android/gms/internal/mr; a (Lcom/google/android/gms/maps/model/LatLngBounds; I Ljava/lang/String; Lcom/google/android/gms/internal/nu; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/internal/mr;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/google/android/gms/maps/model/LatLngBounds; I Ljava/lang/String; Lcom/google/android/gms/internal/nu; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="52" label="Lcom/google/android/gms/internal/mr; a (Ljava/lang/String; Lcom/google/android/gms/maps/model/LatLngBounds; Lcom/google/android/gms/internal/nq; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/internal/mr;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Ljava/lang/String; Lcom/google/android/gms/maps/model/LatLngBounds; Lcom/google/android/gms/internal/nq; Lcom/google/android/gms/internal/oh; Lcom/google/android/gms/internal/nh;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="53" label="Lcom/google/android/gms/maps/model/e; a (Landroid/os/Parcel;)Lcom/google/android/gms/maps/model/LatLngBounds;">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/model/e;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/os/Parcel;)Lcom/google/android/gms/maps/model/LatLngBounds;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="54" label="Lcom/google/android/gms/maps/model/LatLngBounds; &lt;init&gt; (I Lcom/google/android/gms/maps/model/LatLng; Lcom/google/android/gms/maps/model/LatLng;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/model/LatLngBounds;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(I Lcom/google/android/gms/maps/model/LatLng; Lcom/google/android/gms/maps/model/LatLng;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="55" label="Lcom/spotify/mobile/android/service/media/browser/d; a (Ljava/lang/String; Lcom/spotify/mobile/android/service/media/browser/e;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/service/media/browser/d;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Ljava/lang/String; Lcom/spotify/mobile/android/service/media/browser/e;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="56" label="Lcom/spotify/mobile/android/service/media/browser/d$1; &lt;init&gt; (Lcom/spotify/mobile/android/service/media/browser/d; Lcom/spotify/mobile/android/service/media/browser/g; Ljava/lang/String; Lcom/spotify/mobile/android/service/media/browser/e;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/service/media/browser/d$1;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/service/media/browser/d; Lcom/spotify/mobile/android/service/media/browser/g; Ljava/lang/String; Lcom/spotify/mobile/android/service/media/browser/e;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="57" label="Lcom/spotify/mobile/android/service/flow/login/a/f; &lt;init&gt; (Lcom/spotify/mobile/android/util/bf;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/service/flow/login/a/f;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/util/bf;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="58" label="Lcom/spotify/mobile/android/service/flow/login/a/a; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/service/flow/login/a/a;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="59" label="Landroid/support/v7/app/v; onCreate (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onCreate"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="60" label="Landroid/support/v7/app/v; getWindow ()Landroid/view/Window;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="getWindow"/>
 <attvalue id="3" value="()Landroid/view/Window;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="61" label="Lcom/spotify/mobile/android/spotlets/mft/a; n ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/mft/a;"/>
 <attvalue id="2" value="n"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="62" label="Landroid/support/v7/app/v; r_ ()Landroid/support/v7/app/ActionBar;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="r_"/>
 <attvalue id="3" value="()Landroid/support/v7/app/ActionBar;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="63" label="Lcom/spotify/mobile/android/spotlets/mft/a; o ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/mft/a;"/>
 <attvalue id="2" value="o"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="64" label="Lcom/spotify/mobile/android/spotlets/share/PostActivity; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/share/PostActivity;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="65" label="Landroid/support/v7/app/v; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="66" label="Lcom/spotify/mobile/android/spotlets/share/PostActivity; onBackPressed ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/share/PostActivity;"/>
 <attvalue id="2" value="onBackPressed"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="67" label="Landroid/support/v7/app/v; onBackPressed ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onBackPressed"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="68" label="Lcom/spotify/mobile/android/spotlets/share/PostActivity; onCreate (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/share/PostActivity;"/>
 <attvalue id="2" value="onCreate"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="69" label="Lcom/spotify/mobile/android/spotlets/share/PostActivity; onResume ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/share/PostActivity;"/>
 <attvalue id="2" value="onResume"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="70" label="Landroid/support/v7/app/v; onResume ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onResume"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="71" label="Lcom/spotify/music/MainActivity; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="72" label="Lcom/spotify/music/MainActivity; n_ ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="n_"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="73" label="Landroid/support/v7/app/v; n_ ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="n_"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="74" label="Lcom/spotify/music/MainActivity; onConfigurationChanged (Landroid/content/res/Configuration;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onConfigurationChanged"/>
 <attvalue id="3" value="(Landroid/content/res/Configuration;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="75" label="Landroid/support/v7/app/v; onConfigurationChanged (Landroid/content/res/Configuration;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onConfigurationChanged"/>
 <attvalue id="3" value="(Landroid/content/res/Configuration;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="76" label="Lcom/spotify/music/MainActivity; onDestroy ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onDestroy"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="77" label="Landroid/support/v7/app/v; onDestroy ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onDestroy"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="78" label="Lcom/spotify/music/MainActivity; onKeyDown (I Landroid/view/KeyEvent;)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onKeyDown"/>
 <attvalue id="3" value="(I Landroid/view/KeyEvent;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="79" label="Landroid/support/v7/app/v; onKeyDown (I Landroid/view/KeyEvent;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onKeyDown"/>
 <attvalue id="3" value="(I Landroid/view/KeyEvent;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="80" label="Lcom/spotify/music/MainActivity; onOptionsItemSelected (Landroid/view/MenuItem;)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onOptionsItemSelected"/>
 <attvalue id="3" value="(Landroid/view/MenuItem;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="81" label="Landroid/support/v7/app/v; onOptionsItemSelected (Landroid/view/MenuItem;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onOptionsItemSelected"/>
 <attvalue id="3" value="(Landroid/view/MenuItem;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="82" label="Lcom/spotify/music/MainActivity; onPause ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onPause"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="83" label="Landroid/support/v7/app/v; onPause ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onPause"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="84" label="Lcom/spotify/music/MainActivity; onPostCreate (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onPostCreate"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="85" label="Landroid/support/v7/app/v; onPostCreate (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onPostCreate"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="86" label="Lcom/spotify/music/MainActivity; onPreparePanel (I Landroid/view/View; Landroid/view/Menu;)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onPreparePanel"/>
 <attvalue id="3" value="(I Landroid/view/View; Landroid/view/Menu;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="87" label="Landroid/support/v7/app/v; onPreparePanel (I Landroid/view/View; Landroid/view/Menu;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onPreparePanel"/>
 <attvalue id="3" value="(I Landroid/view/View; Landroid/view/Menu;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="88" label="Lcom/spotify/music/MainActivity; onResume ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onResume"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="89" label="Lcom/spotify/music/MainActivity; onSaveInstanceState (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onSaveInstanceState"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="90" label="Landroid/support/v7/app/v; onSaveInstanceState (Landroid/os/Bundle;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onSaveInstanceState"/>
 <attvalue id="3" value="(Landroid/os/Bundle;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="91" label="Lcom/spotify/music/MainActivity; onStart ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onStart"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="92" label="Landroid/support/v7/app/v; onStart ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onStart"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="93" label="Lcom/spotify/music/MainActivity; onStop ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onStop"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="94" label="Landroid/support/v7/app/v; onStop ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onStop"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="95" label="Lcom/spotify/music/MainActivity; onUserLeaveHint ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/MainActivity;"/>
 <attvalue id="2" value="onUserLeaveHint"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="96" label="Landroid/support/v7/app/v; onUserLeaveHint ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/app/v;"/>
 <attvalue id="2" value="onUserLeaveHint"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="97" label="Landroid/support/v4/view/ah; a (Landroid/view/MenuItem; Landroid/view/View;)Landroid/view/MenuItem;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/ah;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/MenuItem; Landroid/view/View;)Landroid/view/MenuItem;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="98" label="Landroid/support/v4/view/al; a (Landroid/view/MenuItem; Landroid/view/View;)Landroid/view/MenuItem;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/MenuItem; Landroid/view/View;)Landroid/view/MenuItem;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="99" label="Landroid/support/v4/view/ah; a (Landroid/view/MenuItem;)Landroid/view/View;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/ah;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/MenuItem;)Landroid/view/View;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="100" label="Landroid/support/v4/view/al; a (Landroid/view/MenuItem;)Landroid/view/View;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/MenuItem;)Landroid/view/View;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="101" label="Landroid/support/v4/view/ah; a (Landroid/view/MenuItem; I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/ah;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/MenuItem; I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="102" label="Landroid/support/v4/view/al; a (Landroid/view/MenuItem; I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/al;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/MenuItem; I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="103" label="Landroid/support/v4/view/ah; b (Landroid/view/MenuItem; I)Landroid/view/MenuItem;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/ah;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Landroid/view/MenuItem; I)Landroid/view/MenuItem;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="104" label="Landroid/support/v4/view/al; b (Landroid/view/MenuItem; I)Landroid/view/MenuItem;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/view/al;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Landroid/view/MenuItem; I)Landroid/view/MenuItem;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="105" label="Lcom/spotify/mobile/android/f/h$1; a (Z Z)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h$1;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Z Z)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="106" label="Lcom/spotify/mobile/android/f/h; m_ ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h;"/>
 <attvalue id="2" value="m_"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="107" label="Lcom/spotify/mobile/android/f/h; c ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="108" label="Lcom/spotify/mobile/android/f/h$1; c ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h$1;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="109" label="Lcom/spotify/mobile/android/f/r; &lt;init&gt; (Lcom/spotify/mobile/android/service/SpotifyService; Lcom/spotify/mobile/android/service/managers/g; Lcom/spotify/mobile/android/f/t; Lcom/spotify/mobile/android/f/q; Lcom/spotify/mobile/android/service/am; Lcom/spotify/mobile/android/service/al; Lcom/spotify/mobile/android/service/managers/ConnectManager; Lcom/spotify/mobile/android/service/managers/i;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/r;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/service/SpotifyService; Lcom/spotify/mobile/android/service/managers/g; Lcom/spotify/mobile/android/f/t; Lcom/spotify/mobile/android/f/q; Lcom/spotify/mobile/android/service/am; Lcom/spotify/mobile/android/service/al; Lcom/spotify/mobile/android/service/managers/ConnectManager; Lcom/spotify/mobile/android/service/managers/i;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="110" label="Lcom/spotify/mobile/android/f/h; a (Lcom/spotify/mobile/android/f/s;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/f/s;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="111" label="Lcom/spotify/mobile/android/f/t; &lt;init&gt; (Lcom/spotify/mobile/android/f/q;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/t;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/f/q;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="112" label="Lcom/spotify/mobile/android/f/h; &lt;init&gt; (Lcom/spotify/mobile/android/f/q;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/f/q;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="113" label="Lcom/spotify/mobile/android/f/t; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/t;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="114" label="Lcom/spotify/mobile/android/f/h; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/h;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="115" label="Landroid/support/v4/content/q; a (Landroid/content/Intent;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/content/q;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/content/Intent;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="116" label="Landroid/support/v4/content/r; &lt;init&gt; (Landroid/content/Intent; Ljava/util/ArrayList;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v4/content/r;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Landroid/content/Intent; Ljava/util/ArrayList;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="117" label="Lcom/fasterxml/jackson/databind/AnnotationIntrospector; findNameForDeserialization (Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/AnnotationIntrospector;"/>
 <attvalue id="2" value="findNameForDeserialization"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="118" label="Lcom/fasterxml/jackson/databind/PropertyName; &lt;init&gt; (Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="119" label="Lcom/fasterxml/jackson/databind/AnnotationIntrospector; findNameForSerialization (Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/AnnotationIntrospector;"/>
 <attvalue id="2" value="findNameForSerialization"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="120" label="Lcom/fasterxml/jackson/databind/PropertyName; &lt;clinit&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="2" value="&lt;clinit&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="121" label="Lcom/fasterxml/jackson/databind/PropertyName; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="122" label="Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory; _addDeserializerConstructors (Lcom/fasterxml/jackson/databind/DeserializationContext; Lcom/fasterxml/jackson/databind/BeanDescription; Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker; Lcom/fasterxml/jackson/databind/AnnotationIntrospector; Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory;"/>
 <attvalue id="2" value="_addDeserializerConstructors"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/DeserializationContext; Lcom/fasterxml/jackson/databind/BeanDescription; Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker; Lcom/fasterxml/jackson/databind/AnnotationIntrospector; Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="123" label="Lcom/fasterxml/jackson/databind/PropertyName; getSimpleName ()Ljava/lang/String;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="2" value="getSimpleName"/>
 <attvalue id="3" value="()Ljava/lang/String;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="124" label="Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory; _addDeserializerFactoryMethods (Lcom/fasterxml/jackson/databind/DeserializationContext; Lcom/fasterxml/jackson/databind/BeanDescription; Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker; Lcom/fasterxml/jackson/databind/AnnotationIntrospector; Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory;"/>
 <attvalue id="2" value="_addDeserializerFactoryMethods"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/DeserializationContext; Lcom/fasterxml/jackson/databind/BeanDescription; Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker; Lcom/fasterxml/jackson/databind/AnnotationIntrospector; Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="125" label="Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory; _handleSingleArgumentConstructor (Lcom/fasterxml/jackson/databind/DeserializationContext; Lcom/fasterxml/jackson/databind/BeanDescription; Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker; Lcom/fasterxml/jackson/databind/AnnotationIntrospector; Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector; Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor; Z Z)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/deser/BasicDeserializerFactory;"/>
 <attvalue id="2" value="_handleSingleArgumentConstructor"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/DeserializationContext; Lcom/fasterxml/jackson/databind/BeanDescription; Lcom/fasterxml/jackson/databind/introspect/VisibilityChecker; Lcom/fasterxml/jackson/databind/AnnotationIntrospector; Lcom/fasterxml/jackson/databind/deser/impl/CreatorCollector; Lcom/fasterxml/jackson/databind/introspect/AnnotatedConstructor; Z Z)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="126" label="Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector; findNameForDeserialization (Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector;"/>
 <attvalue id="2" value="findNameForDeserialization"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="127" label="Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector; findNameForSerialization (Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector;"/>
 <attvalue id="2" value="findNameForSerialization"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="128" label="Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector; findRootName (Lcom/fasterxml/jackson/databind/introspect/AnnotatedClass;)Lcom/fasterxml/jackson/databind/PropertyName;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/JacksonAnnotationIntrospector;"/>
 <attvalue id="2" value="findRootName"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/AnnotatedClass;)Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="129" label="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector; _addCreators ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;"/>
 <attvalue id="2" value="_addCreators"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="130" label="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector; _addFields ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;"/>
 <attvalue id="2" value="_addFields"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="131" label="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector; _addGetterMethod (Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod; Lcom/fasterxml/jackson/databind/AnnotationIntrospector;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;"/>
 <attvalue id="2" value="_addGetterMethod"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod; Lcom/fasterxml/jackson/databind/AnnotationIntrospector;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="132" label="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector; _addSetterMethod (Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod; Lcom/fasterxml/jackson/databind/AnnotationIntrospector;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;"/>
 <attvalue id="2" value="_addSetterMethod"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod; Lcom/fasterxml/jackson/databind/AnnotationIntrospector;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="133" label="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector; _renameWithWrappers ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/introspect/POJOPropertiesCollector;"/>
 <attvalue id="2" value="_renameWithWrappers"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="134" label="Lcom/fasterxml/jackson/databind/PropertyName; hasSimpleName ()Z">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/PropertyName;"/>
 <attvalue id="2" value="hasSimpleName"/>
 <attvalue id="3" value="()Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="135" label="Lcom/fasterxml/jackson/databind/util/RootNameLookup; findRootName (Ljava/lang/Class; Lcom/fasterxml/jackson/databind/cfg/MapperConfig;)Lcom/fasterxml/jackson/core/io/SerializedString;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/util/RootNameLookup;"/>
 <attvalue id="2" value="findRootName"/>
 <attvalue id="3" value="(Ljava/lang/Class; Lcom/fasterxml/jackson/databind/cfg/MapperConfig;)Lcom/fasterxml/jackson/core/io/SerializedString;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="136" label="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel$1; createFromParcel (Landroid/os/Parcel;)Ljava/lang/Object;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel$1;"/>
 <attvalue id="2" value="createFromParcel"/>
 <attvalue id="3" value="(Landroid/os/Parcel;)Ljava/lang/Object;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="137" label="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel$1; a (Landroid/os/Parcel;)Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel$1;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/os/Parcel;)Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="138" label="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel; &lt;clinit&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel;"/>
 <attvalue id="2" value="&lt;clinit&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="139" label="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel$1; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/spotlets/discover/model/DiscoverStoryModel$1;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="140" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory; &lt;clinit&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="2" value="&lt;clinit&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="141" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$4; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$4;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="142" label="Lcom/spotify/mobile/android/spotlets/openaccess/util/d$2; onError (Landroid/media/MediaPlayer; I I)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/openaccess/util/d$2;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Landroid/media/MediaPlayer; I I)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="143" label="Lcom/spotify/mobile/android/spotlets/openaccess/util/d$2; a (Landroid/media/MediaPlayer; I I)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/openaccess/util/d$2;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/media/MediaPlayer; I I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="144" label="Lcom/spotify/mobile/android/spotlets/openaccess/util/d; &lt;init&gt; (Landroid/content/Context; Landroid/media/MediaPlayer; Landroid/media/MediaPlayer;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/openaccess/util/d;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Landroid/content/Context; Landroid/media/MediaPlayer; Landroid/media/MediaPlayer;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="145" label="Lcom/spotify/mobile/android/spotlets/openaccess/util/d$2; &lt;init&gt; (Lcom/spotify/mobile/android/spotlets/openaccess/util/d;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/openaccess/util/d$2;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/spotlets/openaccess/util/d;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="146" label="Landroid/support/v7/internal/widget/ab; a (Landroid/support/v7/app/a;)Landroid/support/v7/internal/widget/ad;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ab;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/app/a;)Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="147" label="Landroid/support/v7/internal/widget/ad; &lt;init&gt; (Landroid/support/v7/internal/widget/ab; Landroid/content/Context; Landroid/support/v7/app/a;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Landroid/support/v7/internal/widget/ab; Landroid/content/Context; Landroid/support/v7/app/a;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="148" label="Landroid/support/v7/internal/widget/ad; setBackgroundDrawable (Landroid/graphics/drawable/Drawable;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="setBackgroundDrawable"/>
 <attvalue id="3" value="(Landroid/graphics/drawable/Drawable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="149" label="Landroid/support/v7/internal/widget/ad; setLayoutParams (Landroid/view/ViewGroup$LayoutParams;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="setLayoutParams"/>
 <attvalue id="3" value="(Landroid/view/ViewGroup$LayoutParams;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="150" label="Landroid/support/v7/internal/widget/ac; getView (I Landroid/view/View; Landroid/view/ViewGroup;)Landroid/view/View;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ac;"/>
 <attvalue id="2" value="getView"/>
 <attvalue id="3" value="(I Landroid/view/View; Landroid/view/ViewGroup;)Landroid/view/View;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="151" label="Landroid/support/v7/internal/widget/ad; a (Landroid/support/v7/app/a;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/support/v7/app/a;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="152" label="Landroid/support/v7/internal/widget/ad; b (I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="153" label="Landroid/support/v7/internal/widget/ad; a ()V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="154" label="Landroid/support/v7/internal/widget/ad; addView (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="addView"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="155" label="Landroid/support/v7/internal/widget/ad; removeView (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="removeView"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="156" label="Landroid/support/v7/internal/widget/ad; getContext ()Landroid/content/Context;">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="getContext"/>
 <attvalue id="3" value="()Landroid/content/Context;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="157" label="Landroid/support/v7/internal/widget/ad; addView (Landroid/view/View; I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="addView"/>
 <attvalue id="3" value="(Landroid/view/View; I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="158" label="Landroid/support/v7/internal/widget/ad; setOnLongClickListener (Landroid/view/View$OnLongClickListener;)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="setOnLongClickListener"/>
 <attvalue id="3" value="(Landroid/view/View$OnLongClickListener;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="159" label="Landroid/support/v7/internal/widget/ad; setLongClickable (Z)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="setLongClickable"/>
 <attvalue id="3" value="(Z)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="160" label="Landroid/support/v7/internal/widget/ad; onLongClick (Landroid/view/View;)Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="onLongClick"/>
 <attvalue id="3" value="(Landroid/view/View;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="161" label="Landroid/support/v7/internal/widget/ad; getLocationOnScreen ([I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="getLocationOnScreen"/>
 <attvalue id="3" value="([I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="162" label="Landroid/support/v7/internal/widget/ad; getWidth ()I">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="getWidth"/>
 <attvalue id="3" value="()I"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="163" label="Landroid/support/v7/internal/widget/ad; getHeight ()I">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="getHeight"/>
 <attvalue id="3" value="()I"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="164" label="Landroid/support/v7/internal/widget/ad; onMeasure (I I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="onMeasure"/>
 <attvalue id="3" value="(I I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="165" label="Landroid/support/v7/internal/widget/ad; getMeasuredWidth ()I">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="getMeasuredWidth"/>
 <attvalue id="3" value="()I"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="166" label="Landroid/support/v7/internal/widget/ad; setSelected (Z)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="setSelected"/>
 <attvalue id="3" value="(Z)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="167" label="Landroid/support/v7/internal/widget/ad; isSelected ()Z">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="isSelected"/>
 <attvalue id="3" value="()Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="168" label="Landroid/support/v7/internal/widget/ad; sendAccessibilityEvent (I)V">
 <attvalues>
 <attvalue id="1" value="Landroid/support/v7/internal/widget/ad;"/>
 <attvalue id="2" value="sendAccessibilityEvent"/>
 <attvalue id="3" value="(I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="169" label="Lcom/spotify/mobile/android/ui/contextmenu/h; a (Ljava/lang/String; Ljava/lang/String; I Lcom/spotify/mobile/android/ui/fragments/logic/Flags;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/contextmenu/h;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String; I Lcom/spotify/mobile/android/ui/fragments/logic/Flags;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="170" label="Lcom/spotify/mobile/android/ui/contextmenu/h$6; &lt;init&gt; (Lcom/spotify/mobile/android/ui/contextmenu/h; Lcom/spotify/mobile/android/ui/fragments/logic/Flags; Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/contextmenu/h$6;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/contextmenu/h; Lcom/spotify/mobile/android/ui/fragments/logic/Flags; Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="171" label="Lcom/spotify/mobile/android/ui/view/snowglobe/a/d; a (D D)D">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/view/snowglobe/a/d;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(D D)D"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="172" label="Lcom/spotify/mobile/android/ui/view/snowglobe/a/d; a (D)I">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/view/snowglobe/a/d;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(D)I"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="173" label="Lcom/spotify/mobile/android/ui/view/snowglobe/a/d; a (Lcom/spotify/mobile/android/ui/view/snowglobe/a/e; D D)D">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/view/snowglobe/a/d;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/view/snowglobe/a/e; D D)D"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="174" label="Lcom/spotify/mobile/android/ui/view/snowglobe/d; a (I)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/view/snowglobe/d;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(I)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="175" label="Lcom/spotify/mobile/android/spotlets/collection/fragments/b; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/collection/fragments/b;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="176" label="Lcom/spotify/mobile/android/spotlets/collection/fragments/b$10; &lt;init&gt; (Lcom/spotify/mobile/android/spotlets/collection/fragments/b;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/collection/fragments/b$10;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/spotlets/collection/fragments/b;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="177" label="Lcom/google/android/gms/maps/model/i; a (Landroid/os/Parcel;)Lcom/google/android/gms/maps/model/StreetViewPanoramaCamera;">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/model/i;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/os/Parcel;)Lcom/google/android/gms/maps/model/StreetViewPanoramaCamera;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="178" label="Lcom/google/android/gms/maps/model/StreetViewPanoramaCamera; &lt;init&gt; (I F F F)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/maps/model/StreetViewPanoramaCamera;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(I F F F)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="179" label="Lcom/spotify/mobile/android/f/e$1; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/e$1;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="180" label="Lcom/spotify/mobile/android/spotlets/ads/c; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="181" label="Lcom/spotify/mobile/android/f/e$1; b ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/e$1;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="182" label="Lcom/spotify/mobile/android/spotlets/ads/c; b ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="183" label="Lcom/spotify/mobile/android/f/e$2; a ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/e$2;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="184" label="Lcom/spotify/mobile/android/spotlets/ads/c; c ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="185" label="Lcom/spotify/mobile/android/f/e$2; b ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/f/e$2;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="186" label="Lcom/spotify/mobile/android/spotlets/ads/c; d ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="2" value="d"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="187" label="Lcom/spotify/mobile/android/spotlets/ads/c; e ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="2" value="e"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="188" label="Lcom/spotify/music/a$6; b ()Lcom/spotify/mobile/android/spotlets/ads/c;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/music/a$6;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="()Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="189" label="Lcom/spotify/mobile/android/spotlets/ads/c; &lt;init&gt; (Landroid/content/Context;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/spotlets/ads/c;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Landroid/content/Context;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="190" label="Lcom/fasterxml/jackson/databind/type/TypeFactory; _constructType (Ljava/lang/reflect/Type; Lcom/fasterxml/jackson/databind/type/TypeBindings;)Lcom/fasterxml/jackson/databind/JavaType;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/type/TypeFactory;"/>
 <attvalue id="2" value="_constructType"/>
 <attvalue id="3" value="(Ljava/lang/reflect/Type; Lcom/fasterxml/jackson/databind/type/TypeBindings;)Lcom/fasterxml/jackson/databind/JavaType;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="191" label="Lcom/fasterxml/jackson/databind/type/TypeModifier; modifyType (Lcom/fasterxml/jackson/databind/JavaType; Ljava/lang/reflect/Type; Lcom/fasterxml/jackson/databind/type/TypeBindings; Lcom/fasterxml/jackson/databind/type/TypeFactory;)Lcom/fasterxml/jackson/databind/JavaType;">
 <attvalues>
 <attvalue id="1" value="Lcom/fasterxml/jackson/databind/type/TypeModifier;"/>
 <attvalue id="2" value="modifyType"/>
 <attvalue id="3" value="(Lcom/fasterxml/jackson/databind/JavaType; Ljava/lang/reflect/Type; Lcom/fasterxml/jackson/databind/type/TypeBindings; Lcom/fasterxml/jackson/databind/type/TypeFactory;)Lcom/fasterxml/jackson/databind/JavaType;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="192" label="Lcom/google/android/gms/internal/fn; a (Landroid/os/IBinder;)Lcom/google/android/gms/internal/fm;">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/internal/fn;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/os/IBinder;)Lcom/google/android/gms/internal/fm;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="193" label="Lcom/google/android/gms/internal/fo; &lt;init&gt; (Landroid/os/IBinder;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/google/android/gms/internal/fo;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Landroid/os/IBinder;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="194" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory; &lt;init&gt; (Ljava/lang/String; I Ljava/lang/String; B)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; I Ljava/lang/String; B)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="195" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory; &lt;init&gt; (Ljava/lang/String; I Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; I Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="196" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$1; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$1;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="197" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$2; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$2;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="198" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$3; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$3;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="199" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$5; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$5;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="200" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$6; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$6;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="201" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$7; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$7;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="202" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$8; &lt;init&gt; (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory$8;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="203" label="Lcom/spotify/android/paste/app/FontSupport; &lt;clinit&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport;"/>
 <attvalue id="2" value="&lt;clinit&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="204" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory; values ()[Lcom/spotify/android/paste/app/FontSupport$ViewFactory;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="2" value="values"/>
 <attvalue id="3" value="()[Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="205" label="Lcom/spotify/android/paste/app/FontSupport; onCreateView (Ljava/lang/String; Landroid/content/Context; Landroid/util/AttributeSet;)Landroid/view/View;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport;"/>
 <attvalue id="2" value="onCreateView"/>
 <attvalue id="3" value="(Ljava/lang/String; Landroid/content/Context; Landroid/util/AttributeSet;)Landroid/view/View;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="206" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory; a (Landroid/content/Context; Landroid/util/AttributeSet;)Landroid/widget/TextView;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/content/Context; Landroid/util/AttributeSet;)Landroid/widget/TextView;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="207" label="Lcom/spotify/android/paste/app/FontSupport$ViewFactory; a ()I">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/android/paste/app/FontSupport$ViewFactory;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="()I"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="208" label="Lcom/spotify/mobile/android/ui/e; a (Lcom/spotify/mobile/android/util/SpotifyLink; Landroid/content/Intent; Ljava/lang/String; Ljava/lang/String; Z Ljava/lang/String; Lcom/spotify/mobile/android/ui/fragments/logic/Flags;)Lcom/spotify/mobile/android/ui/fragments/e;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/e;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/util/SpotifyLink; Landroid/content/Intent; Ljava/lang/String; Ljava/lang/String; Z Ljava/lang/String; Lcom/spotify/mobile/android/ui/fragments/logic/Flags;)Lcom/spotify/mobile/android/ui/fragments/e;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="209" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; &lt;init&gt; ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="&lt;init&gt;"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="210" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$10; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$10;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="211" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; f (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="f"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="212" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$11; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$11;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="213" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; g (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="g"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="214" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$12; onItemSelected (Landroid/widget/AdapterView; Landroid/view/View; I J)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$12;"/>
 <attvalue id="2" value="onItemSelected"/>
 <attvalue id="3" value="(Landroid/widget/AdapterView; Landroid/view/View; I J)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="215" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; b (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Z)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Z)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="216" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$13; a (Lcom/spotify/mobile/android/cosmos/player/v1/PlayerState;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$13;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/cosmos/player/v1/PlayerState;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="217" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="218" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="219" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$13; onError (Ljava/lang/Throwable; Lcom/spotify/mobile/android/cosmos/ParsingCallbackReceiver$ErrorCause;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$13;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable; Lcom/spotify/mobile/android/cosmos/ParsingCallbackReceiver$ErrorCause;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="220" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$14; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$14;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="221" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$14; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$14;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="222" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$15; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$15;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="223" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$15; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$15;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="224" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$16; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$16;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="225" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$16; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$16;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="226" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$17; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$17;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="227" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$17; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$17;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="228" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$18; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$18;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="229" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$18; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$18;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="230" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$19; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$19;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="231" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$19; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$19;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="232" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$20; onError (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$20;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="233" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$20; onResolved (Lcom/spotify/cosmos/router/Response;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$20;"/>
 <attvalue id="2" value="onResolved"/>
 <attvalue id="3" value="(Lcom/spotify/cosmos/router/Response;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="234" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$21; onItemSelected (Landroid/widget/AdapterView; Landroid/view/View; I J)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$21;"/>
 <attvalue id="2" value="onItemSelected"/>
 <attvalue id="3" value="(Landroid/widget/AdapterView; Landroid/view/View; I J)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="235" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; h (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="h"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="236" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; i (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="i"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="237" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$22; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$22;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="238" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; j (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="j"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="239" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$2; a (Lcom/spotify/mobile/android/cosmos/player/v1/PlayerState;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$2;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/cosmos/player/v1/PlayerState;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="240" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Z)Z">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Z)Z"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="241" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; c (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Landroid/widget/Button;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="c"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Landroid/widget/Button;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="242" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Ljava/lang/String;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Ljava/lang/String;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="243" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; b (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Ljava/lang/String;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="b"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Ljava/lang/String;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="244" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$2; onError (Ljava/lang/Throwable; Lcom/spotify/mobile/android/cosmos/ParsingCallbackReceiver$ErrorCause;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$2;"/>
 <attvalue id="2" value="onError"/>
 <attvalue id="3" value="(Ljava/lang/Throwable; Lcom/spotify/mobile/android/cosmos/ParsingCallbackReceiver$ErrorCause;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="245" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$3; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$3;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="246" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; k (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="k"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="247" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$4; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$4;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="248" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; l (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="l"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="249" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$5; onCheckedChanged (Landroid/widget/CompoundButton; Z)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$5;"/>
 <attvalue id="2" value="onCheckedChanged"/>
 <attvalue id="3" value="(Landroid/widget/CompoundButton; Z)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="250" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$6; run ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$6;"/>
 <attvalue id="2" value="run"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="251" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; m (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Landroid/widget/ScrollView;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="m"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)Landroid/widget/ScrollView;"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="252" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$8; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$8;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="253" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; d (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="d"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="254" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$9; onClick (Landroid/view/View;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment$9;"/>
 <attvalue id="2" value="onClick"/>
 <attvalue id="3" value="(Landroid/view/View;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="255" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; e (Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="e"/>
 <attvalue id="3" value="(Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="256" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; J ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="J"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="257" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; K ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="K"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="258" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; L ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="L"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="259" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; M ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="M"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="260" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; P ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="P"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="261" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; N ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="N"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="262" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; O ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="O"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="263" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Ljava/lang/String; Ljava/lang/String;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Ljava/lang/String; Ljava/lang/String;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="264" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Ljava/lang/Throwable;)V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Ljava/lang/Throwable;)V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="265" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; G ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="G"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="266" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; F ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="F"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="267" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; R ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="R"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="268" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; Q ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="Q"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="269" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; S ()V">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="S"/>
 <attvalue id="3" value="()V"/>
 <attvalue id="6" value="false"/>
 </attvalues>
 </node>
 <node id="270" label="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment; a (Landroid/view/LayoutInflater; Landroid/view/ViewGroup; Landroid/os/Bundle;)Landroid/view/View;">
 <attvalues>
 <attvalue id="1" value="Lcom/spotify/mobile/android/ui/fragments/CosmosTestFragment;"/>
 <attvalue id="2" value="a"/>
 <attvalue id="3" value="(Landroid/view/LayoutInflater; Landroid/view/ViewGroup; Landroid/os/Bundle;)Landroid/view/View;"/>
 <attvalue id="6" value=
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

class GVMAnalysisExample(AndroScript):
    ''' Example that uses the `GVMAnalysis` object from `androguard` to create a graph '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        self.cres = gvm_analysis.export_to_gexf()

    def custom_result_object(self):
        '''
        Overwrite this method, if you want to use your own result logging framework/object,
        You can supply it here and access it via `self.cres`.
        
        E.g. you could return ("", "txt") for simply logging with a string to a .txt file.
        
        Returns
        -------
        tuple<object, str>
            First argument is the result object you want to use,
            the second is the file name extension used for storage (without a leading point)
        '''
        # Simply use str for logging
        # The first parameter isn't needed at all,
        # because we only set the result at the end of the _analyze method
        return ("", "gexf")
    
    def needs_gvmanalysis(self):
        return True
    

Intents

This is an autogenerated documentation file for the script: Intents

Run it
$ ./androanalyze scripts_builtin/Intents.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Intents -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Intents",
         "sha256": "db68305576534261d6bde5ce8d13f15a695a074e539c2a6cd42160bab598bbe4",
         "analysis date": "2015-06-22T20:29:33.878000",
         "version": "0.1"
     },
     "intents": {
         "services": {
             "com_spotify_mobile_android_androidauto_SpotifyMediaBrowserService": {
                 "action": [
                     "android.media.browse.MediaBrowserService"
                 ]
             },
             "com_spotify_mobile_android_service_RemoteNativeRouterProxy": {
                 "action": [
                     "com.spotify.mobile.service.action.COSMOS_PROXY"
                 ]
             }
         },
         "activities": {
             "com_spotify_mobile_android_ui_activity_TosTextActivity": {
                 "action": [
                     "android.intent.action.VIEW"
                 ],
                 "category": [
                     "android.intent.category.DEFAULT",
                     "android.intent.category.BROWSABLE"
                 ]
             },
             "com_sony_snei_np_android_account_oauth_BrowserRedirectReceiverActivity": {
                 "action": [
                     "android.intent.action.VIEW"
                 ],
                 "category": [
                     "android.intent.category.DEFAULT",
                     "android.intent.category.BROWSABLE"
                 ]
             },
             "com_spotify_music_MainActivity": {
                 "action": [
                     "android.intent.action.MAIN",
                     "android.intent.action.MUSIC_PLAYER",
                     "android.nfc.action.NDEF_DISCOVERED",
                     "android.intent.action.SEARCH",
                     "android.intent.action.VIEW",
                     "com.facebook.application.174829003346",
                     "android.media.action.MEDIA_PLAY_FROM_SEARCH",
                     "com.sonymobile.media.dashboard.ACTION_VIEW_MUSIC_TILE"
                 ],
                 "category": [
                     "android.intent.category.LAUNCHER",
                     "android.intent.category.DEFAULT",
                     "android.intent.category.APP_MUSIC",
                     "android.intent.category.BROWSABLE"
                 ]
             },
             "com_spotify_mobile_android_service_LoginActivity": {
                 "action": [
                     "com.spotify.mobile.android.service.action.session.LOGIN"
                 ],
                 "category": [
                     "android.intent.category.DEFAULT"
                 ]
             },
             "com_spotify_mobile_android_arsenal_ArsenalSSOBrowserActivity": {
                 "action": [
                     "com.spotify.music.NPAM_ACTION_BROWSER"
                 ],
                 "category": [
                     "android.intent.category.DEFAULT",
                     "android.intent.category.LAUNCHER"
                 ]
             }
         },
         "content providers": {},
         "broadcast receivers": {
             "com_mixpanel_android_mpmetrics_InstallReferrerReceiver": {
                 "action": [
                     "com.android.vending.INSTALL_REFERRER"
                 ]
             },
             "com_spotify_music_spotlets_optintrial_TrialAlarmBroadcastReceiver": {
                 "action": [
                     "com.spotify.music.spotlets.optintrial.action.TRIAL_REMINDER"
                 ],
                 "category": [
                     "android.intent.category.DEFAULT"
                 ]
             },
             "com_spotify_mobile_android_spotlets_collection_receiver_ConnectionStateChangedReceiver": {
                 "action": [
                     "com.spotify.mobile.android.service.broadcast.session.CONNECTION_STATE_CHANGED"
                 ]
             },
             "com_spotify_music_spotlets_widget_SpotifyWidget": {
                 "action": [
                     "android.appwidget.action.APPWIDGET_UPDATE",
                     "com.spotify.mobile.android.ui.widget.PREVIOUS",
                     "com.spotify.mobile.android.ui.widget.PLAY",
                     "com.spotify.mobile.android.ui.widget.NEXT"
                 ]
             },
             "com_spotify_music_internal_receiver_LoggerReceiver": {
                 "action": [
                     "com.spotify.music.internal.receiver.CACHE_LOG"
                 ],
                 "category": [
                     "android.intent.category.DEFAULT"
                 ]
             },
             "com_spotify_music_internal_receiver_MediaButtonReceiver": {
                 "action": [
                     "android.intent.action.MEDIA_BUTTON"
                 ]
             },
             "com_spotify_mobile_android_applink_AppLinkBluetoothManager": {
                 "action": [
                     "android.bluetooth.adapter.action.STATE_CHANGED",
                     "android.bluetooth.device.action.ACL_CONNECTED",
                     "android.bluetooth.device.action.ACL_DISCONNECTED"
                 ]
             },
             "com_spotify_music_spotlets_gcm_GcmBroadcastReceiver": {
                 "action": [
                     "com.google.android.c2dm.intent.RECEIVE"
                 ],
                 "category": [
                     "com.spotify.music"
                 ]
             },
             "com_spotify_music_spotlets_mobileapptracker_MobileAppTrackerReceiver": {
                 "action": [
                     "com.android.vending.INSTALL_REFERRER"
                 ]
             }
         }
     }
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Intents -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Intents -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript
from androlyze.model.script.impl.manifest.components import get_components_cache, \
    component_key_2_intent_key


CAT_INTENTS = "intents"

class Intents(AndroScript):
    ''' Get intents '''
    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):

        res = self.res

        components_cache = get_components_cache(apk)

        # intents
        for k, package_names in components_cache.items():
            intents = {}
            for package_name in package_names:
                # get intent filter for activity, service or receiver
                intent_key = component_key_2_intent_key(k)
                package_intents = apk.get_intent_filters(intent_key, package_name)
                if package_intents:
                    intents[package_name] = package_intents

            res.register_keys([k], CAT_INTENTS)

            res.log(k, intents, CAT_INTENTS)

Libs

This is an autogenerated documentation file for the script: Libs

Run it
$ ./androanalyze scripts_builtin/Libs.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Libs -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Libs",
         "sha256": "0b9f2891de2b7ff87eaf4da7588618984f19542c6cac6e3899d3c69cf508518a",
         "analysis date": "2015-06-22T20:29:33.907000",
         "version": "0.1"
     },
     "libraries": []
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Libs -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Libs -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript


class Libs(AndroScript):
    ''' List the libraries '''
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        #categories
        CAT_LIBS = "libraries" 
        
        res = self.res
        
        # libs
        res.register_keys([CAT_LIBS])
        res.log(CAT_LIBS, apk.get_libraries())

Manifest

This is an autogenerated documentation file for the script: Manifest

Run it
$ ./androanalyze scripts_builtin/Manifest.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Manifest -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Manifest",
         "sha256": "a5c3aacd2a44b935a3d2628f2e552c57e8b580b42ac4b5bd37559aa3dd300252",
         "analysis date": "2015-06-22T20:29:33.907000",
         "version": "0.2"
     },
     "Manifest": [
         "<?xml version=\"1.0\" ?>",
         "<manifest android:versionCode=\"3934069\" android:versionName=\"2.2.0.636\" package=\"com.spotify.music\" platformBuildVersionCode=\"21\" platformBuildVersionName=\"5.0.1-1624448\" xmlns:android=\"http://schemas.android.com/apk/res/android\">",
         "  ",
         "  <uses-sdk android:minSdkVersion=\"15\" android:targetSdkVersion=\"21\">",
         "</uses-sdk>",
         "  ",
         "  <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.BROADCAST_STICKY\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.GET_ACCOUNTS\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.INTERNET\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.NFC\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.READ_PHONE_STATE\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.WAKE_LOCK\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"com.android.vending.BILLING\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"com.google.android.c2dm.permission.RECEIVE\">",
         "</uses-permission>",
         "  ",
         "  <permission android:name=\"com.spotify.music.permission.C2D_MESSAGE\" android:protectionLevel=\"0x00000002\">",
         "</permission>",
         "  ",
         "  <uses-permission android:name=\"com.spotify.music.permission.C2D_MESSAGE\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.BLUETOOTH\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.USE_CREDENTIALS\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"android.permission.MANAGE_ACCOUNTS\">",
         "</uses-permission>",
         "  ",
         "  <uses-permission android:name=\"com.sony.snei.np.android.account.provider.permission.DUID_READ_PROVIDER\">",
         "</uses-permission>",
         "  ",
         "  <uses-feature android:name=\"android.hardware.bluetooth\" android:required=\"false\">",
         "</uses-feature>",
         "  ",
         "  <supports-screens android:anyDensity=\"true\" android:largeScreens=\"true\" android:normalScreens=\"true\" android:smallScreens=\"true\">",
         "</supports-screens>",
         "  ",
         "  <application android:allowBackup=\"false\" android:hardwareAccelerated=\"true\" android:icon=\"@7F02019A\" android:label=\"@7F070051\" android:name=\"com.spotify.music.SpotifyApplication\" android:theme=\"@7F100115\">",
         "    ",
         "    <meta-data android:name=\"com.spotify.music.core.version\" android:value=\"0.0.0.999.g5bf8943d\">",
         "</meta-data>",
         "    ",
         "    <meta-data android:name=\"com.spotify.music.githash\" android:value=\"g951e8dfd\">",
         "</meta-data>",
         "    ",
         "    <meta-data android:name=\"com.facebook.sdk.ApplicationId\" android:value=\"@7F070249\">",
         "</meta-data>",
         "    ",
         "    <meta-data android:name=\"com.google.android.gms.version\" android:value=\"@7F0E0007\">",
         "</meta-data>",
         "    ",
         "    <meta-data android:name=\"com.google.android.gms.car.application\" android:resource=\"@7F050000\">",
         "</meta-data>",
         "    ",
         "    <activity android:configChanges=\"0x00000020\" android:launchMode=\"2\" android:name=\"com.spotify.music.MainActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000020\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.MAIN\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.LAUNCHER\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.MAIN\">",
         "</action>",
         "        ",
         "        <action android:name=\"android.intent.action.MUSIC_PLAYER\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.APP_MUSIC\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.nfc.action.NDEF_DISCOVERED\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <data android:scheme=\"spotify\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.SEARCH\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.VIEW\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:host=\"open.spotify.com\" android:scheme=\"http\">",
         "</data>",
         "        ",
         "        <data android:host=\"open.spotify.com\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.facebook.application.174829003346\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <data android:host=\"open.spotify.com\" android:scheme=\"http\">",
         "</data>",
         "        ",
         "        <data android:host=\"open.spotify.com\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.VIEW\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:scheme=\"spotify\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.VIEW\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:host=\"www.spotify.com\" android:pathPrefix=\"/redirect/get-premium/\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.SEARCH\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.media.action.MEDIA_PLAY_FROM_SEARCH\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.media.action.MEDIA_PLAY_FROM_SEARCH\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:scheme=\"spotify\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.VIEW\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <meta-data android:name=\"com.sonymobile.media.dashboard.BACKGROUND_ICON\" android:resource=\"@7F020036\">",
         "</meta-data>",
         "      ",
         "      <meta-data android:name=\"com.sonymobile.media.dashboard.TITLE\" android:resource=\"@7F070051\">",
         "</meta-data>",
         "      ",
         "      <meta-data android:name=\"com.sonymobile.media.dashboard.SMALL_ICON\" android:resource=\"@7F0201CB\">",
         "</meta-data>",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.sonymobile.media.dashboard.ACTION_VIEW_MUSIC_TILE\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </activity>",
         "    ",
         "    <activity android:configChanges=\"0x00000020\" android:exported=\"false\" android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.service.LoginActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011F\" android:windowSoftInputMode=\"0x00000010\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.spotify.mobile.android.service.action.session.LOGIN\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </activity>",
         "    ",
         "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.PlayerActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.CoverImageActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100121\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.service.TermsOfServiceChangedActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100118\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PermissionsActivity\" android:screenOrientation=\"-1\">",
         "</activity>",
         "    ",
         "    <activity android:exported=\"false\" android:name=\"com.spotify.mobile.android.ui.activity.TosTextActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.VIEW\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:scheme=\"com.spotify.mobile.android.tos\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.UpdateActivity\" android:screenOrientation=\"-1\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.spotlets.share.PostActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100115\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ShareActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100117\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ShareToSpotifyActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.FacebookPlaceholderActivity\" android:screenOrientation=\"-1\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.spotlets.share.ConnectFacebookActivity\" android:screenOrientation=\"-1\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.FacebookWebPermissionsActivity\" android:screenOrientation=\"-1\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AddToPlaylistActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100117\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.ui.activity.DeviceActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ConfirmDeletionActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.CreateRenamePlaylistActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DisableOfflineModeActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.TrialReminderActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.PremiumUpsellInterstitialActivity\" android:screenOrientation=\"1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.HolidayOfferUpsellInterstitialActivity\" android:screenOrientation=\"1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.OfflineSyncErrorActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AnnotatePlaylistActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000012\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DiskAlmostFullActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.UpsellDialogActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.UpsellPremiumOnlyActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.PremiumSignupActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.NotificationWebViewActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AppRaterActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlayQueueActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlayHistoryActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlaybackErrorWifiOnlyActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlaybackErrorWifiMftGroup3NoMoreTimeActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.RemotePlaybackActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.ConnectOnboardingActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.SoundEffectsWarningActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsConfirmationActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AnnotateDiscardChangesActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.LastFmLoginDialog\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:configChanges=\"0x00000020\" android:name=\"com.spotify.mobile.android.ui.activity.DeletingCacheDialogActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000020\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.util.ViewTesterActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000020\">",
         "</activity>",
         "    ",
         "    <activity android:exported=\"false\" android:name=\"com.spotify.mobile.android.util.FragmentTesterActivity\" android:screenOrientation=\"-1\" android:windowSoftInputMode=\"0x00000020\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.facebook.LoginActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.TrialStartedActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.spotlets.suggestedtweet.SuggestedTweetActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ShowcaseActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.spotlets.openaccess.OpenAccessActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.UninstallOldAppActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.ui.activity.VolumeWidgetActivity\" android:theme=\"@7F100119\">",
         "</activity>",
         "    ",
         "    <activity android:configChanges=\"0x00000480\" android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.spotlets.video.BackgroundableVideoPlayerActivity\" android:theme=\"@7F10011D\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.MarketingOptInActivity\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.service.ResetPasswordActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.ui.activity.LockScreenActivity\" android:screenOrientation=\"7\" android:theme=\"@7F10011E\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.music.spotlets.networkoperatorpremiumactivation.PremiumActivationOptInDialog\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.spotify.mobile.android.spotlets.ads.BannerAdActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100122\" android:windowSoftInputMode=\"0x00000010\">",
         "</activity>",
         "    ",
         "    <activity android:configChanges=\"0x00000FB0\" android:name=\"com.google.android.gms.ads.AdActivity\" android:theme=\"@android:0103000F\">",
         "</activity>",
         "    ",
         "    <activity android:excludeFromRecents=\"true\" android:exported=\"false\" android:name=\"com.spotify.mobile.android.arsenal.ArsenalSSOBrowserActivity\" android:windowSoftInputMode=\"0x00000003\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.spotify.music.NPAM_ACTION_BROWSER\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.LAUNCHER\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </activity>",
         "    ",
         "    <activity android:exported=\"true\" android:name=\"com.sony.snei.np.android.account.oauth.BrowserRedirectReceiverActivity\" android:windowSoftInputMode=\"0x00000003\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.VIEW\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <category android:name=\"android.intent.category.BROWSABLE\">",
         "</category>",
         "        ",
         "        <data android:host=\"redirect\" android:scheme=\"com.spotify.music.npam\">",
         "</data>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </activity>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039D\" android:name=\"com.spotify.mobile.android.service.SpotifyService\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.video.VideoService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.MetadataManagerProxy\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.ConnectManagerProxy\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.SessionManagerProxy\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.RemoteNativeRouterProxy\" android:process=\"com.spotify.music.service\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.spotify.mobile.service.action.COSMOS_PROXY\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </service>",
         "    ",
         "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.MonitorService\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.util.tracking.TrackingService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerIntentService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.DeviceIdentifierLoggerIntentService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.internal.service.DeleteCacheService\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.video.BackgroundableVideoService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.internal.service.DeleteOldCacheLocationsService\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.collection.service.AnnotateService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.collection.service.RecentlyPlayedService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.collection.cosmos.service.CollectionService\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.offline.service.OfflineService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.podcast.service.PlayedStateService\">",
         "</service>",
         "    ",
         "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.ads.VideoAdService\">",
         "</service>",
         "    ",
         "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.VideoPlayerManagerProxy\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.spotlets.situationalcontent.loggers.activityrecognition.ActivityRecognitionIntentService\" android:process=\"com.spotify.music.service\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.spotlets.radio.service.RadioActionsService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.player.PlayerStateService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.session.SessionStateService\">",
         "</service>",
         "    ",
         "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.media.MediaService\">",
         "</service>",
         "    ",
         "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.applink.service.AppLinkService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.feature.FeatureService\">",
         "</service>",
         "    ",
         "    <service android:exported=\"true\" android:label=\"Android Auto Spotify\" android:name=\"com.spotify.mobile.android.androidauto.SpotifyMediaBrowserService\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.media.browse.MediaBrowserService\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </service>",
         "    ",
         "    <receiver android:name=\"com.spotify.music.internal.receiver.MediaButtonReceiver\" android:process=\"com.spotify.music.service\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.intent.action.MEDIA_BUTTON\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:exported=\"false\" android:name=\"com.spotify.music.spotlets.optintrial.TrialAlarmBroadcastReceiver\" android:process=\"com.spotify.music\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "        <action android:name=\"com.spotify.music.spotlets.optintrial.action.TRIAL_REMINDER\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:label=\"Spotify Home Screen Widget\" android:name=\"com.spotify.music.spotlets.widget.SpotifyWidget\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.appwidget.action.APPWIDGET_UPDATE\">",
         "</action>",
         "        ",
         "        <action android:name=\"com.spotify.mobile.android.ui.widget.PREVIOUS\">",
         "</action>",
         "        ",
         "        <action android:name=\"com.spotify.mobile.android.ui.widget.PLAY\">",
         "</action>",
         "        ",
         "        <action android:name=\"com.spotify.mobile.android.ui.widget.NEXT\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "      <meta-data android:name=\"android.appwidget.provider\" android:resource=\"@7F050001\">",
         "</meta-data>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:exported=\"true\" android:name=\"com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerReceiver\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.android.vending.INSTALL_REFERRER\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:exported=\"true\" android:name=\"com.spotify.music.spotlets.gcm.GcmBroadcastReceiver\" android:permission=\"com.google.android.c2dm.permission.SEND\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.google.android.c2dm.intent.RECEIVE\">",
         "</action>",
         "        ",
         "        <category android:name=\"com.spotify.music\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:exported=\"true\" android:name=\"com.spotify.mobile.android.applink.AppLinkBluetoothManager\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"android.bluetooth.adapter.action.STATE_CHANGED\">",
         "</action>",
         "        ",
         "        <action android:name=\"android.bluetooth.device.action.ACL_CONNECTED\">",
         "</action>",
         "        ",
         "        <action android:name=\"android.bluetooth.device.action.ACL_DISCONNECTED\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:exported=\"false\" android:name=\"com.spotify.music.internal.receiver.LoggerReceiver\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.spotify.music.internal.receiver.CACHE_LOG\">",
         "</action>",
         "        ",
         "        <category android:name=\"android.intent.category.DEFAULT\">",
         "</category>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <receiver android:enabled=\"false\" android:exported=\"false\" android:name=\"com.spotify.mobile.android.spotlets.collection.receiver.ConnectionStateChangedReceiver\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.spotify.mobile.android.service.broadcast.session.CONNECTION_STATE_CHANGED\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "    <provider android:authorities=\"com.spotify.music\" android:exported=\"false\" android:multiprocess=\"true\" android:name=\"com.spotify.music.internal.provider.SpotifyProvider\">",
         "</provider>",
         "    ",
         "    <provider android:authorities=\"com.spotify.music.logger\" android:exported=\"false\" android:name=\"com.spotify.music.internal.provider.LoggerProvider\" android:process=\"com.spotify.music.service\">",
         "</provider>",
         "    ",
         "    <provider android:authorities=\"com.spotify.music.prefs\" android:exported=\"false\" android:name=\"com.spotify.mobile.android.util.prefs.PrefsProvider\">",
         "</provider>",
         "    ",
         "    <provider android:authorities=\"@7F0702B0\" android:exported=\"true\" android:name=\"com.spotify.mobile.android.service.media.provider.MediaProvider\">",
         "</provider>",
         "    ",
         "    <meta-data android:name=\"com.crashlytics.ApiKey\" android:value=\"ed79a89851fe4ae8eb60f37284a088b1055997d8\">",
         "</meta-data>",
         "    ",
         "    <activity android:label=\"RecyclerViewTestActivity\" android:name=\"android.support.v7.widget.TestActivity\">",
         "</activity>",
         "    ",
         "    <activity android:name=\"com.mixpanel.android.surveys.SurveyActivity\">",
         "</activity>",
         "    ",
         "    <receiver android:exported=\"true\" android:name=\"com.mixpanel.android.mpmetrics.InstallReferrerReceiver\">",
         "      ",
         "      <intent-filter>",
         "        ",
         "        <action android:name=\"com.android.vending.INSTALL_REFERRER\">",
         "</action>",
         "        ",
         "      </intent-filter>",
         "      ",
         "    </receiver>",
         "    ",
         "  </application>",
         "  ",
         "</manifest>",
         ""
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Manifest -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Manifest -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

import re

from androlyze.model.script.AndroScript import AndroScript

class Manifest(AndroScript):
    ''' Extract the android manifest file (XML) '''

    VERSION = "0.2"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        res = self.res

        # register key
        KEY = "Manifest"
        res.register_keys([KEY])
        
        # faster way
#         # get manifest
#         manifest_xml = ""
#         for i in apk.zip.namelist():
#             if i == "AndroidManifest.xml":
#                 apk.axml[i] = AXMLPrinter(apk.zip.read(i))
#                 try:
#                     manifest_xml = apk.axml[i].get_buff()
#                 except:
#                     pass
                
        # more convenient way with pretty priting, but also slower
        manifest_str = apk.xml.items()[0][1].toprettyxml(indent=" " * 2)
        # replace multiple \n and split into list for better representation in json
        manifest_str = re.sub("\n+", "\n", manifest_str)
        manifest_list = manifest_str.split("\n")
        res.log(KEY, manifest_list)
        
#         if manifest_xml:
#             res.log(KEY, manifest_xml.split("\n"))

if __name__ == '__main__':
    
    for res in AndroScript.test(Manifest, ["../../../../../../androguard_playground/apks/ipcinetcall.apk"]):
        print res.write_to_json()

Permissions

This is an autogenerated documentation file for the script: Permissions

Run it
$ ./androanalyze scripts_builtin/Permissions.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Permissions -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Permissions",
         "sha256": "84a794c66096f83a4b96673974de5990d21cc1d1af66db9f14810c80ed959237",
         "analysis date": "2015-06-22T20:29:33.912000",
         "version": "0.1"
     },
     "permissions": [
         "android.permission.ACCESS_NETWORK_STATE",
         "android.permission.ACCESS_WIFI_STATE",
         "android.permission.BLUETOOTH",
         "android.permission.BLUETOOTH_ADMIN",
         "android.permission.BROADCAST_STICKY",
         "android.permission.GET_ACCOUNTS",
         "android.permission.INTERNET",
         "android.permission.MANAGE_ACCOUNTS",
         "android.permission.MODIFY_AUDIO_SETTINGS",
         "android.permission.NFC",
         "android.permission.READ_PHONE_STATE",
         "android.permission.USE_CREDENTIALS",
         "android.permission.WAKE_LOCK",
         "android.permission.WRITE_EXTERNAL_STORAGE",
         "com.android.vending.BILLING",
         "com.google.android.c2dm.permission.RECEIVE",
         "com.sony.snei.np.android.account.provider.permission.DUID_READ_PROVIDER",
         "com.spotify.music.permission.C2D_MESSAGE"
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Permissions -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Permissions -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript


class Permissions(AndroScript):
    ''' List the permissions '''    
    
    VERSION = "0.1"
    
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):    
        
        #categories
        CAT_PERMISSIONS = "permissions"
        
        res = self.res
        
        res.register_keys([CAT_PERMISSIONS])
        
        # permissions
        res.log(CAT_PERMISSIONS, sorted(apk.get_permissions()))
            

PublicContentProviders

This is an autogenerated documentation file for the script: PublicContentProviders

Run it
$ ./androanalyze scripts_builtin/PublicContentProviders.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn PublicContentProviders -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "PublicContentProviders",
         "sha256": "7e216f32317ead92ad2e43962b82a5eb460e691a47e46753632d3e8fe518f4fa",
         "analysis date": "2015-06-22T20:29:33.912000",
         "version": "0.1"
     },
     "public_content_providers": [
         "com.spotify.mobile.android.service.media.provider.MediaProvider"
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn PublicContentProviders -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn PublicContentProviders -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

CAT = "public_content_providers"

class PublicContentProviders(AndroScript):
    ''' Lists all public content providers '''
    
    VERSION = "0.1"
        
    def register_structure(self, res):
        # register keys
        res.register_enum_keys([CAT])
        
    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        '''
        Parameters
        ----------
        apk: EAndroApk
        dalvik_vm_format: DalvikVMFormat
            Parsed .dex file.
            Only available if `needs_dalvik_vm_format` returns True.
        vm_analysis: VMAnalysis
            Dex analyzer.
            Only available if `needs_vmanalysis` returns True.
        gvm_analysis : GVMAnalysis
        '''

        res = self.res
        self.register_structure(res)
        
        public_components = apk.get_manifest_public_components()
        for cp in apk.get_providers():
            if cp in public_components:
                res.log_append_to_enum(CAT, cp)
            
# testing code
if __name__ == '__main__':
    for res in AndroScript.test(PublicContentProviders, ["../../../../../../../androguard_playground/apks/sql_injection.apk", "../../../../../../../androguard_playground/apks/public_content_provider.apk"]):
        print res.write_to_json()

PublicContentProviders_Manifest

This is an autogenerated documentation file for the script: PublicContentProviders_Manifest

Run it
$ ./androanalyze scripts_builtin/PublicContentProviders_Manifest.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn PublicContentProviders_Manifest -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "PublicContentProviders_Manifest",
         "sha256": "cd96bae2e4c69c2b257070016a42ca029871cb2cdc4dfb926217f7382bcb362a",
         "analysis date": "2015-06-22T20:29:33.990000",
         "version": "0.1"
     },
     "ContentProviderStuff": {
         "public_content_providers": [
             "com.spotify.mobile.android.service.media.provider.MediaProvider"
         ],
         "content providers": [
             "com.spotify.music.internal.provider.SpotifyProvider",
             "com.spotify.music.internal.provider.LoggerProvider",
             "com.spotify.mobile.android.util.prefs.PrefsProvider",
             "com.spotify.mobile.android.service.media.provider.MediaProvider"
         ],
         "Manifest": [
             "<?xml version=\"1.0\" ?>",
             "<manifest android:versionCode=\"3934069\" android:versionName=\"2.2.0.636\" package=\"com.spotify.music\" platformBuildVersionCode=\"21\" platformBuildVersionName=\"5.0.1-1624448\" xmlns:android=\"http://schemas.android.com/apk/res/android\">",
             "  ",
             "  <uses-sdk android:minSdkVersion=\"15\" android:targetSdkVersion=\"21\">",
             "</uses-sdk>",
             "  ",
             "  <uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.BROADCAST_STICKY\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.GET_ACCOUNTS\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.INTERNET\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.NFC\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.READ_PHONE_STATE\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.WAKE_LOCK\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"com.android.vending.BILLING\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"com.google.android.c2dm.permission.RECEIVE\">",
             "</uses-permission>",
             "  ",
             "  <permission android:name=\"com.spotify.music.permission.C2D_MESSAGE\" android:protectionLevel=\"0x00000002\">",
             "</permission>",
             "  ",
             "  <uses-permission android:name=\"com.spotify.music.permission.C2D_MESSAGE\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.BLUETOOTH\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.USE_CREDENTIALS\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"android.permission.MANAGE_ACCOUNTS\">",
             "</uses-permission>",
             "  ",
             "  <uses-permission android:name=\"com.sony.snei.np.android.account.provider.permission.DUID_READ_PROVIDER\">",
             "</uses-permission>",
             "  ",
             "  <uses-feature android:name=\"android.hardware.bluetooth\" android:required=\"false\">",
             "</uses-feature>",
             "  ",
             "  <supports-screens android:anyDensity=\"true\" android:largeScreens=\"true\" android:normalScreens=\"true\" android:smallScreens=\"true\">",
             "</supports-screens>",
             "  ",
             "  <application android:allowBackup=\"false\" android:hardwareAccelerated=\"true\" android:icon=\"@7F02019A\" android:label=\"@7F070051\" android:name=\"com.spotify.music.SpotifyApplication\" android:theme=\"@7F100115\">",
             "    ",
             "    <meta-data android:name=\"com.spotify.music.core.version\" android:value=\"0.0.0.999.g5bf8943d\">",
             "</meta-data>",
             "    ",
             "    <meta-data android:name=\"com.spotify.music.githash\" android:value=\"g951e8dfd\">",
             "</meta-data>",
             "    ",
             "    <meta-data android:name=\"com.facebook.sdk.ApplicationId\" android:value=\"@7F070249\">",
             "</meta-data>",
             "    ",
             "    <meta-data android:name=\"com.google.android.gms.version\" android:value=\"@7F0E0007\">",
             "</meta-data>",
             "    ",
             "    <meta-data android:name=\"com.google.android.gms.car.application\" android:resource=\"@7F050000\">",
             "</meta-data>",
             "    ",
             "    <activity android:configChanges=\"0x00000020\" android:launchMode=\"2\" android:name=\"com.spotify.music.MainActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000020\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.MAIN\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.LAUNCHER\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.MAIN\">",
             "</action>",
             "        ",
             "        <action android:name=\"android.intent.action.MUSIC_PLAYER\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.APP_MUSIC\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.nfc.action.NDEF_DISCOVERED\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <data android:scheme=\"spotify\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.SEARCH\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.VIEW\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:host=\"open.spotify.com\" android:scheme=\"http\">",
             "</data>",
             "        ",
             "        <data android:host=\"open.spotify.com\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.facebook.application.174829003346\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <data android:host=\"open.spotify.com\" android:scheme=\"http\">",
             "</data>",
             "        ",
             "        <data android:host=\"open.spotify.com\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.VIEW\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:scheme=\"spotify\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.VIEW\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:host=\"www.spotify.com\" android:pathPrefix=\"/redirect/get-premium/\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.SEARCH\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.media.action.MEDIA_PLAY_FROM_SEARCH\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.media.action.MEDIA_PLAY_FROM_SEARCH\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:scheme=\"spotify\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.VIEW\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "        <data android:host=\"r.spotify.com\" android:pathPattern=\"/.*/.*/.*/.*/.*/.*/.*/app_android/.*\" android:scheme=\"https\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <meta-data android:name=\"com.sonymobile.media.dashboard.BACKGROUND_ICON\" android:resource=\"@7F020036\">",
             "</meta-data>",
             "      ",
             "      <meta-data android:name=\"com.sonymobile.media.dashboard.TITLE\" android:resource=\"@7F070051\">",
             "</meta-data>",
             "      ",
             "      <meta-data android:name=\"com.sonymobile.media.dashboard.SMALL_ICON\" android:resource=\"@7F0201CB\">",
             "</meta-data>",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.sonymobile.media.dashboard.ACTION_VIEW_MUSIC_TILE\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </activity>",
             "    ",
             "    <activity android:configChanges=\"0x00000020\" android:exported=\"false\" android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.service.LoginActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011F\" android:windowSoftInputMode=\"0x00000010\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.spotify.mobile.android.service.action.session.LOGIN\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </activity>",
             "    ",
             "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.PlayerActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.CoverImageActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100121\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.service.TermsOfServiceChangedActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100118\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PermissionsActivity\" android:screenOrientation=\"-1\">",
             "</activity>",
             "    ",
             "    <activity android:exported=\"false\" android:name=\"com.spotify.mobile.android.ui.activity.TosTextActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.VIEW\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:scheme=\"com.spotify.mobile.android.tos\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.UpdateActivity\" android:screenOrientation=\"-1\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.spotlets.share.PostActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100115\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ShareActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100117\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ShareToSpotifyActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.FacebookPlaceholderActivity\" android:screenOrientation=\"-1\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.spotlets.share.ConnectFacebookActivity\" android:screenOrientation=\"-1\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.FacebookWebPermissionsActivity\" android:screenOrientation=\"-1\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AddToPlaylistActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100117\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.ui.activity.DeviceActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ConfirmDeletionActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.CreateRenamePlaylistActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DisableOfflineModeActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.TrialReminderActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.PremiumUpsellInterstitialActivity\" android:screenOrientation=\"1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.HolidayOfferUpsellInterstitialActivity\" android:screenOrientation=\"1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.OfflineSyncErrorActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AnnotatePlaylistActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000012\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DiskAlmostFullActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.UpsellDialogActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.UpsellPremiumOnlyActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.PremiumSignupActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.NotificationWebViewActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AppRaterActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlayQueueActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlayHistoryActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlaybackErrorWifiOnlyActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.PlaybackErrorWifiMftGroup3NoMoreTimeActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.RemotePlaybackActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.ui.activity.ConnectOnboardingActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.SoundEffectsWarningActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.DeleteCacheAndSettingsConfirmationActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.AnnotateDiscardChangesActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.LastFmLoginDialog\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:configChanges=\"0x00000020\" android:name=\"com.spotify.mobile.android.ui.activity.DeletingCacheDialogActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100116\" android:windowSoftInputMode=\"0x00000020\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.util.ViewTesterActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000020\">",
             "</activity>",
             "    ",
             "    <activity android:exported=\"false\" android:name=\"com.spotify.mobile.android.util.FragmentTesterActivity\" android:screenOrientation=\"-1\" android:windowSoftInputMode=\"0x00000020\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.facebook.LoginActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.dialog.TrialStartedActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.spotlets.suggestedtweet.SuggestedTweetActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100119\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.ShowcaseActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.spotlets.openaccess.OpenAccessActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.UninstallOldAppActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.ui.activity.VolumeWidgetActivity\" android:theme=\"@7F100119\">",
             "</activity>",
             "    ",
             "    <activity android:configChanges=\"0x00000480\" android:launchMode=\"1\" android:name=\"com.spotify.mobile.android.spotlets.video.BackgroundableVideoPlayerActivity\" android:theme=\"@7F10011D\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.upsell.MarketingOptInActivity\" android:theme=\"@7F100119\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:launchMode=\"2\" android:name=\"com.spotify.mobile.android.service.ResetPasswordActivity\" android:screenOrientation=\"1\" android:theme=\"@7F10011D\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.ui.activity.LockScreenActivity\" android:screenOrientation=\"7\" android:theme=\"@7F10011E\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.music.spotlets.networkoperatorpremiumactivation.PremiumActivationOptInDialog\" android:screenOrientation=\"-1\" android:theme=\"@7F100120\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.spotify.mobile.android.spotlets.ads.BannerAdActivity\" android:screenOrientation=\"-1\" android:theme=\"@7F100122\" android:windowSoftInputMode=\"0x00000010\">",
             "</activity>",
             "    ",
             "    <activity android:configChanges=\"0x00000FB0\" android:name=\"com.google.android.gms.ads.AdActivity\" android:theme=\"@android:0103000F\">",
             "</activity>",
             "    ",
             "    <activity android:excludeFromRecents=\"true\" android:exported=\"false\" android:name=\"com.spotify.mobile.android.arsenal.ArsenalSSOBrowserActivity\" android:windowSoftInputMode=\"0x00000003\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.spotify.music.NPAM_ACTION_BROWSER\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.LAUNCHER\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </activity>",
             "    ",
             "    <activity android:exported=\"true\" android:name=\"com.sony.snei.np.android.account.oauth.BrowserRedirectReceiverActivity\" android:windowSoftInputMode=\"0x00000003\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.VIEW\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <category android:name=\"android.intent.category.BROWSABLE\">",
             "</category>",
             "        ",
             "        <data android:host=\"redirect\" android:scheme=\"com.spotify.music.npam\">",
             "</data>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </activity>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039D\" android:name=\"com.spotify.mobile.android.service.SpotifyService\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.video.VideoService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.MetadataManagerProxy\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.ConnectManagerProxy\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.SessionManagerProxy\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.RemoteNativeRouterProxy\" android:process=\"com.spotify.music.service\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.spotify.mobile.service.action.COSMOS_PROXY\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </service>",
             "    ",
             "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.MonitorService\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.util.tracking.TrackingService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerIntentService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.DeviceIdentifierLoggerIntentService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.internal.service.DeleteCacheService\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.video.BackgroundableVideoService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.internal.service.DeleteOldCacheLocationsService\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.collection.service.AnnotateService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.collection.service.RecentlyPlayedService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.collection.cosmos.service.CollectionService\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.offline.service.OfflineService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.podcast.service.PlayedStateService\">",
             "</service>",
             "    ",
             "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.spotlets.ads.VideoAdService\">",
             "</service>",
             "    ",
             "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.VideoPlayerManagerProxy\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.spotlets.situationalcontent.loggers.activityrecognition.ActivityRecognitionIntentService\" android:process=\"com.spotify.music.service\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.music.spotlets.radio.service.RadioActionsService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.player.PlayerStateService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.session.SessionStateService\">",
             "</service>",
             "    ",
             "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.media.MediaService\">",
             "</service>",
             "    ",
             "    <service android:enabled=\"true\" android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.applink.service.AppLinkService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"false\" android:label=\"@7F07039C\" android:name=\"com.spotify.mobile.android.service.feature.FeatureService\">",
             "</service>",
             "    ",
             "    <service android:exported=\"true\" android:label=\"Android Auto Spotify\" android:name=\"com.spotify.mobile.android.androidauto.SpotifyMediaBrowserService\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.media.browse.MediaBrowserService\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </service>",
             "    ",
             "    <receiver android:name=\"com.spotify.music.internal.receiver.MediaButtonReceiver\" android:process=\"com.spotify.music.service\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.intent.action.MEDIA_BUTTON\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:exported=\"false\" android:name=\"com.spotify.music.spotlets.optintrial.TrialAlarmBroadcastReceiver\" android:process=\"com.spotify.music\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "        <action android:name=\"com.spotify.music.spotlets.optintrial.action.TRIAL_REMINDER\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:label=\"Spotify Home Screen Widget\" android:name=\"com.spotify.music.spotlets.widget.SpotifyWidget\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.appwidget.action.APPWIDGET_UPDATE\">",
             "</action>",
             "        ",
             "        <action android:name=\"com.spotify.mobile.android.ui.widget.PREVIOUS\">",
             "</action>",
             "        ",
             "        <action android:name=\"com.spotify.mobile.android.ui.widget.PLAY\">",
             "</action>",
             "        ",
             "        <action android:name=\"com.spotify.mobile.android.ui.widget.NEXT\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "      <meta-data android:name=\"android.appwidget.provider\" android:resource=\"@7F050001\">",
             "</meta-data>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:exported=\"true\" android:name=\"com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerReceiver\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.android.vending.INSTALL_REFERRER\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:exported=\"true\" android:name=\"com.spotify.music.spotlets.gcm.GcmBroadcastReceiver\" android:permission=\"com.google.android.c2dm.permission.SEND\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.google.android.c2dm.intent.RECEIVE\">",
             "</action>",
             "        ",
             "        <category android:name=\"com.spotify.music\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:exported=\"true\" android:name=\"com.spotify.mobile.android.applink.AppLinkBluetoothManager\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"android.bluetooth.adapter.action.STATE_CHANGED\">",
             "</action>",
             "        ",
             "        <action android:name=\"android.bluetooth.device.action.ACL_CONNECTED\">",
             "</action>",
             "        ",
             "        <action android:name=\"android.bluetooth.device.action.ACL_DISCONNECTED\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:exported=\"false\" android:name=\"com.spotify.music.internal.receiver.LoggerReceiver\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.spotify.music.internal.receiver.CACHE_LOG\">",
             "</action>",
             "        ",
             "        <category android:name=\"android.intent.category.DEFAULT\">",
             "</category>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <receiver android:enabled=\"false\" android:exported=\"false\" android:name=\"com.spotify.mobile.android.spotlets.collection.receiver.ConnectionStateChangedReceiver\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.spotify.mobile.android.service.broadcast.session.CONNECTION_STATE_CHANGED\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "    <provider android:authorities=\"com.spotify.music\" android:exported=\"false\" android:multiprocess=\"true\" android:name=\"com.spotify.music.internal.provider.SpotifyProvider\">",
             "</provider>",
             "    ",
             "    <provider android:authorities=\"com.spotify.music.logger\" android:exported=\"false\" android:name=\"com.spotify.music.internal.provider.LoggerProvider\" android:process=\"com.spotify.music.service\">",
             "</provider>",
             "    ",
             "    <provider android:authorities=\"com.spotify.music.prefs\" android:exported=\"false\" android:name=\"com.spotify.mobile.android.util.prefs.PrefsProvider\">",
             "</provider>",
             "    ",
             "    <provider android:authorities=\"@7F0702B0\" android:exported=\"true\" android:name=\"com.spotify.mobile.android.service.media.provider.MediaProvider\">",
             "</provider>",
             "    ",
             "    <meta-data android:name=\"com.crashlytics.ApiKey\" android:value=\"ed79a89851fe4ae8eb60f37284a088b1055997d8\">",
             "</meta-data>",
             "    ",
             "    <activity android:label=\"RecyclerViewTestActivity\" android:name=\"android.support.v7.widget.TestActivity\">",
             "</activity>",
             "    ",
             "    <activity android:name=\"com.mixpanel.android.surveys.SurveyActivity\">",
             "</activity>",
             "    ",
             "    <receiver android:exported=\"true\" android:name=\"com.mixpanel.android.mpmetrics.InstallReferrerReceiver\">",
             "      ",
             "      <intent-filter>",
             "        ",
             "        <action android:name=\"com.android.vending.INSTALL_REFERRER\">",
             "</action>",
             "        ",
             "      </intent-filter>",
             "      ",
             "    </receiver>",
             "    ",
             "  </application>",
             "  ",
             "</manifest>",
             ""
         ]
     }
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn PublicContentProviders_Manifest -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn PublicContentProviders_Manifest -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript
from androlyze.model.script.ChainedScript import ChainedScript
from androlyze.model.script.impl.manifest.Manifest import Manifest
from androlyze.model.script.impl.manifest.components.ContentProviders import ContentProviders
from androlyze.model.script.impl.manifest.components.PublicContentProviders import PublicContentProviders


class PublicContentProviders_Manifest(ChainedScript):
    ''' Additionally to `PublicContentProviders` also show all content providers and the manifest ''' 
    
    VERSION = "0.1"

    def chain_scripts(self):
        # use the chained_script function to do further grouping
        return [PublicContentProviders(), ContentProviders(), Manifest()]

    def root_categories(self):
        return ('ContentProviderStuff', )

    def log_chained_script_meta_infos(self):
        return False
    
# testing code
if __name__ == '__main__':
    for res in AndroScript.test(PublicContentProviders_Manifest, ["../../../../../../../androguard_playground/apks/public_content_provider.apk"]):
        print res.write_to_json()

SSL

This is an autogenerated documentation file for the script: SSL

Run it
$ ./androanalyze scripts_builtin/SSL.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn SSL -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "SSL",
         "sha256": "9658ac81fa84afd9f7d2a796c2a78bfd0e687fd592ff64621acbd4a38cf4535d",
         "analysis date": "2015-06-26T17:15:37.547000",
         "version": "0.1"
     },
     "code loading": {
         "dynamic": true,
         "native": true
     },
     "SSL": {
         "ssl_error_handler": true,
         "plain_socket": true,
         "plain_socket_factory": false,
         "ssl_socket_std": true,
         "ssl_socket_apache": true,
         "ssl_socket_factory_std": true,
         "ssl_socket_factory_apache": true,
         "ssl_socket_factory_easy": false,
         "air_ssl_dialog": false,
         "hostname_verifier_allow_all": false,
         "hostname_verifier_browser_compat": false,
         "hostname_verifier_strict": false,
         "hostname_verifier_x509": false,
         "url_connection_https": true,
         "url_connection_http": true,
         "certificate_code_std": false,
         "certificate_code_air": false,
         "google_ad_sense": true,
         "adobe_air_runtime": false
     }
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn SSL -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn SSL -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Lars Baumgärtner, Nils Schmidt"
__email__ = "{lbaumgaerner,schmidt89} at informatik.uni-marburg.de"

from androlyze import is_dyn_code, is_native_code

from androlyze.model.script.AndroScript import AndroScript

CAT_SSL = "SSL"
CAT_CODE_LOADING = "code loading"
CODE_LOADING_DYN = "dynamic"
CODE_LOADING_NATIVE = "native"

class SSL(AndroScript):
    ''' SSL Checks '''

    VERSION = "0.1"
    CHECKS = [
              ("Landroid/webkit/SslErrorHandler", "SSL_ERROR_HANDLER"),
              ("Ljava/net/Socket", "PLAIN_SOCKET"),
              ("Ljava/net/SocketFactory", "PLAIN_SOCKET_FACTORY"),
              ("Ljavax/net/ssl/SSLSocket", "SSL_SOCKET_STD"),
              ("Lorg/apache/http/conn/ssl/SSLSocket", "SSL_SOCKET_APACHE"),
              ("Ljavax/net/ssl/SSLSocketFactory", "SSL_SOCKET_FACTORY_STD"),
              ("Lorg/apache/http/conn/ssl/SSLSocketFactory", "SSL_SOCKET_FACTORY_APACHE"),
              ("EasySSLSocketFactory", "SSL_SOCKET_FACTORY_EASY"),
              ("Lcom/adobe/air/SSLSecurityDialog", "AIR_SSL_DIALOG"),
              ("Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier", "HOSTNAME_VERIFIER_ALLOW_ALL"),
              ("Lorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier", "HOSTNAME_VERIFIER_BROWSER_COMPAT"),
              ("Lorg/apache/http/conn/ssl/StrictHostnameVerifier", "HOSTNAME_VERIFIER_STRICT"),
              ("Lorg/apache/http/conn/ssl/X509HostnameVerifier", "HOSTNAME_VERIFIER_X509"),
              ("Ljavax/net/ssl/HttpsURLConnection", "URL_CONNECTION_HTTPS"),
              ("Ljava/net/HttpURLConnection", "URL_CONNECTION_HTTP"),
              ("Landroid/net/http/SslCertificate", "CERTIFICATE_CODE_STD"),
              ("Lcom/adobe/air/Certificate", "CERTIFICATE_CODE_AIR"),
              ("Lcom/google/ads/AdRequest", "GOOGLE_AD_SENSE"),
              ("Lcom/adobe/air", "ADOBE_AIR_RUNTIME")
              ]

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        '''
        Overwrite this function in apk subclass to build your own script!
        Use the `ResultObject` for logging.

        Parameters
        ----------
        apk: EAndroApk
        dalvik_vm_format: DalvikVMFormat
            Parsed .dex file.
            Only available if `needs_dalvik_vm_format` returns True.
        vm_analysis: VMAnalysis
            Dex analyzer.
            Only available if `needs_vmanalysis` returns True.
        gvm_analysis : GVMAnalysis
        '''
        res = self.res

        # register key
        res.register_bool_keys([CODE_LOADING_DYN, CODE_LOADING_NATIVE], CAT_CODE_LOADING)
        res.register_bool_keys(map(lambda t: t[1].lower(), self.CHECKS), CAT_SSL)

        # do checks
        self.do_usage_checks(vm_analysis)

    def do_usage_checks(self, dx):
        res = self.res

        def log(key):
            ''' convenience function for logging '''
            res.log_true(key, CAT_SSL)

        # run ssl checks
        for check_val, check_name in self.CHECKS:
            if dx.tainted_packages.search_packages(check_val) != []:
                # log
                log(check_name.lower())

        if is_dyn_code(dx):
            res.log_true(CODE_LOADING_DYN, CAT_CODE_LOADING)

        if is_native_code(dx):
            res.log_true(CODE_LOADING_NATIVE, CAT_CODE_LOADING)

        return res

    ############################################################
    #---Script requirements
    ############################################################

    def needs_xref(self):
        ''' Create cross references '''
        return True

def get_DynCode(dx):
    return dx.tainted_packages.search_packages( "Ldalvik/system/DexClassLoader")

if __name__ == '__main__':
    for res in AndroScript.test(SSL, ["../../../../testenv/apks/a2dp.Vol.apk"]):
        print res
        print res.write_to_json()

Services

This is an autogenerated documentation file for the script: Services

Run it
$ ./androanalyze scripts_builtin/Services.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn Services -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "Services",
         "sha256": "4289c76adce3be0efb678529cf6c6960b85594f410756e236bf25a821e018397",
         "analysis date": "2015-06-22T20:29:34.177000",
         "version": "0.1"
     },
     "services": [
         "com.spotify.mobile.android.service.SpotifyService",
         "com.spotify.mobile.android.video.VideoService",
         "com.spotify.mobile.android.service.MetadataManagerProxy",
         "com.spotify.mobile.android.service.ConnectManagerProxy",
         "com.spotify.mobile.android.service.SessionManagerProxy",
         "com.spotify.mobile.android.service.RemoteNativeRouterProxy",
         "com.spotify.mobile.android.service.MonitorService",
         "com.spotify.mobile.android.util.tracking.TrackingService",
         "com.spotify.music.spotlets.mobileapptracker.MobileAppTrackerIntentService",
         "com.spotify.mobile.android.service.DeviceIdentifierLoggerIntentService",
         "com.spotify.music.internal.service.DeleteCacheService",
         "com.spotify.mobile.android.spotlets.video.BackgroundableVideoService",
         "com.spotify.music.internal.service.DeleteOldCacheLocationsService",
         "com.spotify.mobile.android.spotlets.collection.service.AnnotateService",
         "com.spotify.mobile.android.spotlets.collection.service.RecentlyPlayedService",
         "com.spotify.mobile.android.spotlets.collection.cosmos.service.CollectionService",
         "com.spotify.mobile.android.spotlets.offline.service.OfflineService",
         "com.spotify.mobile.android.spotlets.podcast.service.PlayedStateService",
         "com.spotify.mobile.android.spotlets.ads.VideoAdService",
         "com.spotify.mobile.android.service.VideoPlayerManagerProxy",
         "com.spotify.music.spotlets.situationalcontent.loggers.activityrecognition.ActivityRecognitionIntentService",
         "com.spotify.music.spotlets.radio.service.RadioActionsService",
         "com.spotify.mobile.android.service.player.PlayerStateService",
         "com.spotify.mobile.android.service.session.SessionStateService",
         "com.spotify.mobile.android.service.media.MediaService",
         "com.spotify.mobile.android.applink.service.AppLinkService",
         "com.spotify.mobile.android.service.feature.FeatureService",
         "com.spotify.mobile.android.androidauto.SpotifyMediaBrowserService"
     ]
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn Services -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn Services -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

#categories
CAT_SERVICES = "services"

class Services(AndroScript):
    ''' Read services from manifest '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):

        res = self.res

        res.register_keys([CAT_SERVICES])

        # services
        res.log(CAT_SERVICES, apk.get_services())

ShowLoggingFuncs

This is an autogenerated documentation file for the script: ShowLoggingFuncs

Run it
$ ./androanalyze scripts_builtin/ShowLoggingFuncs.py --package-names com.spotify.music
View the results
Non-Binary
$ ./androquery result -sn ShowLoggingFuncs -pn com.spotify.music

 {
     "apk meta": {
         "package name": "com.spotify.music",
         "version name": "2.2.0.636",
         "sha256": "bbf2c7d7b8fbbce68a97a2f0fd7e854e29b1ea9e3836615e7e6a35095915a607",
         "import date": "2015-04-14T15:10:06.364000",
         "build_date": "2015-02-11T12:25:40",
         "path": "/mnt/stuff/btsync/apks_manual_downloads/02.03.2015_top_free_4/apps_topselling_free/MUSIC_AND_AUDIO/com.spotify.music.apk",
         "tag": null
     },
     "script meta": {
         "name": "ShowLoggingFuncs",
         "sha256": "4298a7ac3a603e91692798c0c373d93c7a9d5d4d3f082714d0daa413b0a64470",
         "analysis date": "2015-06-22T20:29:34.178000",
         "version": "0.1"
     },
     "category1": {
         "category2": {
             "logged": {
                 "normal": "some value",
                 "bool": true,
                 "enum": [
                     "list element"
                 ]
             },
             "unlogged": {
                 "normal": null,
                 "bool": false,
                 "enum": []
             }
         }
     }
 }
Binary

For the case that the result may exceed 16MB, it is stored in MongoDB’s gridFS. Therefore we need to use a different query syntax:

View the meta data:

$ ./androquery result -sn ShowLoggingFuncs -pn com.spotify.music -nd

 Empty

View the raw data:

$ ./androquery result -sn ShowLoggingFuncs -pn com.spotify.music -nd -r

 Empty
Source

# encoding: utf-8

__author__ = "Nils Tobias Schmidt"
__email__ = "schmidt89 at informatik.uni-marburg.de"

from androlyze.model.script.AndroScript import AndroScript

#categories
CAT_CLASS_DETAILS = "class details"
CAT_METHODS = "methods"
CAT_FIELDS = "fields"

class ShowLoggingFuncs(AndroScript):
    ''' Example for demonstrating available logging options and to do some query checks '''

    VERSION = "0.1"

    def _analyze(self, apk, dalvik_vm_format, vm_analysis, gvm_analysis, *args, **kwargs):
        res = self.res

        CAT_UNLOGGED = "category1", "category2", "unlogged"
        CAT_LOGGED = "category1", "category2", "logged"

        res.register_keys(["normal"], *CAT_LOGGED)
        res.register_keys(["normal"], *CAT_UNLOGGED)
        res.register_bool_keys(["bool"], *CAT_LOGGED)
        res.register_bool_keys(["bool"], *CAT_UNLOGGED)
        res.register_enum_keys(["enum"], *CAT_LOGGED)
        res.register_enum_keys(["enum"], *CAT_UNLOGGED)

        res.log("normal", "some value", *CAT_LOGGED)
        res.log_true("bool", *CAT_LOGGED)
        res.log_append_to_enum("enum", "list element", *CAT_LOGGED)

Getting APKs

AndroLyze has an easy way to download APKs from the PlayStore through GooglePlayCrawler.

Requirements

The docker image has not initialized this git submodule by default. So we need to do this first:

$ worker@f6a8d4e49d39:/home/worker/androlyze$ git submodule update --init google-play-crawler
$ worker@f6a8d4e49d39:/home/worker/androlyze$ ln -s google-play-crawler/googleplay/googleplaycrawler-0.3.jar googleplaycrawler.jar
$ worker@f6a8d4e49d39:/home/worker/androlyze$ cp google-play-crawler/googleplay/crawler.conf conf/crawler.conf

Be sure you have done the following steps before using the google play crawler:

  • Set email and password in conf/crawler.conf
  • Get androidid via “java -jar googleplaycrawler.jar -f conf/crawler.conf checkin” and set in in the config file

Download

Check that the crawler is working by listing all categories in Google Play

worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py list
GAME
BOOKS_AND_REFERENCE
BUSINESS
COMICS
COMMUNICATION
EDUCATION
ENTERTAINMENT
FINANCE
HEALTH_AND_FITNESS
LIBRARIES_AND_DEMO
LIFESTYLE
APP_WALLPAPER
MEDIA_AND_VIDEO
MEDICAL
MUSIC_AND_AUDIO
NEWS_AND_MAGAZINES
PERSONALIZATION
PHOTOGRAPHY
PRODUCTIVITY
SHOPPING
SOCIAL
SPORTS
TOOLS
TRANSPORTATION
TRAVEL_AND_LOCAL
WEATHER
APP_WIDGETS

Download an APK by name:

worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py download_pn com.facebook.katana

Download the top free 500 applications from every category:

worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py download_top_all_categories 500
Downloading the apps_topselling_free apks from category: GAME
Downloading: com.gamehivecorp.taptitans, com.vg.citybussimulator2015, com.uu.generaladaptiveapps, br.com.tapps.cowevolution, com.king.alphabettysaga, air.com.puffballsunited.escapingtheprison, com.studio7775.BeatMP3v2, com.miniclip.eightballpool, com.rovio.angrybirdsfight, com.tabtale.crazypoolparty, com.ea.game.simpsons4_row, com.Seriously.BestFiends, com.supercell.hayday, com.rovio.angrybirds, com.bigkraken.thelastwar, com.ea.games.simsfreeplay_row, com.prettysimple.criminalcaseandroid, com.aim.racing, com.boombit.Spider, com.rr.generaladaptiveapps, com.scimob.ninetyfour.percent, se.feomedia.quizkampen.de.lite, com.pinkpointer.wordsearch, com.SimgeSimulation.Woodball, com.king.farmheroessaga, com.nenoff.followthelinefree, com.halfbrick.fruitninjafree, com.ea.game.tetris2011_row, com.supercell.boombeach, com.midasplayer.apps.bubblewitchsaga2, com.glu.t5, com.ea.game.pvzfree_row, com.ping9games.grabtheauto3, com.sometimeswefly.littlealchemy, com.ammonite.dotmuncher, com.halfbrick.jetpackjoyride, com.aa.generaladaptiveapps, com.machinezone.gow, com.bigfishgames.gummydropgoogle, com.fgol.HungrySharkEvolution, com.snailgameusa.tp, com.ff.generaladaptiveapps, com.explorationbase.ExplorationLite, com.mangoogames.emojiquiz, com.ea.games.r3_row, multicraft.worldcraft.world, com.hugogames.superskater, com.Artibus.CircleMaster, com.netmarble.mherosgb, com.robtopx.geometryjumplite, com.squareenix.relicrun, com.mobirix.slideking, com.ea.game.fifa15_row, com.uken.BingoPop, com.roostergames.hillclimbtruckracing3, com.blizzard.wtcg.hearthstone, com.outfit7.mytalkingtomfree, com.ssc.fitfat, org.orangenose.games, com.yangyu.realskate, com.zynga.farmarcade, com.zynga.FarmVille2CountryEscape, com.natenai.glowhockey, com.lego.ninjago.toe, com.fingersoft.hillclimb, com.platogo.pmp, com.imangi.templerun2, com.lima.doodlejump, com.nordcurrent.canteenhd, com.wagawin.android2, com.hugogames.hugotrollrace, com.hcg.cok.gp, block.city.game, com.gameloft.android.ANMP.GloftDMHM, com.iwin.dond, com.doubleugames.DoubleUCasino, fr.x_studios.x_laser_2, com.kiloo.subwaysurf, software.simplicial.nebulous, com.ovilex.bussimulator2015, com.yodo1.crossyroad, com.game.wer.wird.millionaer, com.mangolee.amazon.free.card.cuteslots, com.king.candycrushsodasaga, de.lotum.whatsinthefoto.de, com.degoo.android.pregnantdoctor, com.BitofGame.MiniGolfRetro, com.supercell.clashofclans, com.tp.android.plasticsurgery, com.hammerhead.furious7, com.notdoppler.earntodie2, com.miniclip.dudeperfect, jp.gree.warofnationsbeta, me.pou.app, com.outfit7.mytalkingangelafree, com.fireflygames.rushofheroes, com.king.candycrushsaga, com.igg.castleclash_de, br.com.tapps.giraffeevolution, com.umbrella.boomdots
Downloading...com.gamehivecorp.taptitans : 61881468 bytes

Update Database

Update all APKs with a newer version available in the PlayStore :

worker@f6a8d4e49d39:/home/worker/androlyze$ ./androquery -idb dbs/test.idb import package-names | ./androupdate.py dbs/test.idb

The first command lists all package names from the import database. The seconds reads them from stdin and checks each for a newer version. If this is the case, it gets downloaded.

Manual

worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py
Usage: ./playstore.py <list
                       |download_new_all_categories <number>
                       |download_top_all_categories <number>
                       |download <category> <subcategory> <number>
                       |download_pn <package_name>
                      >

The script relies on google-play-crawler.

Be sure you have done the following steps before using this script!
1) Get it from here: https://github.com/Akdeniz/google-play-crawler
and place this script inside the googleplay directory after it has been build.
2) Set email and password in crawler.conf
3) Get androidid via "java -jar googleplaycrawler.jar -f crawler.conf checkin" and set in in the config file
4) playstore.py benutzen ;)

Example: ./playstore.py download WEATHER apps_topselling_new_free 2
Example: ./playstore.py download_pn a2dp.Vol
Example: ./playstore.py list
Example: ./playstore.py download_new_all_categories 10
Example: ./playstore.py download_top_all_categories 10

Possible subcategories are:
    apps_topselling_paid
    apps_topselling_free
    apps_topgrossing
    apps_topselling_new_paid
    apps_topselling_new_free

Monitoring / Management

AndroLyze has a few ways to monitor the current analysis. First of all you can use a simple bash script to the check status of each worker which is currently registered at the message queue:

     worker@fba930455a9c:/home/worker/androlyze$ sh management/check_status.sh
INFO: appending "androguard/" to sys.path
-> celery@6d94b9fdaccc: OK
    - empty -
-> celery@fba930455a9c: OK
    - empty -
-> celery@27575180f00d: OK
    - empty -
-> celery@16ce2eddb337: OK
    - empty -

The monitoring includes also the tasks the workers are executing at the moment.

-> celery@6d94b9fdaccc: OK
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'd1c01f118eb0e0d3edfed46db1e1cd609e95ad9e19d2e4042e42f633f6e05ae7', True, FastApk(com.freeletics.lite, 2.5, d1c01f118eb0e0d3edfed46db1e1cd609e95ad9e19d2e4042e42f633f6e05ae7, 2015-06-17 17:43:07.129660, None, 2015-03-02 09:35:20))", u'time_start': 93154.336766429, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@6d94b9fdaccc', u'acknowledged': False, u'kwargs': u'{}', u'id': u'14c1b604-2bf0-47f9-be98-61cef5931345', u'worker_pid': 97}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'43bf774b2795459bbcdfa0a5c40843dc2485000a20dad3dda4c41b08df057fc9', True, FastApk(com.microsoft.office.outlook, 1.0.5, 43bf774b2795459bbcdfa0a5c40843dc2485000a20dad3dda4c41b08df057fc9, 2015-06-17 17:43:15.148223, None, 2015-02-17 10:37:32))", u'time_start': 93154.294892248, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@6d94b9fdaccc', u'acknowledged': False, u'kwargs': u'{}', u'id': u'7eb50c9b-533a-4078-b60d-e575173eed1f', u'worker_pid': 94}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'9e6bf1cb31f5cff3a3d8e39a16ca8c34590ad68ae840b4bb7995f185af0f0994', True, FastApk(com.ebay.mobile, 2.8.2.1, 9e6bf1cb31f5cff3a3d8e39a16ca8c34590ad68ae840b4bb7995f185af0f0994, 2015-06-17 17:43:16.024391, None, 2014-11-12 09:57:38))", u'time_start': 93154.267301966, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@6d94b9fdaccc', u'acknowledged': False, u'kwargs': u'{}', u'id': u'198742d5-f8c0-490f-ad98-068a6938b1de', u'worker_pid': 96}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'a9fc9e0d5d2da6f24b945b31b6053ff6a96b9cbbc1eb5600b69c4c5651fd8efd', True, FastApk(com.snapchat.android, 9.2.0.0, a9fc9e0d5d2da6f24b945b31b6053ff6a96b9cbbc1eb5600b69c4c5651fd8efd, 2015-06-17 17:43:14.931758, None, 2015-02-24 08:13:54))", u'time_start': 93154.378777605, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@6d94b9fdaccc', u'acknowledged': False, u'kwargs': u'{}', u'id': u'2c77637a-4b06-42d4-b6ee-e39b451b0312', u'worker_pid': 95}
-> celery@fba930455a9c: OK
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'2d7a934f2fb8a60b9c690bfbd8884f47611ed3cb073805a3bcc35825806886fb', True, FastApk(com.shazam.android, 5.3.1-15022714, 2d7a934f2fb8a60b9c690bfbd8884f47611ed3cb073805a3bcc35825806886fb, 2015-06-17 17:43:06.956667, None, 2015-02-27 14:35:44))", u'time_start': 93154.309475294, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@fba930455a9c', u'acknowledged': False, u'kwargs': u'{}', u'id': u'6b35e1a9-7068-4729-979a-8eecea9c6183', u'worker_pid': 101}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'6b4d5f2b0db9e955ddc0cc5ddf58d3ada5f0097f4d65a372125ccdbd0f420cf2', True, FastApk(com.runtastic.android, 5.7.1, 6b4d5f2b0db9e955ddc0cc5ddf58d3ada5f0097f4d65a372125ccdbd0f420cf2, 2015-06-17 17:43:03.427886, None, 2015-02-17 10:55:24))", u'time_start': 93154.285464962, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@fba930455a9c', u'acknowledged': False, u'kwargs': u'{}', u'id': u'26db058e-65de-4147-96f7-68f2a52dd292', u'worker_pid': 102}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'd28c4d3f2e757beef6234601c6f5bfc462699a656aa53573541bb41527dd3cae', True, FastApk(com.infraware.office.link, 6.0.9, d28c4d3f2e757beef6234601c6f5bfc462699a656aa53573541bb41527dd3cae, 2015-06-17 17:42:56.857422, None, 2015-02-13 03:27:20))", u'time_start': 93154.260862799, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@fba930455a9c', u'acknowledged': False, u'kwargs': u'{}', u'id': u'8fb6cfc7-beca-478f-9375-17874cb90b3b', u'worker_pid': 100}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'5db7f91524a5e8eeb6398f8f2a3189393d5ed7cce457c1d07d7a2754487c4330', True, FastApk(com.yodo1.crossyroad, 1.0.3, 5db7f91524a5e8eeb6398f8f2a3189393d5ed7cce457c1d07d7a2754487c4330, 2015-06-17 17:43:01.521850, None, 2015-02-09 18:11:06))", u'time_start': 93154.368736285, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@fba930455a9c', u'acknowledged': False, u'kwargs': u'{}', u'id': u'08ac588d-a1ea-457d-891c-f3df5d176583', u'worker_pid': 99}
-> celery@16ce2eddb337: OK
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'86c6f9ca30f40f03ddff9c06dd30f7ec31420e214c4ae77a364ca5c74ecb8cbf', True, FastApk(com.amazon.mShop.android.shopping, 5.2.3, 86c6f9ca30f40f03ddff9c06dd30f7ec31420e214c4ae77a364ca5c74ecb8cbf, 2015-06-17 17:43:12.076072, None, 2014-12-10 06:31:52))", u'time_start': 93154.341224899, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@16ce2eddb337', u'acknowledged': False, u'kwargs': u'{}', u'id': u'7379d06d-9a86-4fec-87c1-b8c55ee0e65f', u'worker_pid': 98}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'9152cbac4c37551d653ec4f21b6146ab7c89b0125929b5ba8b618b610b523a8e', True, FastApk(de.motain.iliga, 6.0.8, 9152cbac4c37551d653ec4f21b6146ab7c89b0125929b5ba8b618b610b523a8e, 2015-06-17 17:43:15.866802, None, 2015-02-24 08:42:10))", u'time_start': 93154.302233582, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@16ce2eddb337', u'acknowledged': False, u'kwargs': u'{}', u'id': u'56717233-16b6-478f-9101-56bd8daf8e76', u'worker_pid': 95}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'32523ddf6a7c512bd5e99ca538da33b4aad4d0329bf7f6fd19e48f015da61cb4', True, FastApk(com.amazon.kindle, 4.9.0.158, 32523ddf6a7c512bd5e99ca538da33b4aad4d0329bf7f6fd19e48f015da61cb4, 2015-06-17 17:42:55.212787, None, 2015-02-04 16:38:34))", u'time_start': 93154.273260892, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@16ce2eddb337', u'acknowledged': False, u'kwargs': u'{}', u'id': u'7f0dcc7a-aaad-4c5d-a8b0-520b244d70bd', u'worker_pid': 97}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'ef52e4ba18c54f82bad12e39b807df9753162caec73eaeb6f25c4d18ef679f68', True, FastApk(de.kaufda.android, 7.0.1, ef52e4ba18c54f82bad12e39b807df9753162caec73eaeb6f25c4d18ef679f68, 2015-06-17 17:42:53.989841, None, 2015-02-16 14:49:04))", u'time_start': 93154.394055117, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@16ce2eddb337', u'acknowledged': False, u'kwargs': u'{}', u'id': u'7721aff1-29fd-42ff-a12b-4eb167847bc8', u'worker_pid': 96}
-> celery@27575180f00d: OK
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'0270160f6ec17cb3f3055e686fc273f8afa3f2236330bac66e12ef539e6fc5d8', True, FastApk(com.picsart.studio, 5.0.0.14, 0270160f6ec17cb3f3055e686fc273f8afa3f2236330bac66e12ef539e6fc5d8, 2015-06-17 17:42:53.466250, None, 2014-12-29 15:30:12))", u'time_start': 93154.351653813, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@27575180f00d', u'acknowledged': False, u'kwargs': u'{}', u'id': u'ec390a9f-735e-473e-ac65-873e1cc36f6e', u'worker_pid': 99}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'e7d3ebfdd88d3605de3fb7d3a1717524cfad4aedad002998bf6ef1d3af8a790d', True, FastApk(de.postbank.finanzassistent, 2.0.2, e7d3ebfdd88d3605de3fb7d3a1717524cfad4aedad002998bf6ef1d3af8a790d, 2015-06-17 17:43:00.248399, None, 2014-12-16 10:53:38))", u'time_start': 93154.306459678, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@27575180f00d', u'acknowledged': False, u'kwargs': u'{}', u'id': u'70048002-ab33-48bb-9306-bcb043c0f567', u'worker_pid': 96}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'4d2afc03880795a561e8eb762314d135d7a777d50daa72fafbcb64b1cbb7ae4d', True, FastApk(com.myfitnesspal.android, 3.7.3, 4d2afc03880795a561e8eb762314d135d7a777d50daa72fafbcb64b1cbb7ae4d, 2015-06-17 17:43:03.627133, None, 2015-02-09 07:47:10))", u'time_start': 93154.281455697, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@27575180f00d', u'acknowledged': False, u'kwargs': u'{}', u'id': u'ac152fe6-cc09-44fa-a41b-88de315ea3f7', u'worker_pid': 98}
    * {u'args': u"(['scripts_builtin.ChainedApkInfos'], (False, False, False, False, False), ['8ed360626c750f35e620192e00002b87dd3f35c46fced015aa7f8f2c093fb6ae'], u'bc0cd6fd5b57b75150cbc30727bec88da4e842c2590cc235ceadb7aa43b0877d', True, FastApk(com.eisterhues_media_2, 3.0.4, bc0cd6fd5b57b75150cbc30727bec88da4e842c2590cc235ceadb7aa43b0877d, 2015-06-17 17:43:14.607490, None, 2015-02-20 13:32:16))", u'time_start': 93154.407142263, u'name': u'androlyze.analyze.distributed.tasks.AnalyzeTask.AnalyzeTask', u'delivery_info': {u'priority': None, u'redelivered': False, u'routing_key': u'analyze_apk', u'exchange': u'celery'}, u'hostname': u'celery@27575180f00d', u'acknowledged': False, u'kwargs': u'{}', u'id': u'd5605555-74f6-4e7c-87b8-6bf1df6bc0f5', u'worker_pid': 97}

There are also two graphical monitoring tools included in the Docker distribution of AndroLyze.

  • The first is celery flower which can be accessed at port 5555 on the docker host system (no https!).
Celery Flower Monitoring 1 Celery Flower Monitoring 2 Celery Flower Monitoring 3 RabbitMQ Management Plugin 1 RabbitMQ Management Plugin 2

Task Revocation

By default tasks are revoked in the distributed mode when the user aborts the analysis. This means that all tasks are marked as “revoked” and all workers killed with “SIGKILL”. If a worker consumes this flagged task it won’t get executed.

If task revocation is disabled in the config, there is still a way to do the task revocation by hand (without killing the workers)

worker@06f5e795c279:/home/worker/androlyze$ sh management/purge_tasks.sh
INFO: appending "androguard/" to sys.path
-> connecting to amqp://androlyze:**@172.17.0.2:5671/androlyze_vhost.
-> connected.
ok. 88 messages deleted.
INFO: appending "androguard/" to sys.path
-> connecting to amqp://androlyze:**@172.17.0.2:5671/androlyze_vhost.
-> connected.
ok. 0 messages deleted.

Indices and tables