diff --git a/browser/LICENSE b/LICENSE similarity index 100% rename from browser/LICENSE rename to LICENSE diff --git a/browser/Makefile b/Makefile similarity index 100% rename from browser/Makefile rename to Makefile diff --git a/browser/README.md b/README.md similarity index 100% rename from browser/README.md rename to README.md diff --git a/browser/bootstrap/css/bootstrap-responsive.css b/bootstrap/css/bootstrap-responsive.css similarity index 100% rename from browser/bootstrap/css/bootstrap-responsive.css rename to bootstrap/css/bootstrap-responsive.css diff --git a/browser/bootstrap/css/bootstrap-responsive.min.css b/bootstrap/css/bootstrap-responsive.min.css similarity index 100% rename from browser/bootstrap/css/bootstrap-responsive.min.css rename to bootstrap/css/bootstrap-responsive.min.css diff --git a/browser/bootstrap/css/bootstrap.css b/bootstrap/css/bootstrap.css similarity index 100% rename from browser/bootstrap/css/bootstrap.css rename to bootstrap/css/bootstrap.css diff --git a/browser/bootstrap/css/bootstrap.min.css b/bootstrap/css/bootstrap.min.css similarity index 100% rename from browser/bootstrap/css/bootstrap.min.css rename to bootstrap/css/bootstrap.min.css diff --git a/browser/bootstrap/img/glyphicons-halflings-white.png b/bootstrap/img/glyphicons-halflings-white.png similarity index 100% rename from browser/bootstrap/img/glyphicons-halflings-white.png rename to bootstrap/img/glyphicons-halflings-white.png diff --git a/browser/bootstrap/img/glyphicons-halflings.png b/bootstrap/img/glyphicons-halflings.png similarity index 100% rename from browser/bootstrap/img/glyphicons-halflings.png rename to bootstrap/img/glyphicons-halflings.png diff --git a/browser/bootstrap/js/bootstrap.js b/bootstrap/js/bootstrap.js similarity index 100% rename from browser/bootstrap/js/bootstrap.js rename to bootstrap/js/bootstrap.js diff --git a/browser/bootstrap/js/bootstrap.min.js b/bootstrap/js/bootstrap.min.js similarity index 100% rename from browser/bootstrap/js/bootstrap.min.js rename to bootstrap/js/bootstrap.min.js diff --git a/browser/browser/VizGrimoireJS b/browser/VizGrimoireJS similarity index 100% rename from browser/browser/VizGrimoireJS rename to browser/VizGrimoireJS diff --git a/browser/browser/bitergia-logo-small.png b/browser/bitergia-logo-small.png similarity index 100% rename from browser/browser/bitergia-logo-small.png rename to browser/bitergia-logo-small.png diff --git a/browser/browser/bitergia-logo.png b/browser/bitergia-logo.png similarity index 100% rename from browser/browser/bitergia-logo.png rename to browser/bitergia-logo.png diff --git a/browser/browser/index.html b/browser/browser/index.html deleted file mode 100644 index cef384f7..00000000 --- a/browser/browser/index.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - - Bitergia Summary Report - - - - - - -
-
-
Welcome to OpenStack Development Dashboard. This space contains information collected from several sources, including OpenStack source code repository (git), bug tracking system (Launchpad), mailing lists, and from the OpenStack Foundation members database. The data has been retrieved using MetricsGrimoire, and analyzed and visualized using vizGrimoire. Please consider this as work in progress: send all your comments to communitymngr @ openstack.org (beware the spaces), and report bugs in the Open Stack Lauchpad tracker.
-
Warning! This is still work in progress, be patient if the page takes its time to load. Data may be unaccurate or even wildly incorrect.
-
-
- -
- - -
- -
-

General activity

-
-
-
-
-

[Use sliders to select time periods]

- - -
- -
-

Last Activity Tracker

-
-
-
-
- - - -
- -
-
-
-
Commits: source code changes
-
-
-
-
Authors: original developer
- (in some cases w/o commit rights)
-
-
- - -
-
-
-
Sent: total emails per week
-
-
-
-
Senders: people sending emails
- -
-
- -
-
-
-
Opened: tickets opened
-
- -
-
-
Openers: people opening tickets
-
-
- - - - -
-
- - - - - - - diff --git a/browser/browser/cc-by-sa.png b/browser/cc-by-sa.png similarity index 100% rename from browser/browser/cc-by-sa.png rename to browser/cc-by-sa.png diff --git a/browser/browser/companies.html b/browser/companies.html similarity index 100% rename from browser/browser/companies.html rename to browser/companies.html diff --git a/browser/browser/company.html b/browser/company.html similarity index 100% rename from browser/browser/company.html rename to browser/company.html diff --git a/browser/browser/custom.css b/browser/custom.css similarity index 100% rename from browser/browser/custom.css rename to browser/custom.css diff --git a/browser/data/db/gerrit.mysql.7z b/browser/data/db/gerrit.mysql.7z deleted file mode 100644 index 18e5e64d..00000000 Binary files a/browser/data/db/gerrit.mysql.7z and /dev/null differ diff --git a/browser/data/db/gits.mysql.7z b/browser/data/db/gits.mysql.7z deleted file mode 100644 index bbb17b69..00000000 Binary files a/browser/data/db/gits.mysql.7z and /dev/null differ diff --git a/browser/data/db/lists.mysql.7z b/browser/data/db/lists.mysql.7z deleted file mode 100644 index 0d6a8aeb..00000000 Binary files a/browser/data/db/lists.mysql.7z and /dev/null differ diff --git a/browser/data/db/tickets.mysql.7z b/browser/data/db/tickets.mysql.7z deleted file mode 100644 index bfd8e611..00000000 Binary files a/browser/data/db/tickets.mysql.7z and /dev/null differ diff --git a/browser/browser/data/json/-Bot-mls-evolutionary.json b/browser/data/json/-Bot-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/-Bot-mls-evolutionary.json rename to browser/data/json/-Bot-mls-evolutionary.json diff --git a/browser/browser/data/json/-Bot-mls-static.json b/browser/data/json/-Bot-mls-static.json similarity index 100% rename from browser/browser/data/json/-Bot-mls-static.json rename to browser/data/json/-Bot-mls-static.json diff --git a/browser/browser/data/json/-Bot-mls-top-senders.json b/browser/data/json/-Bot-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/-Bot-mls-top-senders.json rename to browser/data/json/-Bot-mls-top-senders.json diff --git a/browser/browser/data/json/-Bot-scm-evolutionary.json b/browser/data/json/-Bot-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/-Bot-scm-evolutionary.json rename to browser/data/json/-Bot-scm-evolutionary.json diff --git a/browser/browser/data/json/-Bot-scm-static.json b/browser/data/json/-Bot-scm-static.json similarity index 100% rename from browser/browser/data/json/-Bot-scm-static.json rename to browser/data/json/-Bot-scm-static.json diff --git a/browser/browser/data/json/-Bot-scm-top-authors.json b/browser/data/json/-Bot-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/-Bot-scm-top-authors.json rename to browser/data/json/-Bot-scm-top-authors.json diff --git a/browser/browser/data/json/-Bot-scm-top-authors_2006.json b/browser/data/json/-Bot-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/-Bot-scm-top-authors_2006.json rename to browser/data/json/-Bot-scm-top-authors_2006.json diff --git a/browser/browser/data/json/-Bot-scm-top-authors_2009.json b/browser/data/json/-Bot-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/-Bot-scm-top-authors_2009.json rename to browser/data/json/-Bot-scm-top-authors_2009.json diff --git a/browser/browser/data/json/-Bot-scm-top-authors_2012.json b/browser/data/json/-Bot-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/-Bot-scm-top-authors_2012.json rename to browser/data/json/-Bot-scm-top-authors_2012.json diff --git a/browser/browser/data/json/AT&T-its-evolutionary.json b/browser/data/json/AT&T-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/AT&T-its-evolutionary.json rename to browser/data/json/AT&T-its-evolutionary.json diff --git a/browser/browser/data/json/AT&T-its-static.json b/browser/data/json/AT&T-its-static.json similarity index 100% rename from browser/browser/data/json/AT&T-its-static.json rename to browser/data/json/AT&T-its-static.json diff --git a/browser/browser/data/json/AT&T-its-top-closers.json b/browser/data/json/AT&T-its-top-closers.json similarity index 100% rename from browser/browser/data/json/AT&T-its-top-closers.json rename to browser/data/json/AT&T-its-top-closers.json diff --git a/browser/browser/data/json/AT&T-mls-evolutionary.json b/browser/data/json/AT&T-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/AT&T-mls-evolutionary.json rename to browser/data/json/AT&T-mls-evolutionary.json diff --git a/browser/browser/data/json/AT&T-mls-static.json b/browser/data/json/AT&T-mls-static.json similarity index 100% rename from browser/browser/data/json/AT&T-mls-static.json rename to browser/data/json/AT&T-mls-static.json diff --git a/browser/browser/data/json/AT&T-mls-top-senders.json b/browser/data/json/AT&T-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/AT&T-mls-top-senders.json rename to browser/data/json/AT&T-mls-top-senders.json diff --git a/browser/browser/data/json/AT&T-scm-evolutionary.json b/browser/data/json/AT&T-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/AT&T-scm-evolutionary.json rename to browser/data/json/AT&T-scm-evolutionary.json diff --git a/browser/browser/data/json/AT&T-scm-static.json b/browser/data/json/AT&T-scm-static.json similarity index 100% rename from browser/browser/data/json/AT&T-scm-static.json rename to browser/data/json/AT&T-scm-static.json diff --git a/browser/browser/data/json/AT&T-scm-top-authors.json b/browser/data/json/AT&T-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/AT&T-scm-top-authors.json rename to browser/data/json/AT&T-scm-top-authors.json diff --git a/browser/browser/data/json/AT&T-scm-top-authors_2006.json b/browser/data/json/AT&T-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/AT&T-scm-top-authors_2006.json rename to browser/data/json/AT&T-scm-top-authors_2006.json diff --git a/browser/browser/data/json/AT&T-scm-top-authors_2009.json b/browser/data/json/AT&T-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/AT&T-scm-top-authors_2009.json rename to browser/data/json/AT&T-scm-top-authors_2009.json diff --git a/browser/browser/data/json/AT&T-scm-top-authors_2012.json b/browser/data/json/AT&T-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/AT&T-scm-top-authors_2012.json rename to browser/data/json/AT&T-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Ansolabs -its-evolutionary.json b/browser/data/json/Ansolabs -its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Ansolabs -its-evolutionary.json rename to browser/data/json/Ansolabs -its-evolutionary.json diff --git a/browser/browser/data/json/Ansolabs -its-static.json b/browser/data/json/Ansolabs -its-static.json similarity index 100% rename from browser/browser/data/json/Ansolabs -its-static.json rename to browser/data/json/Ansolabs -its-static.json diff --git a/browser/browser/data/json/Ansolabs -its-top-closers.json b/browser/data/json/Ansolabs -its-top-closers.json similarity index 100% rename from browser/browser/data/json/Ansolabs -its-top-closers.json rename to browser/data/json/Ansolabs -its-top-closers.json diff --git a/browser/browser/data/json/Ansolabs -mls-evolutionary.json b/browser/data/json/Ansolabs -mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Ansolabs -mls-evolutionary.json rename to browser/data/json/Ansolabs -mls-evolutionary.json diff --git a/browser/browser/data/json/Ansolabs -mls-static.json b/browser/data/json/Ansolabs -mls-static.json similarity index 100% rename from browser/browser/data/json/Ansolabs -mls-static.json rename to browser/data/json/Ansolabs -mls-static.json diff --git a/browser/browser/data/json/Ansolabs -mls-top-senders.json b/browser/data/json/Ansolabs -mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Ansolabs -mls-top-senders.json rename to browser/data/json/Ansolabs -mls-top-senders.json diff --git a/browser/browser/data/json/Ansolabs -scm-evolutionary.json b/browser/data/json/Ansolabs -scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Ansolabs -scm-evolutionary.json rename to browser/data/json/Ansolabs -scm-evolutionary.json diff --git a/browser/browser/data/json/Ansolabs -scm-static.json b/browser/data/json/Ansolabs -scm-static.json similarity index 100% rename from browser/browser/data/json/Ansolabs -scm-static.json rename to browser/data/json/Ansolabs -scm-static.json diff --git a/browser/browser/data/json/Ansolabs -scm-top-authors.json b/browser/data/json/Ansolabs -scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Ansolabs -scm-top-authors.json rename to browser/data/json/Ansolabs -scm-top-authors.json diff --git a/browser/browser/data/json/Ansolabs -scm-top-authors_2006.json b/browser/data/json/Ansolabs -scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Ansolabs -scm-top-authors_2006.json rename to browser/data/json/Ansolabs -scm-top-authors_2006.json diff --git a/browser/browser/data/json/Ansolabs -scm-top-authors_2009.json b/browser/data/json/Ansolabs -scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Ansolabs -scm-top-authors_2009.json rename to browser/data/json/Ansolabs -scm-top-authors_2009.json diff --git a/browser/browser/data/json/Ansolabs -scm-top-authors_2012.json b/browser/data/json/Ansolabs -scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Ansolabs -scm-top-authors_2012.json rename to browser/data/json/Ansolabs -scm-top-authors_2012.json diff --git a/browser/browser/data/json/Atomia-its-evolutionary.json b/browser/data/json/Atomia-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Atomia-its-evolutionary.json rename to browser/data/json/Atomia-its-evolutionary.json diff --git a/browser/browser/data/json/Atomia-its-static.json b/browser/data/json/Atomia-its-static.json similarity index 100% rename from browser/browser/data/json/Atomia-its-static.json rename to browser/data/json/Atomia-its-static.json diff --git a/browser/browser/data/json/Atomia-its-top-closers.json b/browser/data/json/Atomia-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Atomia-its-top-closers.json rename to browser/data/json/Atomia-its-top-closers.json diff --git a/browser/browser/data/json/Atomia-scm-evolutionary.json b/browser/data/json/Atomia-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Atomia-scm-evolutionary.json rename to browser/data/json/Atomia-scm-evolutionary.json diff --git a/browser/browser/data/json/Atomia-scm-static.json b/browser/data/json/Atomia-scm-static.json similarity index 100% rename from browser/browser/data/json/Atomia-scm-static.json rename to browser/data/json/Atomia-scm-static.json diff --git a/browser/browser/data/json/Atomia-scm-top-authors.json b/browser/data/json/Atomia-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Atomia-scm-top-authors.json rename to browser/data/json/Atomia-scm-top-authors.json diff --git a/browser/browser/data/json/Atomia-scm-top-authors_2006.json b/browser/data/json/Atomia-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Atomia-scm-top-authors_2006.json rename to browser/data/json/Atomia-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Atomia-scm-top-authors_2009.json b/browser/data/json/Atomia-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Atomia-scm-top-authors_2009.json rename to browser/data/json/Atomia-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Atomia-scm-top-authors_2012.json b/browser/data/json/Atomia-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Atomia-scm-top-authors_2012.json rename to browser/data/json/Atomia-scm-top-authors_2012.json diff --git a/browser/browser/data/json/B1 Systems-its-evolutionary.json b/browser/data/json/B1 Systems-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/B1 Systems-its-evolutionary.json rename to browser/data/json/B1 Systems-its-evolutionary.json diff --git a/browser/browser/data/json/B1 Systems-its-static.json b/browser/data/json/B1 Systems-its-static.json similarity index 100% rename from browser/browser/data/json/B1 Systems-its-static.json rename to browser/data/json/B1 Systems-its-static.json diff --git a/browser/browser/data/json/B1 Systems-its-top-closers.json b/browser/data/json/B1 Systems-its-top-closers.json similarity index 100% rename from browser/browser/data/json/B1 Systems-its-top-closers.json rename to browser/data/json/B1 Systems-its-top-closers.json diff --git a/browser/browser/data/json/B1 Systems-mls-evolutionary.json b/browser/data/json/B1 Systems-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/B1 Systems-mls-evolutionary.json rename to browser/data/json/B1 Systems-mls-evolutionary.json diff --git a/browser/browser/data/json/B1 Systems-mls-static.json b/browser/data/json/B1 Systems-mls-static.json similarity index 100% rename from browser/browser/data/json/B1 Systems-mls-static.json rename to browser/data/json/B1 Systems-mls-static.json diff --git a/browser/browser/data/json/B1 Systems-mls-top-senders.json b/browser/data/json/B1 Systems-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/B1 Systems-mls-top-senders.json rename to browser/data/json/B1 Systems-mls-top-senders.json diff --git a/browser/browser/data/json/B1 Systems-scm-evolutionary.json b/browser/data/json/B1 Systems-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/B1 Systems-scm-evolutionary.json rename to browser/data/json/B1 Systems-scm-evolutionary.json diff --git a/browser/browser/data/json/B1 Systems-scm-static.json b/browser/data/json/B1 Systems-scm-static.json similarity index 100% rename from browser/browser/data/json/B1 Systems-scm-static.json rename to browser/data/json/B1 Systems-scm-static.json diff --git a/browser/browser/data/json/B1 Systems-scm-top-authors.json b/browser/data/json/B1 Systems-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/B1 Systems-scm-top-authors.json rename to browser/data/json/B1 Systems-scm-top-authors.json diff --git a/browser/browser/data/json/B1 Systems-scm-top-authors_2006.json b/browser/data/json/B1 Systems-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/B1 Systems-scm-top-authors_2006.json rename to browser/data/json/B1 Systems-scm-top-authors_2006.json diff --git a/browser/browser/data/json/B1 Systems-scm-top-authors_2009.json b/browser/data/json/B1 Systems-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/B1 Systems-scm-top-authors_2009.json rename to browser/data/json/B1 Systems-scm-top-authors_2009.json diff --git a/browser/browser/data/json/B1 Systems-scm-top-authors_2012.json b/browser/data/json/B1 Systems-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/B1 Systems-scm-top-authors_2012.json rename to browser/data/json/B1 Systems-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Big Switch Networks-its-evolutionary.json b/browser/data/json/Big Switch Networks-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-its-evolutionary.json rename to browser/data/json/Big Switch Networks-its-evolutionary.json diff --git a/browser/browser/data/json/Big Switch Networks-its-static.json b/browser/data/json/Big Switch Networks-its-static.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-its-static.json rename to browser/data/json/Big Switch Networks-its-static.json diff --git a/browser/browser/data/json/Big Switch Networks-its-top-closers.json b/browser/data/json/Big Switch Networks-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-its-top-closers.json rename to browser/data/json/Big Switch Networks-its-top-closers.json diff --git a/browser/browser/data/json/Big Switch Networks-mls-evolutionary.json b/browser/data/json/Big Switch Networks-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-mls-evolutionary.json rename to browser/data/json/Big Switch Networks-mls-evolutionary.json diff --git a/browser/browser/data/json/Big Switch Networks-mls-static.json b/browser/data/json/Big Switch Networks-mls-static.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-mls-static.json rename to browser/data/json/Big Switch Networks-mls-static.json diff --git a/browser/browser/data/json/Big Switch Networks-mls-top-senders.json b/browser/data/json/Big Switch Networks-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-mls-top-senders.json rename to browser/data/json/Big Switch Networks-mls-top-senders.json diff --git a/browser/browser/data/json/Big Switch Networks-scm-evolutionary.json b/browser/data/json/Big Switch Networks-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-scm-evolutionary.json rename to browser/data/json/Big Switch Networks-scm-evolutionary.json diff --git a/browser/browser/data/json/Big Switch Networks-scm-static.json b/browser/data/json/Big Switch Networks-scm-static.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-scm-static.json rename to browser/data/json/Big Switch Networks-scm-static.json diff --git a/browser/browser/data/json/Big Switch Networks-scm-top-authors.json b/browser/data/json/Big Switch Networks-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-scm-top-authors.json rename to browser/data/json/Big Switch Networks-scm-top-authors.json diff --git a/browser/browser/data/json/Big Switch Networks-scm-top-authors_2006.json b/browser/data/json/Big Switch Networks-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-scm-top-authors_2006.json rename to browser/data/json/Big Switch Networks-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Big Switch Networks-scm-top-authors_2009.json b/browser/data/json/Big Switch Networks-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-scm-top-authors_2009.json rename to browser/data/json/Big Switch Networks-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Big Switch Networks-scm-top-authors_2012.json b/browser/data/json/Big Switch Networks-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Big Switch Networks-scm-top-authors_2012.json rename to browser/data/json/Big Switch Networks-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Bvox-its-evolutionary.json b/browser/data/json/Bvox-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Bvox-its-evolutionary.json rename to browser/data/json/Bvox-its-evolutionary.json diff --git a/browser/browser/data/json/Bvox-its-static.json b/browser/data/json/Bvox-its-static.json similarity index 100% rename from browser/browser/data/json/Bvox-its-static.json rename to browser/data/json/Bvox-its-static.json diff --git a/browser/browser/data/json/Bvox-its-top-closers.json b/browser/data/json/Bvox-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Bvox-its-top-closers.json rename to browser/data/json/Bvox-its-top-closers.json diff --git a/browser/browser/data/json/Bvox-mls-evolutionary.json b/browser/data/json/Bvox-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Bvox-mls-evolutionary.json rename to browser/data/json/Bvox-mls-evolutionary.json diff --git a/browser/browser/data/json/Bvox-mls-static.json b/browser/data/json/Bvox-mls-static.json similarity index 100% rename from browser/browser/data/json/Bvox-mls-static.json rename to browser/data/json/Bvox-mls-static.json diff --git a/browser/browser/data/json/Bvox-mls-top-senders.json b/browser/data/json/Bvox-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Bvox-mls-top-senders.json rename to browser/data/json/Bvox-mls-top-senders.json diff --git a/browser/browser/data/json/Bvox-scm-evolutionary.json b/browser/data/json/Bvox-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Bvox-scm-evolutionary.json rename to browser/data/json/Bvox-scm-evolutionary.json diff --git a/browser/browser/data/json/Bvox-scm-static.json b/browser/data/json/Bvox-scm-static.json similarity index 100% rename from browser/browser/data/json/Bvox-scm-static.json rename to browser/data/json/Bvox-scm-static.json diff --git a/browser/browser/data/json/Bvox-scm-top-authors.json b/browser/data/json/Bvox-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Bvox-scm-top-authors.json rename to browser/data/json/Bvox-scm-top-authors.json diff --git a/browser/browser/data/json/Bvox-scm-top-authors_2006.json b/browser/data/json/Bvox-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Bvox-scm-top-authors_2006.json rename to browser/data/json/Bvox-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Bvox-scm-top-authors_2009.json b/browser/data/json/Bvox-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Bvox-scm-top-authors_2009.json rename to browser/data/json/Bvox-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Bvox-scm-top-authors_2012.json b/browser/data/json/Bvox-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Bvox-scm-top-authors_2012.json rename to browser/data/json/Bvox-scm-top-authors_2012.json diff --git a/browser/browser/data/json/CERN-its-evolutionary.json b/browser/data/json/CERN-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/CERN-its-evolutionary.json rename to browser/data/json/CERN-its-evolutionary.json diff --git a/browser/browser/data/json/CERN-its-static.json b/browser/data/json/CERN-its-static.json similarity index 100% rename from browser/browser/data/json/CERN-its-static.json rename to browser/data/json/CERN-its-static.json diff --git a/browser/browser/data/json/CERN-its-top-closers.json b/browser/data/json/CERN-its-top-closers.json similarity index 100% rename from browser/browser/data/json/CERN-its-top-closers.json rename to browser/data/json/CERN-its-top-closers.json diff --git a/browser/browser/data/json/CERN-mls-evolutionary.json b/browser/data/json/CERN-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/CERN-mls-evolutionary.json rename to browser/data/json/CERN-mls-evolutionary.json diff --git a/browser/browser/data/json/CERN-mls-static.json b/browser/data/json/CERN-mls-static.json similarity index 100% rename from browser/browser/data/json/CERN-mls-static.json rename to browser/data/json/CERN-mls-static.json diff --git a/browser/browser/data/json/CERN-mls-top-senders.json b/browser/data/json/CERN-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/CERN-mls-top-senders.json rename to browser/data/json/CERN-mls-top-senders.json diff --git a/browser/browser/data/json/CERN-scm-evolutionary.json b/browser/data/json/CERN-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/CERN-scm-evolutionary.json rename to browser/data/json/CERN-scm-evolutionary.json diff --git a/browser/browser/data/json/CERN-scm-static.json b/browser/data/json/CERN-scm-static.json similarity index 100% rename from browser/browser/data/json/CERN-scm-static.json rename to browser/data/json/CERN-scm-static.json diff --git a/browser/browser/data/json/CERN-scm-top-authors.json b/browser/data/json/CERN-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/CERN-scm-top-authors.json rename to browser/data/json/CERN-scm-top-authors.json diff --git a/browser/browser/data/json/CERN-scm-top-authors_2006.json b/browser/data/json/CERN-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/CERN-scm-top-authors_2006.json rename to browser/data/json/CERN-scm-top-authors_2006.json diff --git a/browser/browser/data/json/CERN-scm-top-authors_2009.json b/browser/data/json/CERN-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/CERN-scm-top-authors_2009.json rename to browser/data/json/CERN-scm-top-authors_2009.json diff --git a/browser/browser/data/json/CERN-scm-top-authors_2012.json b/browser/data/json/CERN-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/CERN-scm-top-authors_2012.json rename to browser/data/json/CERN-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Canonical-its-evolutionary.json b/browser/data/json/Canonical-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Canonical-its-evolutionary.json rename to browser/data/json/Canonical-its-evolutionary.json diff --git a/browser/browser/data/json/Canonical-its-static.json b/browser/data/json/Canonical-its-static.json similarity index 100% rename from browser/browser/data/json/Canonical-its-static.json rename to browser/data/json/Canonical-its-static.json diff --git a/browser/browser/data/json/Canonical-its-top-closers.json b/browser/data/json/Canonical-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Canonical-its-top-closers.json rename to browser/data/json/Canonical-its-top-closers.json diff --git a/browser/browser/data/json/Canonical-mls-evolutionary.json b/browser/data/json/Canonical-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Canonical-mls-evolutionary.json rename to browser/data/json/Canonical-mls-evolutionary.json diff --git a/browser/browser/data/json/Canonical-mls-static.json b/browser/data/json/Canonical-mls-static.json similarity index 100% rename from browser/browser/data/json/Canonical-mls-static.json rename to browser/data/json/Canonical-mls-static.json diff --git a/browser/browser/data/json/Canonical-mls-top-senders.json b/browser/data/json/Canonical-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Canonical-mls-top-senders.json rename to browser/data/json/Canonical-mls-top-senders.json diff --git a/browser/browser/data/json/Canonical-scm-evolutionary.json b/browser/data/json/Canonical-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Canonical-scm-evolutionary.json rename to browser/data/json/Canonical-scm-evolutionary.json diff --git a/browser/browser/data/json/Canonical-scm-static.json b/browser/data/json/Canonical-scm-static.json similarity index 100% rename from browser/browser/data/json/Canonical-scm-static.json rename to browser/data/json/Canonical-scm-static.json diff --git a/browser/browser/data/json/Canonical-scm-top-authors.json b/browser/data/json/Canonical-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Canonical-scm-top-authors.json rename to browser/data/json/Canonical-scm-top-authors.json diff --git a/browser/browser/data/json/Canonical-scm-top-authors_2006.json b/browser/data/json/Canonical-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Canonical-scm-top-authors_2006.json rename to browser/data/json/Canonical-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Canonical-scm-top-authors_2009.json b/browser/data/json/Canonical-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Canonical-scm-top-authors_2009.json rename to browser/data/json/Canonical-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Canonical-scm-top-authors_2012.json b/browser/data/json/Canonical-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Canonical-scm-top-authors_2012.json rename to browser/data/json/Canonical-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Cisco Systems-its-evolutionary.json b/browser/data/json/Cisco Systems-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-its-evolutionary.json rename to browser/data/json/Cisco Systems-its-evolutionary.json diff --git a/browser/browser/data/json/Cisco Systems-its-static.json b/browser/data/json/Cisco Systems-its-static.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-its-static.json rename to browser/data/json/Cisco Systems-its-static.json diff --git a/browser/browser/data/json/Cisco Systems-its-top-closers.json b/browser/data/json/Cisco Systems-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-its-top-closers.json rename to browser/data/json/Cisco Systems-its-top-closers.json diff --git a/browser/browser/data/json/Cisco Systems-mls-evolutionary.json b/browser/data/json/Cisco Systems-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-mls-evolutionary.json rename to browser/data/json/Cisco Systems-mls-evolutionary.json diff --git a/browser/browser/data/json/Cisco Systems-mls-static.json b/browser/data/json/Cisco Systems-mls-static.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-mls-static.json rename to browser/data/json/Cisco Systems-mls-static.json diff --git a/browser/browser/data/json/Cisco Systems-mls-top-senders.json b/browser/data/json/Cisco Systems-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-mls-top-senders.json rename to browser/data/json/Cisco Systems-mls-top-senders.json diff --git a/browser/browser/data/json/Cisco Systems-scm-evolutionary.json b/browser/data/json/Cisco Systems-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-scm-evolutionary.json rename to browser/data/json/Cisco Systems-scm-evolutionary.json diff --git a/browser/browser/data/json/Cisco Systems-scm-static.json b/browser/data/json/Cisco Systems-scm-static.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-scm-static.json rename to browser/data/json/Cisco Systems-scm-static.json diff --git a/browser/browser/data/json/Cisco Systems-scm-top-authors.json b/browser/data/json/Cisco Systems-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-scm-top-authors.json rename to browser/data/json/Cisco Systems-scm-top-authors.json diff --git a/browser/browser/data/json/Cisco Systems-scm-top-authors_2006.json b/browser/data/json/Cisco Systems-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-scm-top-authors_2006.json rename to browser/data/json/Cisco Systems-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Cisco Systems-scm-top-authors_2009.json b/browser/data/json/Cisco Systems-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-scm-top-authors_2009.json rename to browser/data/json/Cisco Systems-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Cisco Systems-scm-top-authors_2012.json b/browser/data/json/Cisco Systems-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Cisco Systems-scm-top-authors_2012.json rename to browser/data/json/Cisco Systems-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Citrix Systems-its-evolutionary.json b/browser/data/json/Citrix Systems-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-its-evolutionary.json rename to browser/data/json/Citrix Systems-its-evolutionary.json diff --git a/browser/browser/data/json/Citrix Systems-its-static.json b/browser/data/json/Citrix Systems-its-static.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-its-static.json rename to browser/data/json/Citrix Systems-its-static.json diff --git a/browser/browser/data/json/Citrix Systems-its-top-closers.json b/browser/data/json/Citrix Systems-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-its-top-closers.json rename to browser/data/json/Citrix Systems-its-top-closers.json diff --git a/browser/browser/data/json/Citrix Systems-scm-evolutionary.json b/browser/data/json/Citrix Systems-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-scm-evolutionary.json rename to browser/data/json/Citrix Systems-scm-evolutionary.json diff --git a/browser/browser/data/json/Citrix Systems-scm-static.json b/browser/data/json/Citrix Systems-scm-static.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-scm-static.json rename to browser/data/json/Citrix Systems-scm-static.json diff --git a/browser/browser/data/json/Citrix Systems-scm-top-authors.json b/browser/data/json/Citrix Systems-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-scm-top-authors.json rename to browser/data/json/Citrix Systems-scm-top-authors.json diff --git a/browser/browser/data/json/Citrix Systems-scm-top-authors_2006.json b/browser/data/json/Citrix Systems-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-scm-top-authors_2006.json rename to browser/data/json/Citrix Systems-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Citrix Systems-scm-top-authors_2009.json b/browser/data/json/Citrix Systems-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-scm-top-authors_2009.json rename to browser/data/json/Citrix Systems-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Citrix Systems-scm-top-authors_2012.json b/browser/data/json/Citrix Systems-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Citrix Systems-scm-top-authors_2012.json rename to browser/data/json/Citrix Systems-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Citrix-its-evolutionary.json b/browser/data/json/Citrix-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Citrix-its-evolutionary.json rename to browser/data/json/Citrix-its-evolutionary.json diff --git a/browser/browser/data/json/Citrix-its-static.json b/browser/data/json/Citrix-its-static.json similarity index 100% rename from browser/browser/data/json/Citrix-its-static.json rename to browser/data/json/Citrix-its-static.json diff --git a/browser/browser/data/json/Citrix-its-top-closers.json b/browser/data/json/Citrix-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Citrix-its-top-closers.json rename to browser/data/json/Citrix-its-top-closers.json diff --git a/browser/browser/data/json/Citrix-mls-evolutionary.json b/browser/data/json/Citrix-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Citrix-mls-evolutionary.json rename to browser/data/json/Citrix-mls-evolutionary.json diff --git a/browser/browser/data/json/Citrix-mls-static.json b/browser/data/json/Citrix-mls-static.json similarity index 100% rename from browser/browser/data/json/Citrix-mls-static.json rename to browser/data/json/Citrix-mls-static.json diff --git a/browser/browser/data/json/Citrix-mls-top-senders.json b/browser/data/json/Citrix-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Citrix-mls-top-senders.json rename to browser/data/json/Citrix-mls-top-senders.json diff --git a/browser/browser/data/json/Citrix-scm-evolutionary.json b/browser/data/json/Citrix-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Citrix-scm-evolutionary.json rename to browser/data/json/Citrix-scm-evolutionary.json diff --git a/browser/browser/data/json/Citrix-scm-static.json b/browser/data/json/Citrix-scm-static.json similarity index 100% rename from browser/browser/data/json/Citrix-scm-static.json rename to browser/data/json/Citrix-scm-static.json diff --git a/browser/browser/data/json/Citrix-scm-top-authors.json b/browser/data/json/Citrix-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Citrix-scm-top-authors.json rename to browser/data/json/Citrix-scm-top-authors.json diff --git a/browser/browser/data/json/Citrix-scm-top-authors_2006.json b/browser/data/json/Citrix-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Citrix-scm-top-authors_2006.json rename to browser/data/json/Citrix-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Citrix-scm-top-authors_2009.json b/browser/data/json/Citrix-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Citrix-scm-top-authors_2009.json rename to browser/data/json/Citrix-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Citrix-scm-top-authors_2012.json b/browser/data/json/Citrix-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Citrix-scm-top-authors_2012.json rename to browser/data/json/Citrix-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Cloudscaling-its-evolutionary.json b/browser/data/json/Cloudscaling-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-its-evolutionary.json rename to browser/data/json/Cloudscaling-its-evolutionary.json diff --git a/browser/browser/data/json/Cloudscaling-its-static.json b/browser/data/json/Cloudscaling-its-static.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-its-static.json rename to browser/data/json/Cloudscaling-its-static.json diff --git a/browser/browser/data/json/Cloudscaling-its-top-closers.json b/browser/data/json/Cloudscaling-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-its-top-closers.json rename to browser/data/json/Cloudscaling-its-top-closers.json diff --git a/browser/browser/data/json/Cloudscaling-mls-evolutionary.json b/browser/data/json/Cloudscaling-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-mls-evolutionary.json rename to browser/data/json/Cloudscaling-mls-evolutionary.json diff --git a/browser/browser/data/json/Cloudscaling-mls-static.json b/browser/data/json/Cloudscaling-mls-static.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-mls-static.json rename to browser/data/json/Cloudscaling-mls-static.json diff --git a/browser/browser/data/json/Cloudscaling-mls-top-senders.json b/browser/data/json/Cloudscaling-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-mls-top-senders.json rename to browser/data/json/Cloudscaling-mls-top-senders.json diff --git a/browser/browser/data/json/Cloudscaling-scm-evolutionary.json b/browser/data/json/Cloudscaling-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-scm-evolutionary.json rename to browser/data/json/Cloudscaling-scm-evolutionary.json diff --git a/browser/browser/data/json/Cloudscaling-scm-static.json b/browser/data/json/Cloudscaling-scm-static.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-scm-static.json rename to browser/data/json/Cloudscaling-scm-static.json diff --git a/browser/browser/data/json/Cloudscaling-scm-top-authors.json b/browser/data/json/Cloudscaling-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-scm-top-authors.json rename to browser/data/json/Cloudscaling-scm-top-authors.json diff --git a/browser/browser/data/json/Cloudscaling-scm-top-authors_2006.json b/browser/data/json/Cloudscaling-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-scm-top-authors_2006.json rename to browser/data/json/Cloudscaling-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Cloudscaling-scm-top-authors_2009.json b/browser/data/json/Cloudscaling-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-scm-top-authors_2009.json rename to browser/data/json/Cloudscaling-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Cloudscaling-scm-top-authors_2012.json b/browser/data/json/Cloudscaling-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Cloudscaling-scm-top-authors_2012.json rename to browser/data/json/Cloudscaling-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Dell-its-evolutionary.json b/browser/data/json/Dell-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Dell-its-evolutionary.json rename to browser/data/json/Dell-its-evolutionary.json diff --git a/browser/browser/data/json/Dell-its-static.json b/browser/data/json/Dell-its-static.json similarity index 100% rename from browser/browser/data/json/Dell-its-static.json rename to browser/data/json/Dell-its-static.json diff --git a/browser/browser/data/json/Dell-its-top-closers.json b/browser/data/json/Dell-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Dell-its-top-closers.json rename to browser/data/json/Dell-its-top-closers.json diff --git a/browser/browser/data/json/Dell-mls-evolutionary.json b/browser/data/json/Dell-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Dell-mls-evolutionary.json rename to browser/data/json/Dell-mls-evolutionary.json diff --git a/browser/browser/data/json/Dell-mls-static.json b/browser/data/json/Dell-mls-static.json similarity index 100% rename from browser/browser/data/json/Dell-mls-static.json rename to browser/data/json/Dell-mls-static.json diff --git a/browser/browser/data/json/Dell-mls-top-senders.json b/browser/data/json/Dell-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Dell-mls-top-senders.json rename to browser/data/json/Dell-mls-top-senders.json diff --git a/browser/browser/data/json/Dell-scm-evolutionary.json b/browser/data/json/Dell-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Dell-scm-evolutionary.json rename to browser/data/json/Dell-scm-evolutionary.json diff --git a/browser/browser/data/json/Dell-scm-static.json b/browser/data/json/Dell-scm-static.json similarity index 100% rename from browser/browser/data/json/Dell-scm-static.json rename to browser/data/json/Dell-scm-static.json diff --git a/browser/browser/data/json/Dell-scm-top-authors.json b/browser/data/json/Dell-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Dell-scm-top-authors.json rename to browser/data/json/Dell-scm-top-authors.json diff --git a/browser/browser/data/json/Dell-scm-top-authors_2006.json b/browser/data/json/Dell-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Dell-scm-top-authors_2006.json rename to browser/data/json/Dell-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Dell-scm-top-authors_2009.json b/browser/data/json/Dell-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Dell-scm-top-authors_2009.json rename to browser/data/json/Dell-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Dell-scm-top-authors_2012.json b/browser/data/json/Dell-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Dell-scm-top-authors_2012.json rename to browser/data/json/Dell-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Delta-its-evolutionary.json b/browser/data/json/Delta-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Delta-its-evolutionary.json rename to browser/data/json/Delta-its-evolutionary.json diff --git a/browser/browser/data/json/Delta-its-static.json b/browser/data/json/Delta-its-static.json similarity index 100% rename from browser/browser/data/json/Delta-its-static.json rename to browser/data/json/Delta-its-static.json diff --git a/browser/browser/data/json/Delta-its-top-closers.json b/browser/data/json/Delta-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Delta-its-top-closers.json rename to browser/data/json/Delta-its-top-closers.json diff --git a/browser/browser/data/json/Delta-scm-evolutionary.json b/browser/data/json/Delta-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Delta-scm-evolutionary.json rename to browser/data/json/Delta-scm-evolutionary.json diff --git a/browser/browser/data/json/Delta-scm-static.json b/browser/data/json/Delta-scm-static.json similarity index 100% rename from browser/browser/data/json/Delta-scm-static.json rename to browser/data/json/Delta-scm-static.json diff --git a/browser/browser/data/json/Delta-scm-top-authors.json b/browser/data/json/Delta-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Delta-scm-top-authors.json rename to browser/data/json/Delta-scm-top-authors.json diff --git a/browser/browser/data/json/Delta-scm-top-authors_2006.json b/browser/data/json/Delta-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Delta-scm-top-authors_2006.json rename to browser/data/json/Delta-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Delta-scm-top-authors_2009.json b/browser/data/json/Delta-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Delta-scm-top-authors_2009.json rename to browser/data/json/Delta-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Delta-scm-top-authors_2012.json b/browser/data/json/Delta-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Delta-scm-top-authors_2012.json rename to browser/data/json/Delta-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Denali Systems-its-evolutionary.json b/browser/data/json/Denali Systems-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Denali Systems-its-evolutionary.json rename to browser/data/json/Denali Systems-its-evolutionary.json diff --git a/browser/browser/data/json/Denali Systems-its-static.json b/browser/data/json/Denali Systems-its-static.json similarity index 100% rename from browser/browser/data/json/Denali Systems-its-static.json rename to browser/data/json/Denali Systems-its-static.json diff --git a/browser/browser/data/json/Denali Systems-its-top-closers.json b/browser/data/json/Denali Systems-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Denali Systems-its-top-closers.json rename to browser/data/json/Denali Systems-its-top-closers.json diff --git a/browser/browser/data/json/Denali Systems-scm-evolutionary.json b/browser/data/json/Denali Systems-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Denali Systems-scm-evolutionary.json rename to browser/data/json/Denali Systems-scm-evolutionary.json diff --git a/browser/browser/data/json/Denali Systems-scm-static.json b/browser/data/json/Denali Systems-scm-static.json similarity index 100% rename from browser/browser/data/json/Denali Systems-scm-static.json rename to browser/data/json/Denali Systems-scm-static.json diff --git a/browser/browser/data/json/Denali Systems-scm-top-authors.json b/browser/data/json/Denali Systems-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Denali Systems-scm-top-authors.json rename to browser/data/json/Denali Systems-scm-top-authors.json diff --git a/browser/browser/data/json/Denali Systems-scm-top-authors_2006.json b/browser/data/json/Denali Systems-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Denali Systems-scm-top-authors_2006.json rename to browser/data/json/Denali Systems-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Denali Systems-scm-top-authors_2009.json b/browser/data/json/Denali Systems-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Denali Systems-scm-top-authors_2009.json rename to browser/data/json/Denali Systems-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Denali Systems-scm-top-authors_2012.json b/browser/data/json/Denali Systems-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Denali Systems-scm-top-authors_2012.json rename to browser/data/json/Denali Systems-scm-top-authors_2012.json diff --git a/browser/browser/data/json/DreamHost-its-evolutionary.json b/browser/data/json/DreamHost-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/DreamHost-its-evolutionary.json rename to browser/data/json/DreamHost-its-evolutionary.json diff --git a/browser/browser/data/json/DreamHost-its-static.json b/browser/data/json/DreamHost-its-static.json similarity index 100% rename from browser/browser/data/json/DreamHost-its-static.json rename to browser/data/json/DreamHost-its-static.json diff --git a/browser/browser/data/json/DreamHost-its-top-closers.json b/browser/data/json/DreamHost-its-top-closers.json similarity index 100% rename from browser/browser/data/json/DreamHost-its-top-closers.json rename to browser/data/json/DreamHost-its-top-closers.json diff --git a/browser/browser/data/json/DreamHost-mls-evolutionary.json b/browser/data/json/DreamHost-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/DreamHost-mls-evolutionary.json rename to browser/data/json/DreamHost-mls-evolutionary.json diff --git a/browser/browser/data/json/DreamHost-mls-static.json b/browser/data/json/DreamHost-mls-static.json similarity index 100% rename from browser/browser/data/json/DreamHost-mls-static.json rename to browser/data/json/DreamHost-mls-static.json diff --git a/browser/browser/data/json/DreamHost-mls-top-senders.json b/browser/data/json/DreamHost-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/DreamHost-mls-top-senders.json rename to browser/data/json/DreamHost-mls-top-senders.json diff --git a/browser/browser/data/json/DreamHost-scm-evolutionary.json b/browser/data/json/DreamHost-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/DreamHost-scm-evolutionary.json rename to browser/data/json/DreamHost-scm-evolutionary.json diff --git a/browser/browser/data/json/DreamHost-scm-static.json b/browser/data/json/DreamHost-scm-static.json similarity index 100% rename from browser/browser/data/json/DreamHost-scm-static.json rename to browser/data/json/DreamHost-scm-static.json diff --git a/browser/browser/data/json/DreamHost-scm-top-authors.json b/browser/data/json/DreamHost-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/DreamHost-scm-top-authors.json rename to browser/data/json/DreamHost-scm-top-authors.json diff --git a/browser/browser/data/json/DreamHost-scm-top-authors_2006.json b/browser/data/json/DreamHost-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/DreamHost-scm-top-authors_2006.json rename to browser/data/json/DreamHost-scm-top-authors_2006.json diff --git a/browser/browser/data/json/DreamHost-scm-top-authors_2009.json b/browser/data/json/DreamHost-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/DreamHost-scm-top-authors_2009.json rename to browser/data/json/DreamHost-scm-top-authors_2009.json diff --git a/browser/browser/data/json/DreamHost-scm-top-authors_2012.json b/browser/data/json/DreamHost-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/DreamHost-scm-top-authors_2012.json rename to browser/data/json/DreamHost-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Everbread-its-evolutionary.json b/browser/data/json/Everbread-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Everbread-its-evolutionary.json rename to browser/data/json/Everbread-its-evolutionary.json diff --git a/browser/browser/data/json/Everbread-its-static.json b/browser/data/json/Everbread-its-static.json similarity index 100% rename from browser/browser/data/json/Everbread-its-static.json rename to browser/data/json/Everbread-its-static.json diff --git a/browser/browser/data/json/Everbread-its-top-closers.json b/browser/data/json/Everbread-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Everbread-its-top-closers.json rename to browser/data/json/Everbread-its-top-closers.json diff --git a/browser/browser/data/json/Everbread-mls-evolutionary.json b/browser/data/json/Everbread-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Everbread-mls-evolutionary.json rename to browser/data/json/Everbread-mls-evolutionary.json diff --git a/browser/browser/data/json/Everbread-mls-static.json b/browser/data/json/Everbread-mls-static.json similarity index 100% rename from browser/browser/data/json/Everbread-mls-static.json rename to browser/data/json/Everbread-mls-static.json diff --git a/browser/browser/data/json/Everbread-mls-top-senders.json b/browser/data/json/Everbread-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Everbread-mls-top-senders.json rename to browser/data/json/Everbread-mls-top-senders.json diff --git a/browser/browser/data/json/Everbread-scm-evolutionary.json b/browser/data/json/Everbread-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Everbread-scm-evolutionary.json rename to browser/data/json/Everbread-scm-evolutionary.json diff --git a/browser/browser/data/json/Everbread-scm-static.json b/browser/data/json/Everbread-scm-static.json similarity index 100% rename from browser/browser/data/json/Everbread-scm-static.json rename to browser/data/json/Everbread-scm-static.json diff --git a/browser/browser/data/json/Everbread-scm-top-authors.json b/browser/data/json/Everbread-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Everbread-scm-top-authors.json rename to browser/data/json/Everbread-scm-top-authors.json diff --git a/browser/browser/data/json/Everbread-scm-top-authors_2006.json b/browser/data/json/Everbread-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Everbread-scm-top-authors_2006.json rename to browser/data/json/Everbread-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Everbread-scm-top-authors_2009.json b/browser/data/json/Everbread-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Everbread-scm-top-authors_2009.json rename to browser/data/json/Everbread-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Everbread-scm-top-authors_2012.json b/browser/data/json/Everbread-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Everbread-scm-top-authors_2012.json rename to browser/data/json/Everbread-scm-top-authors_2012.json diff --git a/browser/browser/data/json/FathomDB-mls-evolutionary.json b/browser/data/json/FathomDB-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/FathomDB-mls-evolutionary.json rename to browser/data/json/FathomDB-mls-evolutionary.json diff --git a/browser/browser/data/json/FathomDB-mls-static.json b/browser/data/json/FathomDB-mls-static.json similarity index 100% rename from browser/browser/data/json/FathomDB-mls-static.json rename to browser/data/json/FathomDB-mls-static.json diff --git a/browser/browser/data/json/FathomDB-mls-top-senders.json b/browser/data/json/FathomDB-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/FathomDB-mls-top-senders.json rename to browser/data/json/FathomDB-mls-top-senders.json diff --git a/browser/browser/data/json/FathomDB-scm-evolutionary.json b/browser/data/json/FathomDB-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/FathomDB-scm-evolutionary.json rename to browser/data/json/FathomDB-scm-evolutionary.json diff --git a/browser/browser/data/json/FathomDB-scm-static.json b/browser/data/json/FathomDB-scm-static.json similarity index 100% rename from browser/browser/data/json/FathomDB-scm-static.json rename to browser/data/json/FathomDB-scm-static.json diff --git a/browser/browser/data/json/FathomDB-scm-top-authors.json b/browser/data/json/FathomDB-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/FathomDB-scm-top-authors.json rename to browser/data/json/FathomDB-scm-top-authors.json diff --git a/browser/browser/data/json/FathomDB-scm-top-authors_2006.json b/browser/data/json/FathomDB-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/FathomDB-scm-top-authors_2006.json rename to browser/data/json/FathomDB-scm-top-authors_2006.json diff --git a/browser/browser/data/json/FathomDB-scm-top-authors_2009.json b/browser/data/json/FathomDB-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/FathomDB-scm-top-authors_2009.json rename to browser/data/json/FathomDB-scm-top-authors_2009.json diff --git a/browser/browser/data/json/FathomDB-scm-top-authors_2012.json b/browser/data/json/FathomDB-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/FathomDB-scm-top-authors_2012.json rename to browser/data/json/FathomDB-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Grid Dynamics-its-evolutionary.json b/browser/data/json/Grid Dynamics-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-its-evolutionary.json rename to browser/data/json/Grid Dynamics-its-evolutionary.json diff --git a/browser/browser/data/json/Grid Dynamics-its-static.json b/browser/data/json/Grid Dynamics-its-static.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-its-static.json rename to browser/data/json/Grid Dynamics-its-static.json diff --git a/browser/browser/data/json/Grid Dynamics-its-top-closers.json b/browser/data/json/Grid Dynamics-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-its-top-closers.json rename to browser/data/json/Grid Dynamics-its-top-closers.json diff --git a/browser/browser/data/json/Grid Dynamics-mls-evolutionary.json b/browser/data/json/Grid Dynamics-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-mls-evolutionary.json rename to browser/data/json/Grid Dynamics-mls-evolutionary.json diff --git a/browser/browser/data/json/Grid Dynamics-mls-static.json b/browser/data/json/Grid Dynamics-mls-static.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-mls-static.json rename to browser/data/json/Grid Dynamics-mls-static.json diff --git a/browser/browser/data/json/Grid Dynamics-mls-top-senders.json b/browser/data/json/Grid Dynamics-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-mls-top-senders.json rename to browser/data/json/Grid Dynamics-mls-top-senders.json diff --git a/browser/browser/data/json/Grid Dynamics-scm-evolutionary.json b/browser/data/json/Grid Dynamics-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-scm-evolutionary.json rename to browser/data/json/Grid Dynamics-scm-evolutionary.json diff --git a/browser/browser/data/json/Grid Dynamics-scm-static.json b/browser/data/json/Grid Dynamics-scm-static.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-scm-static.json rename to browser/data/json/Grid Dynamics-scm-static.json diff --git a/browser/browser/data/json/Grid Dynamics-scm-top-authors.json b/browser/data/json/Grid Dynamics-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-scm-top-authors.json rename to browser/data/json/Grid Dynamics-scm-top-authors.json diff --git a/browser/browser/data/json/Grid Dynamics-scm-top-authors_2006.json b/browser/data/json/Grid Dynamics-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-scm-top-authors_2006.json rename to browser/data/json/Grid Dynamics-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Grid Dynamics-scm-top-authors_2009.json b/browser/data/json/Grid Dynamics-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-scm-top-authors_2009.json rename to browser/data/json/Grid Dynamics-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Grid Dynamics-scm-top-authors_2012.json b/browser/data/json/Grid Dynamics-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Grid Dynamics-scm-top-authors_2012.json rename to browser/data/json/Grid Dynamics-scm-top-authors_2012.json diff --git a/browser/browser/data/json/HP-its-evolutionary.json b/browser/data/json/HP-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/HP-its-evolutionary.json rename to browser/data/json/HP-its-evolutionary.json diff --git a/browser/browser/data/json/HP-its-static.json b/browser/data/json/HP-its-static.json similarity index 100% rename from browser/browser/data/json/HP-its-static.json rename to browser/data/json/HP-its-static.json diff --git a/browser/browser/data/json/HP-its-top-closers.json b/browser/data/json/HP-its-top-closers.json similarity index 100% rename from browser/browser/data/json/HP-its-top-closers.json rename to browser/data/json/HP-its-top-closers.json diff --git a/browser/browser/data/json/HP-mls-evolutionary.json b/browser/data/json/HP-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/HP-mls-evolutionary.json rename to browser/data/json/HP-mls-evolutionary.json diff --git a/browser/browser/data/json/HP-mls-static.json b/browser/data/json/HP-mls-static.json similarity index 100% rename from browser/browser/data/json/HP-mls-static.json rename to browser/data/json/HP-mls-static.json diff --git a/browser/browser/data/json/HP-mls-top-senders.json b/browser/data/json/HP-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/HP-mls-top-senders.json rename to browser/data/json/HP-mls-top-senders.json diff --git a/browser/browser/data/json/HP-scm-evolutionary.json b/browser/data/json/HP-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/HP-scm-evolutionary.json rename to browser/data/json/HP-scm-evolutionary.json diff --git a/browser/browser/data/json/HP-scm-static.json b/browser/data/json/HP-scm-static.json similarity index 100% rename from browser/browser/data/json/HP-scm-static.json rename to browser/data/json/HP-scm-static.json diff --git a/browser/browser/data/json/HP-scm-top-authors.json b/browser/data/json/HP-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/HP-scm-top-authors.json rename to browser/data/json/HP-scm-top-authors.json diff --git a/browser/browser/data/json/HP-scm-top-authors_2006.json b/browser/data/json/HP-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/HP-scm-top-authors_2006.json rename to browser/data/json/HP-scm-top-authors_2006.json diff --git a/browser/browser/data/json/HP-scm-top-authors_2009.json b/browser/data/json/HP-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/HP-scm-top-authors_2009.json rename to browser/data/json/HP-scm-top-authors_2009.json diff --git a/browser/browser/data/json/HP-scm-top-authors_2012.json b/browser/data/json/HP-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/HP-scm-top-authors_2012.json rename to browser/data/json/HP-scm-top-authors_2012.json diff --git a/browser/browser/data/json/IBM-its-evolutionary.json b/browser/data/json/IBM-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/IBM-its-evolutionary.json rename to browser/data/json/IBM-its-evolutionary.json diff --git a/browser/browser/data/json/IBM-its-static.json b/browser/data/json/IBM-its-static.json similarity index 100% rename from browser/browser/data/json/IBM-its-static.json rename to browser/data/json/IBM-its-static.json diff --git a/browser/browser/data/json/IBM-its-top-closers.json b/browser/data/json/IBM-its-top-closers.json similarity index 100% rename from browser/browser/data/json/IBM-its-top-closers.json rename to browser/data/json/IBM-its-top-closers.json diff --git a/browser/browser/data/json/IBM-mls-evolutionary.json b/browser/data/json/IBM-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/IBM-mls-evolutionary.json rename to browser/data/json/IBM-mls-evolutionary.json diff --git a/browser/browser/data/json/IBM-mls-static.json b/browser/data/json/IBM-mls-static.json similarity index 100% rename from browser/browser/data/json/IBM-mls-static.json rename to browser/data/json/IBM-mls-static.json diff --git a/browser/browser/data/json/IBM-mls-top-senders.json b/browser/data/json/IBM-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/IBM-mls-top-senders.json rename to browser/data/json/IBM-mls-top-senders.json diff --git a/browser/browser/data/json/IBM-scm-evolutionary.json b/browser/data/json/IBM-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/IBM-scm-evolutionary.json rename to browser/data/json/IBM-scm-evolutionary.json diff --git a/browser/browser/data/json/IBM-scm-static.json b/browser/data/json/IBM-scm-static.json similarity index 100% rename from browser/browser/data/json/IBM-scm-static.json rename to browser/data/json/IBM-scm-static.json diff --git a/browser/browser/data/json/IBM-scm-top-authors.json b/browser/data/json/IBM-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/IBM-scm-top-authors.json rename to browser/data/json/IBM-scm-top-authors.json diff --git a/browser/browser/data/json/IBM-scm-top-authors_2006.json b/browser/data/json/IBM-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/IBM-scm-top-authors_2006.json rename to browser/data/json/IBM-scm-top-authors_2006.json diff --git a/browser/browser/data/json/IBM-scm-top-authors_2009.json b/browser/data/json/IBM-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/IBM-scm-top-authors_2009.json rename to browser/data/json/IBM-scm-top-authors_2009.json diff --git a/browser/browser/data/json/IBM-scm-top-authors_2012.json b/browser/data/json/IBM-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/IBM-scm-top-authors_2012.json rename to browser/data/json/IBM-scm-top-authors_2012.json diff --git a/browser/browser/data/json/ISI-its-evolutionary.json b/browser/data/json/ISI-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/ISI-its-evolutionary.json rename to browser/data/json/ISI-its-evolutionary.json diff --git a/browser/browser/data/json/ISI-its-static.json b/browser/data/json/ISI-its-static.json similarity index 100% rename from browser/browser/data/json/ISI-its-static.json rename to browser/data/json/ISI-its-static.json diff --git a/browser/browser/data/json/ISI-its-top-closers.json b/browser/data/json/ISI-its-top-closers.json similarity index 100% rename from browser/browser/data/json/ISI-its-top-closers.json rename to browser/data/json/ISI-its-top-closers.json diff --git a/browser/browser/data/json/ISI-mls-evolutionary.json b/browser/data/json/ISI-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/ISI-mls-evolutionary.json rename to browser/data/json/ISI-mls-evolutionary.json diff --git a/browser/browser/data/json/ISI-mls-static.json b/browser/data/json/ISI-mls-static.json similarity index 100% rename from browser/browser/data/json/ISI-mls-static.json rename to browser/data/json/ISI-mls-static.json diff --git a/browser/browser/data/json/ISI-mls-top-senders.json b/browser/data/json/ISI-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/ISI-mls-top-senders.json rename to browser/data/json/ISI-mls-top-senders.json diff --git a/browser/browser/data/json/ISI-scm-evolutionary.json b/browser/data/json/ISI-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/ISI-scm-evolutionary.json rename to browser/data/json/ISI-scm-evolutionary.json diff --git a/browser/browser/data/json/ISI-scm-static.json b/browser/data/json/ISI-scm-static.json similarity index 100% rename from browser/browser/data/json/ISI-scm-static.json rename to browser/data/json/ISI-scm-static.json diff --git a/browser/browser/data/json/ISI-scm-top-authors.json b/browser/data/json/ISI-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/ISI-scm-top-authors.json rename to browser/data/json/ISI-scm-top-authors.json diff --git a/browser/browser/data/json/ISI-scm-top-authors_2006.json b/browser/data/json/ISI-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/ISI-scm-top-authors_2006.json rename to browser/data/json/ISI-scm-top-authors_2006.json diff --git a/browser/browser/data/json/ISI-scm-top-authors_2009.json b/browser/data/json/ISI-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/ISI-scm-top-authors_2009.json rename to browser/data/json/ISI-scm-top-authors_2009.json diff --git a/browser/browser/data/json/ISI-scm-top-authors_2012.json b/browser/data/json/ISI-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/ISI-scm-top-authors_2012.json rename to browser/data/json/ISI-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Inktank-its-evolutionary.json b/browser/data/json/Inktank-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Inktank-its-evolutionary.json rename to browser/data/json/Inktank-its-evolutionary.json diff --git a/browser/browser/data/json/Inktank-its-static.json b/browser/data/json/Inktank-its-static.json similarity index 100% rename from browser/browser/data/json/Inktank-its-static.json rename to browser/data/json/Inktank-its-static.json diff --git a/browser/browser/data/json/Inktank-its-top-closers.json b/browser/data/json/Inktank-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Inktank-its-top-closers.json rename to browser/data/json/Inktank-its-top-closers.json diff --git a/browser/browser/data/json/Inktank-mls-evolutionary.json b/browser/data/json/Inktank-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Inktank-mls-evolutionary.json rename to browser/data/json/Inktank-mls-evolutionary.json diff --git a/browser/browser/data/json/Inktank-mls-static.json b/browser/data/json/Inktank-mls-static.json similarity index 100% rename from browser/browser/data/json/Inktank-mls-static.json rename to browser/data/json/Inktank-mls-static.json diff --git a/browser/browser/data/json/Inktank-mls-top-senders.json b/browser/data/json/Inktank-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Inktank-mls-top-senders.json rename to browser/data/json/Inktank-mls-top-senders.json diff --git a/browser/browser/data/json/Inktank-scm-evolutionary.json b/browser/data/json/Inktank-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Inktank-scm-evolutionary.json rename to browser/data/json/Inktank-scm-evolutionary.json diff --git a/browser/browser/data/json/Inktank-scm-static.json b/browser/data/json/Inktank-scm-static.json similarity index 100% rename from browser/browser/data/json/Inktank-scm-static.json rename to browser/data/json/Inktank-scm-static.json diff --git a/browser/browser/data/json/Inktank-scm-top-authors.json b/browser/data/json/Inktank-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Inktank-scm-top-authors.json rename to browser/data/json/Inktank-scm-top-authors.json diff --git a/browser/browser/data/json/Inktank-scm-top-authors_2006.json b/browser/data/json/Inktank-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Inktank-scm-top-authors_2006.json rename to browser/data/json/Inktank-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Inktank-scm-top-authors_2009.json b/browser/data/json/Inktank-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Inktank-scm-top-authors_2009.json rename to browser/data/json/Inktank-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Inktank-scm-top-authors_2012.json b/browser/data/json/Inktank-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Inktank-scm-top-authors_2012.json rename to browser/data/json/Inktank-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Intel-its-evolutionary.json b/browser/data/json/Intel-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Intel-its-evolutionary.json rename to browser/data/json/Intel-its-evolutionary.json diff --git a/browser/browser/data/json/Intel-its-static.json b/browser/data/json/Intel-its-static.json similarity index 100% rename from browser/browser/data/json/Intel-its-static.json rename to browser/data/json/Intel-its-static.json diff --git a/browser/browser/data/json/Intel-its-top-closers.json b/browser/data/json/Intel-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Intel-its-top-closers.json rename to browser/data/json/Intel-its-top-closers.json diff --git a/browser/browser/data/json/Intel-mls-evolutionary.json b/browser/data/json/Intel-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Intel-mls-evolutionary.json rename to browser/data/json/Intel-mls-evolutionary.json diff --git a/browser/browser/data/json/Intel-mls-static.json b/browser/data/json/Intel-mls-static.json similarity index 100% rename from browser/browser/data/json/Intel-mls-static.json rename to browser/data/json/Intel-mls-static.json diff --git a/browser/browser/data/json/Intel-mls-top-senders.json b/browser/data/json/Intel-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Intel-mls-top-senders.json rename to browser/data/json/Intel-mls-top-senders.json diff --git a/browser/browser/data/json/Intel-scm-evolutionary.json b/browser/data/json/Intel-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Intel-scm-evolutionary.json rename to browser/data/json/Intel-scm-evolutionary.json diff --git a/browser/browser/data/json/Intel-scm-static.json b/browser/data/json/Intel-scm-static.json similarity index 100% rename from browser/browser/data/json/Intel-scm-static.json rename to browser/data/json/Intel-scm-static.json diff --git a/browser/browser/data/json/Intel-scm-top-authors.json b/browser/data/json/Intel-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Intel-scm-top-authors.json rename to browser/data/json/Intel-scm-top-authors.json diff --git a/browser/browser/data/json/Intel-scm-top-authors_2006.json b/browser/data/json/Intel-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Intel-scm-top-authors_2006.json rename to browser/data/json/Intel-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Intel-scm-top-authors_2009.json b/browser/data/json/Intel-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Intel-scm-top-authors_2009.json rename to browser/data/json/Intel-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Intel-scm-top-authors_2012.json b/browser/data/json/Intel-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Intel-scm-top-authors_2012.json rename to browser/data/json/Intel-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Internap-its-evolutionary.json b/browser/data/json/Internap-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Internap-its-evolutionary.json rename to browser/data/json/Internap-its-evolutionary.json diff --git a/browser/browser/data/json/Internap-its-static.json b/browser/data/json/Internap-its-static.json similarity index 100% rename from browser/browser/data/json/Internap-its-static.json rename to browser/data/json/Internap-its-static.json diff --git a/browser/browser/data/json/Internap-its-top-closers.json b/browser/data/json/Internap-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Internap-its-top-closers.json rename to browser/data/json/Internap-its-top-closers.json diff --git a/browser/browser/data/json/Internap-mls-evolutionary.json b/browser/data/json/Internap-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Internap-mls-evolutionary.json rename to browser/data/json/Internap-mls-evolutionary.json diff --git a/browser/browser/data/json/Internap-mls-static.json b/browser/data/json/Internap-mls-static.json similarity index 100% rename from browser/browser/data/json/Internap-mls-static.json rename to browser/data/json/Internap-mls-static.json diff --git a/browser/browser/data/json/Internap-mls-top-senders.json b/browser/data/json/Internap-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Internap-mls-top-senders.json rename to browser/data/json/Internap-mls-top-senders.json diff --git a/browser/browser/data/json/Internap-scm-evolutionary.json b/browser/data/json/Internap-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Internap-scm-evolutionary.json rename to browser/data/json/Internap-scm-evolutionary.json diff --git a/browser/browser/data/json/Internap-scm-static.json b/browser/data/json/Internap-scm-static.json similarity index 100% rename from browser/browser/data/json/Internap-scm-static.json rename to browser/data/json/Internap-scm-static.json diff --git a/browser/browser/data/json/Internap-scm-top-authors.json b/browser/data/json/Internap-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Internap-scm-top-authors.json rename to browser/data/json/Internap-scm-top-authors.json diff --git a/browser/browser/data/json/Internap-scm-top-authors_2006.json b/browser/data/json/Internap-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Internap-scm-top-authors_2006.json rename to browser/data/json/Internap-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Internap-scm-top-authors_2009.json b/browser/data/json/Internap-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Internap-scm-top-authors_2009.json rename to browser/data/json/Internap-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Internap-scm-top-authors_2012.json b/browser/data/json/Internap-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Internap-scm-top-authors_2012.json rename to browser/data/json/Internap-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Locaweb-its-evolutionary.json b/browser/data/json/Locaweb-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Locaweb-its-evolutionary.json rename to browser/data/json/Locaweb-its-evolutionary.json diff --git a/browser/browser/data/json/Locaweb-its-static.json b/browser/data/json/Locaweb-its-static.json similarity index 100% rename from browser/browser/data/json/Locaweb-its-static.json rename to browser/data/json/Locaweb-its-static.json diff --git a/browser/browser/data/json/Locaweb-its-top-closers.json b/browser/data/json/Locaweb-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Locaweb-its-top-closers.json rename to browser/data/json/Locaweb-its-top-closers.json diff --git a/browser/browser/data/json/Locaweb-mls-evolutionary.json b/browser/data/json/Locaweb-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Locaweb-mls-evolutionary.json rename to browser/data/json/Locaweb-mls-evolutionary.json diff --git a/browser/browser/data/json/Locaweb-mls-static.json b/browser/data/json/Locaweb-mls-static.json similarity index 100% rename from browser/browser/data/json/Locaweb-mls-static.json rename to browser/data/json/Locaweb-mls-static.json diff --git a/browser/browser/data/json/Locaweb-mls-top-senders.json b/browser/data/json/Locaweb-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Locaweb-mls-top-senders.json rename to browser/data/json/Locaweb-mls-top-senders.json diff --git a/browser/browser/data/json/Locaweb-scm-evolutionary.json b/browser/data/json/Locaweb-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Locaweb-scm-evolutionary.json rename to browser/data/json/Locaweb-scm-evolutionary.json diff --git a/browser/browser/data/json/Locaweb-scm-static.json b/browser/data/json/Locaweb-scm-static.json similarity index 100% rename from browser/browser/data/json/Locaweb-scm-static.json rename to browser/data/json/Locaweb-scm-static.json diff --git a/browser/browser/data/json/Locaweb-scm-top-authors.json b/browser/data/json/Locaweb-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Locaweb-scm-top-authors.json rename to browser/data/json/Locaweb-scm-top-authors.json diff --git a/browser/browser/data/json/Locaweb-scm-top-authors_2006.json b/browser/data/json/Locaweb-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Locaweb-scm-top-authors_2006.json rename to browser/data/json/Locaweb-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Locaweb-scm-top-authors_2009.json b/browser/data/json/Locaweb-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Locaweb-scm-top-authors_2009.json rename to browser/data/json/Locaweb-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Locaweb-scm-top-authors_2012.json b/browser/data/json/Locaweb-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Locaweb-scm-top-authors_2012.json rename to browser/data/json/Locaweb-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Managed IT-its-evolutionary.json b/browser/data/json/Managed IT-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Managed IT-its-evolutionary.json rename to browser/data/json/Managed IT-its-evolutionary.json diff --git a/browser/browser/data/json/Managed IT-its-static.json b/browser/data/json/Managed IT-its-static.json similarity index 100% rename from browser/browser/data/json/Managed IT-its-static.json rename to browser/data/json/Managed IT-its-static.json diff --git a/browser/browser/data/json/Managed IT-its-top-closers.json b/browser/data/json/Managed IT-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Managed IT-its-top-closers.json rename to browser/data/json/Managed IT-its-top-closers.json diff --git a/browser/browser/data/json/Managed IT-mls-evolutionary.json b/browser/data/json/Managed IT-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Managed IT-mls-evolutionary.json rename to browser/data/json/Managed IT-mls-evolutionary.json diff --git a/browser/browser/data/json/Managed IT-mls-static.json b/browser/data/json/Managed IT-mls-static.json similarity index 100% rename from browser/browser/data/json/Managed IT-mls-static.json rename to browser/data/json/Managed IT-mls-static.json diff --git a/browser/browser/data/json/Managed IT-mls-top-senders.json b/browser/data/json/Managed IT-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Managed IT-mls-top-senders.json rename to browser/data/json/Managed IT-mls-top-senders.json diff --git a/browser/browser/data/json/Managed IT-scm-evolutionary.json b/browser/data/json/Managed IT-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Managed IT-scm-evolutionary.json rename to browser/data/json/Managed IT-scm-evolutionary.json diff --git a/browser/browser/data/json/Managed IT-scm-static.json b/browser/data/json/Managed IT-scm-static.json similarity index 100% rename from browser/browser/data/json/Managed IT-scm-static.json rename to browser/data/json/Managed IT-scm-static.json diff --git a/browser/browser/data/json/Managed IT-scm-top-authors.json b/browser/data/json/Managed IT-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Managed IT-scm-top-authors.json rename to browser/data/json/Managed IT-scm-top-authors.json diff --git a/browser/browser/data/json/Managed IT-scm-top-authors_2006.json b/browser/data/json/Managed IT-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Managed IT-scm-top-authors_2006.json rename to browser/data/json/Managed IT-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Managed IT-scm-top-authors_2009.json b/browser/data/json/Managed IT-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Managed IT-scm-top-authors_2009.json rename to browser/data/json/Managed IT-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Managed IT-scm-top-authors_2012.json b/browser/data/json/Managed IT-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Managed IT-scm-top-authors_2012.json rename to browser/data/json/Managed IT-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Memset-its-evolutionary.json b/browser/data/json/Memset-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Memset-its-evolutionary.json rename to browser/data/json/Memset-its-evolutionary.json diff --git a/browser/browser/data/json/Memset-its-static.json b/browser/data/json/Memset-its-static.json similarity index 100% rename from browser/browser/data/json/Memset-its-static.json rename to browser/data/json/Memset-its-static.json diff --git a/browser/browser/data/json/Memset-its-top-closers.json b/browser/data/json/Memset-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Memset-its-top-closers.json rename to browser/data/json/Memset-its-top-closers.json diff --git a/browser/browser/data/json/Memset-scm-evolutionary.json b/browser/data/json/Memset-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Memset-scm-evolutionary.json rename to browser/data/json/Memset-scm-evolutionary.json diff --git a/browser/browser/data/json/Memset-scm-static.json b/browser/data/json/Memset-scm-static.json similarity index 100% rename from browser/browser/data/json/Memset-scm-static.json rename to browser/data/json/Memset-scm-static.json diff --git a/browser/browser/data/json/Memset-scm-top-authors.json b/browser/data/json/Memset-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Memset-scm-top-authors.json rename to browser/data/json/Memset-scm-top-authors.json diff --git a/browser/browser/data/json/Memset-scm-top-authors_2006.json b/browser/data/json/Memset-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Memset-scm-top-authors_2006.json rename to browser/data/json/Memset-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Memset-scm-top-authors_2009.json b/browser/data/json/Memset-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Memset-scm-top-authors_2009.json rename to browser/data/json/Memset-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Memset-scm-top-authors_2012.json b/browser/data/json/Memset-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Memset-scm-top-authors_2012.json rename to browser/data/json/Memset-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Metacloud-its-evolutionary.json b/browser/data/json/Metacloud-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Metacloud-its-evolutionary.json rename to browser/data/json/Metacloud-its-evolutionary.json diff --git a/browser/browser/data/json/Metacloud-its-static.json b/browser/data/json/Metacloud-its-static.json similarity index 100% rename from browser/browser/data/json/Metacloud-its-static.json rename to browser/data/json/Metacloud-its-static.json diff --git a/browser/browser/data/json/Metacloud-its-top-closers.json b/browser/data/json/Metacloud-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Metacloud-its-top-closers.json rename to browser/data/json/Metacloud-its-top-closers.json diff --git a/browser/browser/data/json/Metacloud-mls-evolutionary.json b/browser/data/json/Metacloud-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Metacloud-mls-evolutionary.json rename to browser/data/json/Metacloud-mls-evolutionary.json diff --git a/browser/browser/data/json/Metacloud-mls-static.json b/browser/data/json/Metacloud-mls-static.json similarity index 100% rename from browser/browser/data/json/Metacloud-mls-static.json rename to browser/data/json/Metacloud-mls-static.json diff --git a/browser/browser/data/json/Metacloud-mls-top-senders.json b/browser/data/json/Metacloud-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Metacloud-mls-top-senders.json rename to browser/data/json/Metacloud-mls-top-senders.json diff --git a/browser/browser/data/json/Metacloud-scm-evolutionary.json b/browser/data/json/Metacloud-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Metacloud-scm-evolutionary.json rename to browser/data/json/Metacloud-scm-evolutionary.json diff --git a/browser/browser/data/json/Metacloud-scm-static.json b/browser/data/json/Metacloud-scm-static.json similarity index 100% rename from browser/browser/data/json/Metacloud-scm-static.json rename to browser/data/json/Metacloud-scm-static.json diff --git a/browser/browser/data/json/Metacloud-scm-top-authors.json b/browser/data/json/Metacloud-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Metacloud-scm-top-authors.json rename to browser/data/json/Metacloud-scm-top-authors.json diff --git a/browser/browser/data/json/Metacloud-scm-top-authors_2006.json b/browser/data/json/Metacloud-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Metacloud-scm-top-authors_2006.json rename to browser/data/json/Metacloud-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Metacloud-scm-top-authors_2009.json b/browser/data/json/Metacloud-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Metacloud-scm-top-authors_2009.json rename to browser/data/json/Metacloud-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Metacloud-scm-top-authors_2012.json b/browser/data/json/Metacloud-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Metacloud-scm-top-authors_2012.json rename to browser/data/json/Metacloud-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Microsoft-its-evolutionary.json b/browser/data/json/Microsoft-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Microsoft-its-evolutionary.json rename to browser/data/json/Microsoft-its-evolutionary.json diff --git a/browser/browser/data/json/Microsoft-its-static.json b/browser/data/json/Microsoft-its-static.json similarity index 100% rename from browser/browser/data/json/Microsoft-its-static.json rename to browser/data/json/Microsoft-its-static.json diff --git a/browser/browser/data/json/Microsoft-its-top-closers.json b/browser/data/json/Microsoft-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Microsoft-its-top-closers.json rename to browser/data/json/Microsoft-its-top-closers.json diff --git a/browser/browser/data/json/Microsoft-mls-evolutionary.json b/browser/data/json/Microsoft-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Microsoft-mls-evolutionary.json rename to browser/data/json/Microsoft-mls-evolutionary.json diff --git a/browser/browser/data/json/Microsoft-mls-static.json b/browser/data/json/Microsoft-mls-static.json similarity index 100% rename from browser/browser/data/json/Microsoft-mls-static.json rename to browser/data/json/Microsoft-mls-static.json diff --git a/browser/browser/data/json/Microsoft-mls-top-senders.json b/browser/data/json/Microsoft-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Microsoft-mls-top-senders.json rename to browser/data/json/Microsoft-mls-top-senders.json diff --git a/browser/browser/data/json/Microsoft-scm-evolutionary.json b/browser/data/json/Microsoft-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Microsoft-scm-evolutionary.json rename to browser/data/json/Microsoft-scm-evolutionary.json diff --git a/browser/browser/data/json/Microsoft-scm-static.json b/browser/data/json/Microsoft-scm-static.json similarity index 100% rename from browser/browser/data/json/Microsoft-scm-static.json rename to browser/data/json/Microsoft-scm-static.json diff --git a/browser/browser/data/json/Microsoft-scm-top-authors.json b/browser/data/json/Microsoft-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Microsoft-scm-top-authors.json rename to browser/data/json/Microsoft-scm-top-authors.json diff --git a/browser/browser/data/json/Microsoft-scm-top-authors_2006.json b/browser/data/json/Microsoft-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Microsoft-scm-top-authors_2006.json rename to browser/data/json/Microsoft-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Microsoft-scm-top-authors_2009.json b/browser/data/json/Microsoft-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Microsoft-scm-top-authors_2009.json rename to browser/data/json/Microsoft-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Microsoft-scm-top-authors_2012.json b/browser/data/json/Microsoft-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Microsoft-scm-top-authors_2012.json rename to browser/data/json/Microsoft-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Midokura-its-evolutionary.json b/browser/data/json/Midokura-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Midokura-its-evolutionary.json rename to browser/data/json/Midokura-its-evolutionary.json diff --git a/browser/browser/data/json/Midokura-its-static.json b/browser/data/json/Midokura-its-static.json similarity index 100% rename from browser/browser/data/json/Midokura-its-static.json rename to browser/data/json/Midokura-its-static.json diff --git a/browser/browser/data/json/Midokura-its-top-closers.json b/browser/data/json/Midokura-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Midokura-its-top-closers.json rename to browser/data/json/Midokura-its-top-closers.json diff --git a/browser/browser/data/json/Midokura-mls-evolutionary.json b/browser/data/json/Midokura-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Midokura-mls-evolutionary.json rename to browser/data/json/Midokura-mls-evolutionary.json diff --git a/browser/browser/data/json/Midokura-mls-static.json b/browser/data/json/Midokura-mls-static.json similarity index 100% rename from browser/browser/data/json/Midokura-mls-static.json rename to browser/data/json/Midokura-mls-static.json diff --git a/browser/browser/data/json/Midokura-mls-top-senders.json b/browser/data/json/Midokura-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Midokura-mls-top-senders.json rename to browser/data/json/Midokura-mls-top-senders.json diff --git a/browser/browser/data/json/Midokura-scm-evolutionary.json b/browser/data/json/Midokura-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Midokura-scm-evolutionary.json rename to browser/data/json/Midokura-scm-evolutionary.json diff --git a/browser/browser/data/json/Midokura-scm-static.json b/browser/data/json/Midokura-scm-static.json similarity index 100% rename from browser/browser/data/json/Midokura-scm-static.json rename to browser/data/json/Midokura-scm-static.json diff --git a/browser/browser/data/json/Midokura-scm-top-authors.json b/browser/data/json/Midokura-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Midokura-scm-top-authors.json rename to browser/data/json/Midokura-scm-top-authors.json diff --git a/browser/browser/data/json/Midokura-scm-top-authors_2006.json b/browser/data/json/Midokura-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Midokura-scm-top-authors_2006.json rename to browser/data/json/Midokura-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Midokura-scm-top-authors_2009.json b/browser/data/json/Midokura-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Midokura-scm-top-authors_2009.json rename to browser/data/json/Midokura-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Midokura-scm-top-authors_2012.json b/browser/data/json/Midokura-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Midokura-scm-top-authors_2012.json rename to browser/data/json/Midokura-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Mirantis-its-evolutionary.json b/browser/data/json/Mirantis-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Mirantis-its-evolutionary.json rename to browser/data/json/Mirantis-its-evolutionary.json diff --git a/browser/browser/data/json/Mirantis-its-static.json b/browser/data/json/Mirantis-its-static.json similarity index 100% rename from browser/browser/data/json/Mirantis-its-static.json rename to browser/data/json/Mirantis-its-static.json diff --git a/browser/browser/data/json/Mirantis-its-top-closers.json b/browser/data/json/Mirantis-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Mirantis-its-top-closers.json rename to browser/data/json/Mirantis-its-top-closers.json diff --git a/browser/browser/data/json/Mirantis-mls-evolutionary.json b/browser/data/json/Mirantis-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Mirantis-mls-evolutionary.json rename to browser/data/json/Mirantis-mls-evolutionary.json diff --git a/browser/browser/data/json/Mirantis-mls-static.json b/browser/data/json/Mirantis-mls-static.json similarity index 100% rename from browser/browser/data/json/Mirantis-mls-static.json rename to browser/data/json/Mirantis-mls-static.json diff --git a/browser/browser/data/json/Mirantis-mls-top-senders.json b/browser/data/json/Mirantis-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Mirantis-mls-top-senders.json rename to browser/data/json/Mirantis-mls-top-senders.json diff --git a/browser/browser/data/json/Mirantis-scm-evolutionary.json b/browser/data/json/Mirantis-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Mirantis-scm-evolutionary.json rename to browser/data/json/Mirantis-scm-evolutionary.json diff --git a/browser/browser/data/json/Mirantis-scm-static.json b/browser/data/json/Mirantis-scm-static.json similarity index 100% rename from browser/browser/data/json/Mirantis-scm-static.json rename to browser/data/json/Mirantis-scm-static.json diff --git a/browser/browser/data/json/Mirantis-scm-top-authors.json b/browser/data/json/Mirantis-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Mirantis-scm-top-authors.json rename to browser/data/json/Mirantis-scm-top-authors.json diff --git a/browser/browser/data/json/Mirantis-scm-top-authors_2006.json b/browser/data/json/Mirantis-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Mirantis-scm-top-authors_2006.json rename to browser/data/json/Mirantis-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Mirantis-scm-top-authors_2009.json b/browser/data/json/Mirantis-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Mirantis-scm-top-authors_2009.json rename to browser/data/json/Mirantis-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Mirantis-scm-top-authors_2012.json b/browser/data/json/Mirantis-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Mirantis-scm-top-authors_2012.json rename to browser/data/json/Mirantis-scm-top-authors_2012.json diff --git a/browser/browser/data/json/NEC-its-evolutionary.json b/browser/data/json/NEC-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/NEC-its-evolutionary.json rename to browser/data/json/NEC-its-evolutionary.json diff --git a/browser/browser/data/json/NEC-its-static.json b/browser/data/json/NEC-its-static.json similarity index 100% rename from browser/browser/data/json/NEC-its-static.json rename to browser/data/json/NEC-its-static.json diff --git a/browser/browser/data/json/NEC-its-top-closers.json b/browser/data/json/NEC-its-top-closers.json similarity index 100% rename from browser/browser/data/json/NEC-its-top-closers.json rename to browser/data/json/NEC-its-top-closers.json diff --git a/browser/browser/data/json/NEC-mls-evolutionary.json b/browser/data/json/NEC-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/NEC-mls-evolutionary.json rename to browser/data/json/NEC-mls-evolutionary.json diff --git a/browser/browser/data/json/NEC-mls-static.json b/browser/data/json/NEC-mls-static.json similarity index 100% rename from browser/browser/data/json/NEC-mls-static.json rename to browser/data/json/NEC-mls-static.json diff --git a/browser/browser/data/json/NEC-mls-top-senders.json b/browser/data/json/NEC-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/NEC-mls-top-senders.json rename to browser/data/json/NEC-mls-top-senders.json diff --git a/browser/browser/data/json/NEC-scm-evolutionary.json b/browser/data/json/NEC-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/NEC-scm-evolutionary.json rename to browser/data/json/NEC-scm-evolutionary.json diff --git a/browser/browser/data/json/NEC-scm-static.json b/browser/data/json/NEC-scm-static.json similarity index 100% rename from browser/browser/data/json/NEC-scm-static.json rename to browser/data/json/NEC-scm-static.json diff --git a/browser/browser/data/json/NEC-scm-top-authors.json b/browser/data/json/NEC-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/NEC-scm-top-authors.json rename to browser/data/json/NEC-scm-top-authors.json diff --git a/browser/browser/data/json/NEC-scm-top-authors_2006.json b/browser/data/json/NEC-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/NEC-scm-top-authors_2006.json rename to browser/data/json/NEC-scm-top-authors_2006.json diff --git a/browser/browser/data/json/NEC-scm-top-authors_2009.json b/browser/data/json/NEC-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/NEC-scm-top-authors_2009.json rename to browser/data/json/NEC-scm-top-authors_2009.json diff --git a/browser/browser/data/json/NEC-scm-top-authors_2012.json b/browser/data/json/NEC-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/NEC-scm-top-authors_2012.json rename to browser/data/json/NEC-scm-top-authors_2012.json diff --git a/browser/browser/data/json/NTT-its-evolutionary.json b/browser/data/json/NTT-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/NTT-its-evolutionary.json rename to browser/data/json/NTT-its-evolutionary.json diff --git a/browser/browser/data/json/NTT-its-static.json b/browser/data/json/NTT-its-static.json similarity index 100% rename from browser/browser/data/json/NTT-its-static.json rename to browser/data/json/NTT-its-static.json diff --git a/browser/browser/data/json/NTT-its-top-closers.json b/browser/data/json/NTT-its-top-closers.json similarity index 100% rename from browser/browser/data/json/NTT-its-top-closers.json rename to browser/data/json/NTT-its-top-closers.json diff --git a/browser/browser/data/json/NTT-mls-evolutionary.json b/browser/data/json/NTT-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/NTT-mls-evolutionary.json rename to browser/data/json/NTT-mls-evolutionary.json diff --git a/browser/browser/data/json/NTT-mls-static.json b/browser/data/json/NTT-mls-static.json similarity index 100% rename from browser/browser/data/json/NTT-mls-static.json rename to browser/data/json/NTT-mls-static.json diff --git a/browser/browser/data/json/NTT-mls-top-senders.json b/browser/data/json/NTT-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/NTT-mls-top-senders.json rename to browser/data/json/NTT-mls-top-senders.json diff --git a/browser/browser/data/json/NTT-scm-evolutionary.json b/browser/data/json/NTT-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/NTT-scm-evolutionary.json rename to browser/data/json/NTT-scm-evolutionary.json diff --git a/browser/browser/data/json/NTT-scm-static.json b/browser/data/json/NTT-scm-static.json similarity index 100% rename from browser/browser/data/json/NTT-scm-static.json rename to browser/data/json/NTT-scm-static.json diff --git a/browser/browser/data/json/NTT-scm-top-authors.json b/browser/data/json/NTT-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/NTT-scm-top-authors.json rename to browser/data/json/NTT-scm-top-authors.json diff --git a/browser/browser/data/json/NTT-scm-top-authors_2006.json b/browser/data/json/NTT-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/NTT-scm-top-authors_2006.json rename to browser/data/json/NTT-scm-top-authors_2006.json diff --git a/browser/browser/data/json/NTT-scm-top-authors_2009.json b/browser/data/json/NTT-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/NTT-scm-top-authors_2009.json rename to browser/data/json/NTT-scm-top-authors_2009.json diff --git a/browser/browser/data/json/NTT-scm-top-authors_2012.json b/browser/data/json/NTT-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/NTT-scm-top-authors_2012.json rename to browser/data/json/NTT-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Nebula-its-evolutionary.json b/browser/data/json/Nebula-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nebula-its-evolutionary.json rename to browser/data/json/Nebula-its-evolutionary.json diff --git a/browser/browser/data/json/Nebula-its-static.json b/browser/data/json/Nebula-its-static.json similarity index 100% rename from browser/browser/data/json/Nebula-its-static.json rename to browser/data/json/Nebula-its-static.json diff --git a/browser/browser/data/json/Nebula-its-top-closers.json b/browser/data/json/Nebula-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Nebula-its-top-closers.json rename to browser/data/json/Nebula-its-top-closers.json diff --git a/browser/browser/data/json/Nebula-mls-evolutionary.json b/browser/data/json/Nebula-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nebula-mls-evolutionary.json rename to browser/data/json/Nebula-mls-evolutionary.json diff --git a/browser/browser/data/json/Nebula-mls-static.json b/browser/data/json/Nebula-mls-static.json similarity index 100% rename from browser/browser/data/json/Nebula-mls-static.json rename to browser/data/json/Nebula-mls-static.json diff --git a/browser/browser/data/json/Nebula-mls-top-senders.json b/browser/data/json/Nebula-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Nebula-mls-top-senders.json rename to browser/data/json/Nebula-mls-top-senders.json diff --git a/browser/browser/data/json/Nebula-scm-evolutionary.json b/browser/data/json/Nebula-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nebula-scm-evolutionary.json rename to browser/data/json/Nebula-scm-evolutionary.json diff --git a/browser/browser/data/json/Nebula-scm-static.json b/browser/data/json/Nebula-scm-static.json similarity index 100% rename from browser/browser/data/json/Nebula-scm-static.json rename to browser/data/json/Nebula-scm-static.json diff --git a/browser/browser/data/json/Nebula-scm-top-authors.json b/browser/data/json/Nebula-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Nebula-scm-top-authors.json rename to browser/data/json/Nebula-scm-top-authors.json diff --git a/browser/browser/data/json/Nebula-scm-top-authors_2006.json b/browser/data/json/Nebula-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Nebula-scm-top-authors_2006.json rename to browser/data/json/Nebula-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Nebula-scm-top-authors_2009.json b/browser/data/json/Nebula-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Nebula-scm-top-authors_2009.json rename to browser/data/json/Nebula-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Nebula-scm-top-authors_2012.json b/browser/data/json/Nebula-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Nebula-scm-top-authors_2012.json rename to browser/data/json/Nebula-scm-top-authors_2012.json diff --git a/browser/browser/data/json/NetApp-its-evolutionary.json b/browser/data/json/NetApp-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/NetApp-its-evolutionary.json rename to browser/data/json/NetApp-its-evolutionary.json diff --git a/browser/browser/data/json/NetApp-its-static.json b/browser/data/json/NetApp-its-static.json similarity index 100% rename from browser/browser/data/json/NetApp-its-static.json rename to browser/data/json/NetApp-its-static.json diff --git a/browser/browser/data/json/NetApp-its-top-closers.json b/browser/data/json/NetApp-its-top-closers.json similarity index 100% rename from browser/browser/data/json/NetApp-its-top-closers.json rename to browser/data/json/NetApp-its-top-closers.json diff --git a/browser/browser/data/json/NetApp-scm-evolutionary.json b/browser/data/json/NetApp-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/NetApp-scm-evolutionary.json rename to browser/data/json/NetApp-scm-evolutionary.json diff --git a/browser/browser/data/json/NetApp-scm-static.json b/browser/data/json/NetApp-scm-static.json similarity index 100% rename from browser/browser/data/json/NetApp-scm-static.json rename to browser/data/json/NetApp-scm-static.json diff --git a/browser/browser/data/json/NetApp-scm-top-authors.json b/browser/data/json/NetApp-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/NetApp-scm-top-authors.json rename to browser/data/json/NetApp-scm-top-authors.json diff --git a/browser/browser/data/json/NetApp-scm-top-authors_2006.json b/browser/data/json/NetApp-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/NetApp-scm-top-authors_2006.json rename to browser/data/json/NetApp-scm-top-authors_2006.json diff --git a/browser/browser/data/json/NetApp-scm-top-authors_2009.json b/browser/data/json/NetApp-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/NetApp-scm-top-authors_2009.json rename to browser/data/json/NetApp-scm-top-authors_2009.json diff --git a/browser/browser/data/json/NetApp-scm-top-authors_2012.json b/browser/data/json/NetApp-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/NetApp-scm-top-authors_2012.json rename to browser/data/json/NetApp-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Nexenta-scm-evolutionary.json b/browser/data/json/Nexenta-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nexenta-scm-evolutionary.json rename to browser/data/json/Nexenta-scm-evolutionary.json diff --git a/browser/browser/data/json/Nexenta-scm-static.json b/browser/data/json/Nexenta-scm-static.json similarity index 100% rename from browser/browser/data/json/Nexenta-scm-static.json rename to browser/data/json/Nexenta-scm-static.json diff --git a/browser/browser/data/json/Nexenta-scm-top-authors.json b/browser/data/json/Nexenta-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Nexenta-scm-top-authors.json rename to browser/data/json/Nexenta-scm-top-authors.json diff --git a/browser/browser/data/json/Nexenta-scm-top-authors_2006.json b/browser/data/json/Nexenta-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Nexenta-scm-top-authors_2006.json rename to browser/data/json/Nexenta-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Nexenta-scm-top-authors_2009.json b/browser/data/json/Nexenta-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Nexenta-scm-top-authors_2009.json rename to browser/data/json/Nexenta-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Nexenta-scm-top-authors_2012.json b/browser/data/json/Nexenta-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Nexenta-scm-top-authors_2012.json rename to browser/data/json/Nexenta-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Nicira-its-evolutionary.json b/browser/data/json/Nicira-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nicira-its-evolutionary.json rename to browser/data/json/Nicira-its-evolutionary.json diff --git a/browser/browser/data/json/Nicira-its-static.json b/browser/data/json/Nicira-its-static.json similarity index 100% rename from browser/browser/data/json/Nicira-its-static.json rename to browser/data/json/Nicira-its-static.json diff --git a/browser/browser/data/json/Nicira-its-top-closers.json b/browser/data/json/Nicira-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Nicira-its-top-closers.json rename to browser/data/json/Nicira-its-top-closers.json diff --git a/browser/browser/data/json/Nicira-mls-evolutionary.json b/browser/data/json/Nicira-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nicira-mls-evolutionary.json rename to browser/data/json/Nicira-mls-evolutionary.json diff --git a/browser/browser/data/json/Nicira-mls-static.json b/browser/data/json/Nicira-mls-static.json similarity index 100% rename from browser/browser/data/json/Nicira-mls-static.json rename to browser/data/json/Nicira-mls-static.json diff --git a/browser/browser/data/json/Nicira-mls-top-senders.json b/browser/data/json/Nicira-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Nicira-mls-top-senders.json rename to browser/data/json/Nicira-mls-top-senders.json diff --git a/browser/browser/data/json/Nicira-scm-evolutionary.json b/browser/data/json/Nicira-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nicira-scm-evolutionary.json rename to browser/data/json/Nicira-scm-evolutionary.json diff --git a/browser/browser/data/json/Nicira-scm-static.json b/browser/data/json/Nicira-scm-static.json similarity index 100% rename from browser/browser/data/json/Nicira-scm-static.json rename to browser/data/json/Nicira-scm-static.json diff --git a/browser/browser/data/json/Nicira-scm-top-authors.json b/browser/data/json/Nicira-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Nicira-scm-top-authors.json rename to browser/data/json/Nicira-scm-top-authors.json diff --git a/browser/browser/data/json/Nicira-scm-top-authors_2006.json b/browser/data/json/Nicira-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Nicira-scm-top-authors_2006.json rename to browser/data/json/Nicira-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Nicira-scm-top-authors_2009.json b/browser/data/json/Nicira-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Nicira-scm-top-authors_2009.json rename to browser/data/json/Nicira-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Nicira-scm-top-authors_2012.json b/browser/data/json/Nicira-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Nicira-scm-top-authors_2012.json rename to browser/data/json/Nicira-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Nimbis Services-its-evolutionary.json b/browser/data/json/Nimbis Services-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-its-evolutionary.json rename to browser/data/json/Nimbis Services-its-evolutionary.json diff --git a/browser/browser/data/json/Nimbis Services-its-static.json b/browser/data/json/Nimbis Services-its-static.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-its-static.json rename to browser/data/json/Nimbis Services-its-static.json diff --git a/browser/browser/data/json/Nimbis Services-its-top-closers.json b/browser/data/json/Nimbis Services-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-its-top-closers.json rename to browser/data/json/Nimbis Services-its-top-closers.json diff --git a/browser/browser/data/json/Nimbis Services-mls-evolutionary.json b/browser/data/json/Nimbis Services-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-mls-evolutionary.json rename to browser/data/json/Nimbis Services-mls-evolutionary.json diff --git a/browser/browser/data/json/Nimbis Services-mls-static.json b/browser/data/json/Nimbis Services-mls-static.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-mls-static.json rename to browser/data/json/Nimbis Services-mls-static.json diff --git a/browser/browser/data/json/Nimbis Services-mls-top-senders.json b/browser/data/json/Nimbis Services-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-mls-top-senders.json rename to browser/data/json/Nimbis Services-mls-top-senders.json diff --git a/browser/browser/data/json/Nimbis Services-scm-evolutionary.json b/browser/data/json/Nimbis Services-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-scm-evolutionary.json rename to browser/data/json/Nimbis Services-scm-evolutionary.json diff --git a/browser/browser/data/json/Nimbis Services-scm-static.json b/browser/data/json/Nimbis Services-scm-static.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-scm-static.json rename to browser/data/json/Nimbis Services-scm-static.json diff --git a/browser/browser/data/json/Nimbis Services-scm-top-authors.json b/browser/data/json/Nimbis Services-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-scm-top-authors.json rename to browser/data/json/Nimbis Services-scm-top-authors.json diff --git a/browser/browser/data/json/Nimbis Services-scm-top-authors_2006.json b/browser/data/json/Nimbis Services-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-scm-top-authors_2006.json rename to browser/data/json/Nimbis Services-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Nimbis Services-scm-top-authors_2009.json b/browser/data/json/Nimbis Services-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-scm-top-authors_2009.json rename to browser/data/json/Nimbis Services-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Nimbis Services-scm-top-authors_2012.json b/browser/data/json/Nimbis Services-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Nimbis Services-scm-top-authors_2012.json rename to browser/data/json/Nimbis Services-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Percona-its-evolutionary.json b/browser/data/json/Percona-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Percona-its-evolutionary.json rename to browser/data/json/Percona-its-evolutionary.json diff --git a/browser/browser/data/json/Percona-its-static.json b/browser/data/json/Percona-its-static.json similarity index 100% rename from browser/browser/data/json/Percona-its-static.json rename to browser/data/json/Percona-its-static.json diff --git a/browser/browser/data/json/Percona-its-top-closers.json b/browser/data/json/Percona-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Percona-its-top-closers.json rename to browser/data/json/Percona-its-top-closers.json diff --git a/browser/browser/data/json/Percona-mls-evolutionary.json b/browser/data/json/Percona-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Percona-mls-evolutionary.json rename to browser/data/json/Percona-mls-evolutionary.json diff --git a/browser/browser/data/json/Percona-mls-static.json b/browser/data/json/Percona-mls-static.json similarity index 100% rename from browser/browser/data/json/Percona-mls-static.json rename to browser/data/json/Percona-mls-static.json diff --git a/browser/browser/data/json/Percona-mls-top-senders.json b/browser/data/json/Percona-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Percona-mls-top-senders.json rename to browser/data/json/Percona-mls-top-senders.json diff --git a/browser/browser/data/json/Percona-scm-evolutionary.json b/browser/data/json/Percona-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Percona-scm-evolutionary.json rename to browser/data/json/Percona-scm-evolutionary.json diff --git a/browser/browser/data/json/Percona-scm-static.json b/browser/data/json/Percona-scm-static.json similarity index 100% rename from browser/browser/data/json/Percona-scm-static.json rename to browser/data/json/Percona-scm-static.json diff --git a/browser/browser/data/json/Percona-scm-top-authors.json b/browser/data/json/Percona-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Percona-scm-top-authors.json rename to browser/data/json/Percona-scm-top-authors.json diff --git a/browser/browser/data/json/Percona-scm-top-authors_2006.json b/browser/data/json/Percona-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Percona-scm-top-authors_2006.json rename to browser/data/json/Percona-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Percona-scm-top-authors_2009.json b/browser/data/json/Percona-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Percona-scm-top-authors_2009.json rename to browser/data/json/Percona-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Percona-scm-top-authors_2012.json b/browser/data/json/Percona-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Percona-scm-top-authors_2012.json rename to browser/data/json/Percona-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Piston Cloud-its-evolutionary.json b/browser/data/json/Piston Cloud-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-its-evolutionary.json rename to browser/data/json/Piston Cloud-its-evolutionary.json diff --git a/browser/browser/data/json/Piston Cloud-its-static.json b/browser/data/json/Piston Cloud-its-static.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-its-static.json rename to browser/data/json/Piston Cloud-its-static.json diff --git a/browser/browser/data/json/Piston Cloud-its-top-closers.json b/browser/data/json/Piston Cloud-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-its-top-closers.json rename to browser/data/json/Piston Cloud-its-top-closers.json diff --git a/browser/browser/data/json/Piston Cloud-mls-evolutionary.json b/browser/data/json/Piston Cloud-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-mls-evolutionary.json rename to browser/data/json/Piston Cloud-mls-evolutionary.json diff --git a/browser/browser/data/json/Piston Cloud-mls-static.json b/browser/data/json/Piston Cloud-mls-static.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-mls-static.json rename to browser/data/json/Piston Cloud-mls-static.json diff --git a/browser/browser/data/json/Piston Cloud-mls-top-senders.json b/browser/data/json/Piston Cloud-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-mls-top-senders.json rename to browser/data/json/Piston Cloud-mls-top-senders.json diff --git a/browser/browser/data/json/Piston Cloud-scm-evolutionary.json b/browser/data/json/Piston Cloud-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-scm-evolutionary.json rename to browser/data/json/Piston Cloud-scm-evolutionary.json diff --git a/browser/browser/data/json/Piston Cloud-scm-static.json b/browser/data/json/Piston Cloud-scm-static.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-scm-static.json rename to browser/data/json/Piston Cloud-scm-static.json diff --git a/browser/browser/data/json/Piston Cloud-scm-top-authors.json b/browser/data/json/Piston Cloud-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-scm-top-authors.json rename to browser/data/json/Piston Cloud-scm-top-authors.json diff --git a/browser/browser/data/json/Piston Cloud-scm-top-authors_2006.json b/browser/data/json/Piston Cloud-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-scm-top-authors_2006.json rename to browser/data/json/Piston Cloud-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Piston Cloud-scm-top-authors_2009.json b/browser/data/json/Piston Cloud-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-scm-top-authors_2009.json rename to browser/data/json/Piston Cloud-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Piston Cloud-scm-top-authors_2012.json b/browser/data/json/Piston Cloud-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Piston Cloud-scm-top-authors_2012.json rename to browser/data/json/Piston Cloud-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Rackspace-its-evolutionary.json b/browser/data/json/Rackspace-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Rackspace-its-evolutionary.json rename to browser/data/json/Rackspace-its-evolutionary.json diff --git a/browser/browser/data/json/Rackspace-its-static.json b/browser/data/json/Rackspace-its-static.json similarity index 100% rename from browser/browser/data/json/Rackspace-its-static.json rename to browser/data/json/Rackspace-its-static.json diff --git a/browser/browser/data/json/Rackspace-its-top-closers.json b/browser/data/json/Rackspace-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Rackspace-its-top-closers.json rename to browser/data/json/Rackspace-its-top-closers.json diff --git a/browser/browser/data/json/Rackspace-mls-evolutionary.json b/browser/data/json/Rackspace-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Rackspace-mls-evolutionary.json rename to browser/data/json/Rackspace-mls-evolutionary.json diff --git a/browser/browser/data/json/Rackspace-mls-static.json b/browser/data/json/Rackspace-mls-static.json similarity index 100% rename from browser/browser/data/json/Rackspace-mls-static.json rename to browser/data/json/Rackspace-mls-static.json diff --git a/browser/browser/data/json/Rackspace-mls-top-senders.json b/browser/data/json/Rackspace-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Rackspace-mls-top-senders.json rename to browser/data/json/Rackspace-mls-top-senders.json diff --git a/browser/browser/data/json/Rackspace-scm-evolutionary.json b/browser/data/json/Rackspace-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Rackspace-scm-evolutionary.json rename to browser/data/json/Rackspace-scm-evolutionary.json diff --git a/browser/browser/data/json/Rackspace-scm-static.json b/browser/data/json/Rackspace-scm-static.json similarity index 100% rename from browser/browser/data/json/Rackspace-scm-static.json rename to browser/data/json/Rackspace-scm-static.json diff --git a/browser/browser/data/json/Rackspace-scm-top-authors.json b/browser/data/json/Rackspace-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Rackspace-scm-top-authors.json rename to browser/data/json/Rackspace-scm-top-authors.json diff --git a/browser/browser/data/json/Rackspace-scm-top-authors_2006.json b/browser/data/json/Rackspace-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Rackspace-scm-top-authors_2006.json rename to browser/data/json/Rackspace-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Rackspace-scm-top-authors_2009.json b/browser/data/json/Rackspace-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Rackspace-scm-top-authors_2009.json rename to browser/data/json/Rackspace-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Rackspace-scm-top-authors_2012.json b/browser/data/json/Rackspace-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Rackspace-scm-top-authors_2012.json rename to browser/data/json/Rackspace-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Radware-its-evolutionary.json b/browser/data/json/Radware-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Radware-its-evolutionary.json rename to browser/data/json/Radware-its-evolutionary.json diff --git a/browser/browser/data/json/Radware-its-static.json b/browser/data/json/Radware-its-static.json similarity index 100% rename from browser/browser/data/json/Radware-its-static.json rename to browser/data/json/Radware-its-static.json diff --git a/browser/browser/data/json/Radware-its-top-closers.json b/browser/data/json/Radware-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Radware-its-top-closers.json rename to browser/data/json/Radware-its-top-closers.json diff --git a/browser/browser/data/json/Radware-mls-evolutionary.json b/browser/data/json/Radware-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Radware-mls-evolutionary.json rename to browser/data/json/Radware-mls-evolutionary.json diff --git a/browser/browser/data/json/Radware-mls-static.json b/browser/data/json/Radware-mls-static.json similarity index 100% rename from browser/browser/data/json/Radware-mls-static.json rename to browser/data/json/Radware-mls-static.json diff --git a/browser/browser/data/json/Radware-mls-top-senders.json b/browser/data/json/Radware-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Radware-mls-top-senders.json rename to browser/data/json/Radware-mls-top-senders.json diff --git a/browser/browser/data/json/Radware-scm-evolutionary.json b/browser/data/json/Radware-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Radware-scm-evolutionary.json rename to browser/data/json/Radware-scm-evolutionary.json diff --git a/browser/browser/data/json/Radware-scm-static.json b/browser/data/json/Radware-scm-static.json similarity index 100% rename from browser/browser/data/json/Radware-scm-static.json rename to browser/data/json/Radware-scm-static.json diff --git a/browser/browser/data/json/Radware-scm-top-authors.json b/browser/data/json/Radware-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Radware-scm-top-authors.json rename to browser/data/json/Radware-scm-top-authors.json diff --git a/browser/browser/data/json/Radware-scm-top-authors_2006.json b/browser/data/json/Radware-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Radware-scm-top-authors_2006.json rename to browser/data/json/Radware-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Radware-scm-top-authors_2009.json b/browser/data/json/Radware-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Radware-scm-top-authors_2009.json rename to browser/data/json/Radware-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Radware-scm-top-authors_2012.json b/browser/data/json/Radware-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Radware-scm-top-authors_2012.json rename to browser/data/json/Radware-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Red Hat-its-evolutionary.json b/browser/data/json/Red Hat-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Red Hat-its-evolutionary.json rename to browser/data/json/Red Hat-its-evolutionary.json diff --git a/browser/browser/data/json/Red Hat-its-static.json b/browser/data/json/Red Hat-its-static.json similarity index 100% rename from browser/browser/data/json/Red Hat-its-static.json rename to browser/data/json/Red Hat-its-static.json diff --git a/browser/browser/data/json/Red Hat-its-top-closers.json b/browser/data/json/Red Hat-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Red Hat-its-top-closers.json rename to browser/data/json/Red Hat-its-top-closers.json diff --git a/browser/browser/data/json/Red Hat-mls-evolutionary.json b/browser/data/json/Red Hat-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Red Hat-mls-evolutionary.json rename to browser/data/json/Red Hat-mls-evolutionary.json diff --git a/browser/browser/data/json/Red Hat-mls-static.json b/browser/data/json/Red Hat-mls-static.json similarity index 100% rename from browser/browser/data/json/Red Hat-mls-static.json rename to browser/data/json/Red Hat-mls-static.json diff --git a/browser/browser/data/json/Red Hat-mls-top-senders.json b/browser/data/json/Red Hat-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Red Hat-mls-top-senders.json rename to browser/data/json/Red Hat-mls-top-senders.json diff --git a/browser/browser/data/json/Red Hat-scm-evolutionary.json b/browser/data/json/Red Hat-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Red Hat-scm-evolutionary.json rename to browser/data/json/Red Hat-scm-evolutionary.json diff --git a/browser/browser/data/json/Red Hat-scm-static.json b/browser/data/json/Red Hat-scm-static.json similarity index 100% rename from browser/browser/data/json/Red Hat-scm-static.json rename to browser/data/json/Red Hat-scm-static.json diff --git a/browser/browser/data/json/Red Hat-scm-top-authors.json b/browser/data/json/Red Hat-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Red Hat-scm-top-authors.json rename to browser/data/json/Red Hat-scm-top-authors.json diff --git a/browser/browser/data/json/Red Hat-scm-top-authors_2006.json b/browser/data/json/Red Hat-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Red Hat-scm-top-authors_2006.json rename to browser/data/json/Red Hat-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Red Hat-scm-top-authors_2009.json b/browser/data/json/Red Hat-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Red Hat-scm-top-authors_2009.json rename to browser/data/json/Red Hat-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Red Hat-scm-top-authors_2012.json b/browser/data/json/Red Hat-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Red Hat-scm-top-authors_2012.json rename to browser/data/json/Red Hat-scm-top-authors_2012.json diff --git a/browser/browser/data/json/SUSE-its-evolutionary.json b/browser/data/json/SUSE-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/SUSE-its-evolutionary.json rename to browser/data/json/SUSE-its-evolutionary.json diff --git a/browser/browser/data/json/SUSE-its-static.json b/browser/data/json/SUSE-its-static.json similarity index 100% rename from browser/browser/data/json/SUSE-its-static.json rename to browser/data/json/SUSE-its-static.json diff --git a/browser/browser/data/json/SUSE-its-top-closers.json b/browser/data/json/SUSE-its-top-closers.json similarity index 100% rename from browser/browser/data/json/SUSE-its-top-closers.json rename to browser/data/json/SUSE-its-top-closers.json diff --git a/browser/browser/data/json/SUSE-mls-evolutionary.json b/browser/data/json/SUSE-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/SUSE-mls-evolutionary.json rename to browser/data/json/SUSE-mls-evolutionary.json diff --git a/browser/browser/data/json/SUSE-mls-static.json b/browser/data/json/SUSE-mls-static.json similarity index 100% rename from browser/browser/data/json/SUSE-mls-static.json rename to browser/data/json/SUSE-mls-static.json diff --git a/browser/browser/data/json/SUSE-mls-top-senders.json b/browser/data/json/SUSE-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/SUSE-mls-top-senders.json rename to browser/data/json/SUSE-mls-top-senders.json diff --git a/browser/browser/data/json/SUSE-scm-evolutionary.json b/browser/data/json/SUSE-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/SUSE-scm-evolutionary.json rename to browser/data/json/SUSE-scm-evolutionary.json diff --git a/browser/browser/data/json/SUSE-scm-static.json b/browser/data/json/SUSE-scm-static.json similarity index 100% rename from browser/browser/data/json/SUSE-scm-static.json rename to browser/data/json/SUSE-scm-static.json diff --git a/browser/browser/data/json/SUSE-scm-top-authors.json b/browser/data/json/SUSE-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/SUSE-scm-top-authors.json rename to browser/data/json/SUSE-scm-top-authors.json diff --git a/browser/browser/data/json/SUSE-scm-top-authors_2006.json b/browser/data/json/SUSE-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/SUSE-scm-top-authors_2006.json rename to browser/data/json/SUSE-scm-top-authors_2006.json diff --git a/browser/browser/data/json/SUSE-scm-top-authors_2009.json b/browser/data/json/SUSE-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/SUSE-scm-top-authors_2009.json rename to browser/data/json/SUSE-scm-top-authors_2009.json diff --git a/browser/browser/data/json/SUSE-scm-top-authors_2012.json b/browser/data/json/SUSE-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/SUSE-scm-top-authors_2012.json rename to browser/data/json/SUSE-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Sina-its-evolutionary.json b/browser/data/json/Sina-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Sina-its-evolutionary.json rename to browser/data/json/Sina-its-evolutionary.json diff --git a/browser/browser/data/json/Sina-its-static.json b/browser/data/json/Sina-its-static.json similarity index 100% rename from browser/browser/data/json/Sina-its-static.json rename to browser/data/json/Sina-its-static.json diff --git a/browser/browser/data/json/Sina-its-top-closers.json b/browser/data/json/Sina-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Sina-its-top-closers.json rename to browser/data/json/Sina-its-top-closers.json diff --git a/browser/browser/data/json/Sina-mls-evolutionary.json b/browser/data/json/Sina-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Sina-mls-evolutionary.json rename to browser/data/json/Sina-mls-evolutionary.json diff --git a/browser/browser/data/json/Sina-mls-static.json b/browser/data/json/Sina-mls-static.json similarity index 100% rename from browser/browser/data/json/Sina-mls-static.json rename to browser/data/json/Sina-mls-static.json diff --git a/browser/browser/data/json/Sina-mls-top-senders.json b/browser/data/json/Sina-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Sina-mls-top-senders.json rename to browser/data/json/Sina-mls-top-senders.json diff --git a/browser/browser/data/json/Sina-scm-evolutionary.json b/browser/data/json/Sina-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Sina-scm-evolutionary.json rename to browser/data/json/Sina-scm-evolutionary.json diff --git a/browser/browser/data/json/Sina-scm-static.json b/browser/data/json/Sina-scm-static.json similarity index 100% rename from browser/browser/data/json/Sina-scm-static.json rename to browser/data/json/Sina-scm-static.json diff --git a/browser/browser/data/json/Sina-scm-top-authors.json b/browser/data/json/Sina-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Sina-scm-top-authors.json rename to browser/data/json/Sina-scm-top-authors.json diff --git a/browser/browser/data/json/Sina-scm-top-authors_2006.json b/browser/data/json/Sina-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Sina-scm-top-authors_2006.json rename to browser/data/json/Sina-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Sina-scm-top-authors_2009.json b/browser/data/json/Sina-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Sina-scm-top-authors_2009.json rename to browser/data/json/Sina-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Sina-scm-top-authors_2012.json b/browser/data/json/Sina-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Sina-scm-top-authors_2012.json rename to browser/data/json/Sina-scm-top-authors_2012.json diff --git a/browser/browser/data/json/SolidFire-its-evolutionary.json b/browser/data/json/SolidFire-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/SolidFire-its-evolutionary.json rename to browser/data/json/SolidFire-its-evolutionary.json diff --git a/browser/browser/data/json/SolidFire-its-static.json b/browser/data/json/SolidFire-its-static.json similarity index 100% rename from browser/browser/data/json/SolidFire-its-static.json rename to browser/data/json/SolidFire-its-static.json diff --git a/browser/browser/data/json/SolidFire-its-top-closers.json b/browser/data/json/SolidFire-its-top-closers.json similarity index 100% rename from browser/browser/data/json/SolidFire-its-top-closers.json rename to browser/data/json/SolidFire-its-top-closers.json diff --git a/browser/browser/data/json/SolidFire-mls-evolutionary.json b/browser/data/json/SolidFire-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/SolidFire-mls-evolutionary.json rename to browser/data/json/SolidFire-mls-evolutionary.json diff --git a/browser/browser/data/json/SolidFire-mls-static.json b/browser/data/json/SolidFire-mls-static.json similarity index 100% rename from browser/browser/data/json/SolidFire-mls-static.json rename to browser/data/json/SolidFire-mls-static.json diff --git a/browser/browser/data/json/SolidFire-mls-top-senders.json b/browser/data/json/SolidFire-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/SolidFire-mls-top-senders.json rename to browser/data/json/SolidFire-mls-top-senders.json diff --git a/browser/browser/data/json/SolidFire-scm-evolutionary.json b/browser/data/json/SolidFire-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/SolidFire-scm-evolutionary.json rename to browser/data/json/SolidFire-scm-evolutionary.json diff --git a/browser/browser/data/json/SolidFire-scm-static.json b/browser/data/json/SolidFire-scm-static.json similarity index 100% rename from browser/browser/data/json/SolidFire-scm-static.json rename to browser/data/json/SolidFire-scm-static.json diff --git a/browser/browser/data/json/SolidFire-scm-top-authors.json b/browser/data/json/SolidFire-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/SolidFire-scm-top-authors.json rename to browser/data/json/SolidFire-scm-top-authors.json diff --git a/browser/browser/data/json/SolidFire-scm-top-authors_2006.json b/browser/data/json/SolidFire-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/SolidFire-scm-top-authors_2006.json rename to browser/data/json/SolidFire-scm-top-authors_2006.json diff --git a/browser/browser/data/json/SolidFire-scm-top-authors_2009.json b/browser/data/json/SolidFire-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/SolidFire-scm-top-authors_2009.json rename to browser/data/json/SolidFire-scm-top-authors_2009.json diff --git a/browser/browser/data/json/SolidFire-scm-top-authors_2012.json b/browser/data/json/SolidFire-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/SolidFire-scm-top-authors_2012.json rename to browser/data/json/SolidFire-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Stackops-its-evolutionary.json b/browser/data/json/Stackops-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Stackops-its-evolutionary.json rename to browser/data/json/Stackops-its-evolutionary.json diff --git a/browser/browser/data/json/Stackops-its-static.json b/browser/data/json/Stackops-its-static.json similarity index 100% rename from browser/browser/data/json/Stackops-its-static.json rename to browser/data/json/Stackops-its-static.json diff --git a/browser/browser/data/json/Stackops-its-top-closers.json b/browser/data/json/Stackops-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Stackops-its-top-closers.json rename to browser/data/json/Stackops-its-top-closers.json diff --git a/browser/browser/data/json/Stackops-scm-evolutionary.json b/browser/data/json/Stackops-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Stackops-scm-evolutionary.json rename to browser/data/json/Stackops-scm-evolutionary.json diff --git a/browser/browser/data/json/Stackops-scm-static.json b/browser/data/json/Stackops-scm-static.json similarity index 100% rename from browser/browser/data/json/Stackops-scm-static.json rename to browser/data/json/Stackops-scm-static.json diff --git a/browser/browser/data/json/Stackops-scm-top-authors.json b/browser/data/json/Stackops-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Stackops-scm-top-authors.json rename to browser/data/json/Stackops-scm-top-authors.json diff --git a/browser/browser/data/json/Stackops-scm-top-authors_2006.json b/browser/data/json/Stackops-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Stackops-scm-top-authors_2006.json rename to browser/data/json/Stackops-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Stackops-scm-top-authors_2009.json b/browser/data/json/Stackops-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Stackops-scm-top-authors_2009.json rename to browser/data/json/Stackops-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Stackops-scm-top-authors_2012.json b/browser/data/json/Stackops-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Stackops-scm-top-authors_2012.json rename to browser/data/json/Stackops-scm-top-authors_2012.json diff --git a/browser/browser/data/json/SwiftStack-its-evolutionary.json b/browser/data/json/SwiftStack-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/SwiftStack-its-evolutionary.json rename to browser/data/json/SwiftStack-its-evolutionary.json diff --git a/browser/browser/data/json/SwiftStack-its-static.json b/browser/data/json/SwiftStack-its-static.json similarity index 100% rename from browser/browser/data/json/SwiftStack-its-static.json rename to browser/data/json/SwiftStack-its-static.json diff --git a/browser/browser/data/json/SwiftStack-its-top-closers.json b/browser/data/json/SwiftStack-its-top-closers.json similarity index 100% rename from browser/browser/data/json/SwiftStack-its-top-closers.json rename to browser/data/json/SwiftStack-its-top-closers.json diff --git a/browser/browser/data/json/SwiftStack-mls-evolutionary.json b/browser/data/json/SwiftStack-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/SwiftStack-mls-evolutionary.json rename to browser/data/json/SwiftStack-mls-evolutionary.json diff --git a/browser/browser/data/json/SwiftStack-mls-static.json b/browser/data/json/SwiftStack-mls-static.json similarity index 100% rename from browser/browser/data/json/SwiftStack-mls-static.json rename to browser/data/json/SwiftStack-mls-static.json diff --git a/browser/browser/data/json/SwiftStack-mls-top-senders.json b/browser/data/json/SwiftStack-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/SwiftStack-mls-top-senders.json rename to browser/data/json/SwiftStack-mls-top-senders.json diff --git a/browser/browser/data/json/SwiftStack-scm-evolutionary.json b/browser/data/json/SwiftStack-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/SwiftStack-scm-evolutionary.json rename to browser/data/json/SwiftStack-scm-evolutionary.json diff --git a/browser/browser/data/json/SwiftStack-scm-static.json b/browser/data/json/SwiftStack-scm-static.json similarity index 100% rename from browser/browser/data/json/SwiftStack-scm-static.json rename to browser/data/json/SwiftStack-scm-static.json diff --git a/browser/browser/data/json/SwiftStack-scm-top-authors.json b/browser/data/json/SwiftStack-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/SwiftStack-scm-top-authors.json rename to browser/data/json/SwiftStack-scm-top-authors.json diff --git a/browser/browser/data/json/SwiftStack-scm-top-authors_2006.json b/browser/data/json/SwiftStack-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/SwiftStack-scm-top-authors_2006.json rename to browser/data/json/SwiftStack-scm-top-authors_2006.json diff --git a/browser/browser/data/json/SwiftStack-scm-top-authors_2009.json b/browser/data/json/SwiftStack-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/SwiftStack-scm-top-authors_2009.json rename to browser/data/json/SwiftStack-scm-top-authors_2009.json diff --git a/browser/browser/data/json/SwiftStack-scm-top-authors_2012.json b/browser/data/json/SwiftStack-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/SwiftStack-scm-top-authors_2012.json rename to browser/data/json/SwiftStack-scm-top-authors_2012.json diff --git a/browser/browser/data/json/ThoughtWorks-its-evolutionary.json b/browser/data/json/ThoughtWorks-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-its-evolutionary.json rename to browser/data/json/ThoughtWorks-its-evolutionary.json diff --git a/browser/browser/data/json/ThoughtWorks-its-static.json b/browser/data/json/ThoughtWorks-its-static.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-its-static.json rename to browser/data/json/ThoughtWorks-its-static.json diff --git a/browser/browser/data/json/ThoughtWorks-its-top-closers.json b/browser/data/json/ThoughtWorks-its-top-closers.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-its-top-closers.json rename to browser/data/json/ThoughtWorks-its-top-closers.json diff --git a/browser/browser/data/json/ThoughtWorks-scm-evolutionary.json b/browser/data/json/ThoughtWorks-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-scm-evolutionary.json rename to browser/data/json/ThoughtWorks-scm-evolutionary.json diff --git a/browser/browser/data/json/ThoughtWorks-scm-static.json b/browser/data/json/ThoughtWorks-scm-static.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-scm-static.json rename to browser/data/json/ThoughtWorks-scm-static.json diff --git a/browser/browser/data/json/ThoughtWorks-scm-top-authors.json b/browser/data/json/ThoughtWorks-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-scm-top-authors.json rename to browser/data/json/ThoughtWorks-scm-top-authors.json diff --git a/browser/browser/data/json/ThoughtWorks-scm-top-authors_2006.json b/browser/data/json/ThoughtWorks-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-scm-top-authors_2006.json rename to browser/data/json/ThoughtWorks-scm-top-authors_2006.json diff --git a/browser/browser/data/json/ThoughtWorks-scm-top-authors_2009.json b/browser/data/json/ThoughtWorks-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-scm-top-authors_2009.json rename to browser/data/json/ThoughtWorks-scm-top-authors_2009.json diff --git a/browser/browser/data/json/ThoughtWorks-scm-top-authors_2012.json b/browser/data/json/ThoughtWorks-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/ThoughtWorks-scm-top-authors_2012.json rename to browser/data/json/ThoughtWorks-scm-top-authors_2012.json diff --git a/browser/browser/data/json/University of Melbourne-its-evolutionary.json b/browser/data/json/University of Melbourne-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-its-evolutionary.json rename to browser/data/json/University of Melbourne-its-evolutionary.json diff --git a/browser/browser/data/json/University of Melbourne-its-static.json b/browser/data/json/University of Melbourne-its-static.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-its-static.json rename to browser/data/json/University of Melbourne-its-static.json diff --git a/browser/browser/data/json/University of Melbourne-its-top-closers.json b/browser/data/json/University of Melbourne-its-top-closers.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-its-top-closers.json rename to browser/data/json/University of Melbourne-its-top-closers.json diff --git a/browser/browser/data/json/University of Melbourne-mls-evolutionary.json b/browser/data/json/University of Melbourne-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-mls-evolutionary.json rename to browser/data/json/University of Melbourne-mls-evolutionary.json diff --git a/browser/browser/data/json/University of Melbourne-mls-static.json b/browser/data/json/University of Melbourne-mls-static.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-mls-static.json rename to browser/data/json/University of Melbourne-mls-static.json diff --git a/browser/browser/data/json/University of Melbourne-mls-top-senders.json b/browser/data/json/University of Melbourne-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-mls-top-senders.json rename to browser/data/json/University of Melbourne-mls-top-senders.json diff --git a/browser/browser/data/json/University of Melbourne-scm-evolutionary.json b/browser/data/json/University of Melbourne-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-scm-evolutionary.json rename to browser/data/json/University of Melbourne-scm-evolutionary.json diff --git a/browser/browser/data/json/University of Melbourne-scm-static.json b/browser/data/json/University of Melbourne-scm-static.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-scm-static.json rename to browser/data/json/University of Melbourne-scm-static.json diff --git a/browser/browser/data/json/University of Melbourne-scm-top-authors.json b/browser/data/json/University of Melbourne-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-scm-top-authors.json rename to browser/data/json/University of Melbourne-scm-top-authors.json diff --git a/browser/browser/data/json/University of Melbourne-scm-top-authors_2006.json b/browser/data/json/University of Melbourne-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-scm-top-authors_2006.json rename to browser/data/json/University of Melbourne-scm-top-authors_2006.json diff --git a/browser/browser/data/json/University of Melbourne-scm-top-authors_2009.json b/browser/data/json/University of Melbourne-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-scm-top-authors_2009.json rename to browser/data/json/University of Melbourne-scm-top-authors_2009.json diff --git a/browser/browser/data/json/University of Melbourne-scm-top-authors_2012.json b/browser/data/json/University of Melbourne-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/University of Melbourne-scm-top-authors_2012.json rename to browser/data/json/University of Melbourne-scm-top-authors_2012.json diff --git a/browser/browser/data/json/VA Linux-its-evolutionary.json b/browser/data/json/VA Linux-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/VA Linux-its-evolutionary.json rename to browser/data/json/VA Linux-its-evolutionary.json diff --git a/browser/browser/data/json/VA Linux-its-static.json b/browser/data/json/VA Linux-its-static.json similarity index 100% rename from browser/browser/data/json/VA Linux-its-static.json rename to browser/data/json/VA Linux-its-static.json diff --git a/browser/browser/data/json/VA Linux-its-top-closers.json b/browser/data/json/VA Linux-its-top-closers.json similarity index 100% rename from browser/browser/data/json/VA Linux-its-top-closers.json rename to browser/data/json/VA Linux-its-top-closers.json diff --git a/browser/browser/data/json/VA Linux-mls-evolutionary.json b/browser/data/json/VA Linux-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/VA Linux-mls-evolutionary.json rename to browser/data/json/VA Linux-mls-evolutionary.json diff --git a/browser/browser/data/json/VA Linux-mls-static.json b/browser/data/json/VA Linux-mls-static.json similarity index 100% rename from browser/browser/data/json/VA Linux-mls-static.json rename to browser/data/json/VA Linux-mls-static.json diff --git a/browser/browser/data/json/VA Linux-mls-top-senders.json b/browser/data/json/VA Linux-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/VA Linux-mls-top-senders.json rename to browser/data/json/VA Linux-mls-top-senders.json diff --git a/browser/browser/data/json/VA Linux-scm-evolutionary.json b/browser/data/json/VA Linux-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/VA Linux-scm-evolutionary.json rename to browser/data/json/VA Linux-scm-evolutionary.json diff --git a/browser/browser/data/json/VA Linux-scm-static.json b/browser/data/json/VA Linux-scm-static.json similarity index 100% rename from browser/browser/data/json/VA Linux-scm-static.json rename to browser/data/json/VA Linux-scm-static.json diff --git a/browser/browser/data/json/VA Linux-scm-top-authors.json b/browser/data/json/VA Linux-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/VA Linux-scm-top-authors.json rename to browser/data/json/VA Linux-scm-top-authors.json diff --git a/browser/browser/data/json/VA Linux-scm-top-authors_2006.json b/browser/data/json/VA Linux-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/VA Linux-scm-top-authors_2006.json rename to browser/data/json/VA Linux-scm-top-authors_2006.json diff --git a/browser/browser/data/json/VA Linux-scm-top-authors_2009.json b/browser/data/json/VA Linux-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/VA Linux-scm-top-authors_2009.json rename to browser/data/json/VA Linux-scm-top-authors_2009.json diff --git a/browser/browser/data/json/VA Linux-scm-top-authors_2012.json b/browser/data/json/VA Linux-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/VA Linux-scm-top-authors_2012.json rename to browser/data/json/VA Linux-scm-top-authors_2012.json diff --git a/browser/browser/data/json/VMware-its-evolutionary.json b/browser/data/json/VMware-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/VMware-its-evolutionary.json rename to browser/data/json/VMware-its-evolutionary.json diff --git a/browser/browser/data/json/VMware-its-static.json b/browser/data/json/VMware-its-static.json similarity index 100% rename from browser/browser/data/json/VMware-its-static.json rename to browser/data/json/VMware-its-static.json diff --git a/browser/browser/data/json/VMware-its-top-closers.json b/browser/data/json/VMware-its-top-closers.json similarity index 100% rename from browser/browser/data/json/VMware-its-top-closers.json rename to browser/data/json/VMware-its-top-closers.json diff --git a/browser/browser/data/json/VMware-mls-evolutionary.json b/browser/data/json/VMware-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/VMware-mls-evolutionary.json rename to browser/data/json/VMware-mls-evolutionary.json diff --git a/browser/browser/data/json/VMware-mls-static.json b/browser/data/json/VMware-mls-static.json similarity index 100% rename from browser/browser/data/json/VMware-mls-static.json rename to browser/data/json/VMware-mls-static.json diff --git a/browser/browser/data/json/VMware-mls-top-senders.json b/browser/data/json/VMware-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/VMware-mls-top-senders.json rename to browser/data/json/VMware-mls-top-senders.json diff --git a/browser/browser/data/json/VMware-scm-evolutionary.json b/browser/data/json/VMware-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/VMware-scm-evolutionary.json rename to browser/data/json/VMware-scm-evolutionary.json diff --git a/browser/browser/data/json/VMware-scm-static.json b/browser/data/json/VMware-scm-static.json similarity index 100% rename from browser/browser/data/json/VMware-scm-static.json rename to browser/data/json/VMware-scm-static.json diff --git a/browser/browser/data/json/VMware-scm-top-authors.json b/browser/data/json/VMware-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/VMware-scm-top-authors.json rename to browser/data/json/VMware-scm-top-authors.json diff --git a/browser/browser/data/json/VMware-scm-top-authors_2006.json b/browser/data/json/VMware-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/VMware-scm-top-authors_2006.json rename to browser/data/json/VMware-scm-top-authors_2006.json diff --git a/browser/browser/data/json/VMware-scm-top-authors_2009.json b/browser/data/json/VMware-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/VMware-scm-top-authors_2009.json rename to browser/data/json/VMware-scm-top-authors_2009.json diff --git a/browser/browser/data/json/VMware-scm-top-authors_2012.json b/browser/data/json/VMware-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/VMware-scm-top-authors_2012.json rename to browser/data/json/VMware-scm-top-authors_2012.json diff --git a/browser/browser/data/json/VexxHost-its-evolutionary.json b/browser/data/json/VexxHost-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/VexxHost-its-evolutionary.json rename to browser/data/json/VexxHost-its-evolutionary.json diff --git a/browser/browser/data/json/VexxHost-its-static.json b/browser/data/json/VexxHost-its-static.json similarity index 100% rename from browser/browser/data/json/VexxHost-its-static.json rename to browser/data/json/VexxHost-its-static.json diff --git a/browser/browser/data/json/VexxHost-its-top-closers.json b/browser/data/json/VexxHost-its-top-closers.json similarity index 100% rename from browser/browser/data/json/VexxHost-its-top-closers.json rename to browser/data/json/VexxHost-its-top-closers.json diff --git a/browser/browser/data/json/VexxHost-scm-evolutionary.json b/browser/data/json/VexxHost-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/VexxHost-scm-evolutionary.json rename to browser/data/json/VexxHost-scm-evolutionary.json diff --git a/browser/browser/data/json/VexxHost-scm-static.json b/browser/data/json/VexxHost-scm-static.json similarity index 100% rename from browser/browser/data/json/VexxHost-scm-static.json rename to browser/data/json/VexxHost-scm-static.json diff --git a/browser/browser/data/json/VexxHost-scm-top-authors.json b/browser/data/json/VexxHost-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/VexxHost-scm-top-authors.json rename to browser/data/json/VexxHost-scm-top-authors.json diff --git a/browser/browser/data/json/VexxHost-scm-top-authors_2006.json b/browser/data/json/VexxHost-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/VexxHost-scm-top-authors_2006.json rename to browser/data/json/VexxHost-scm-top-authors_2006.json diff --git a/browser/browser/data/json/VexxHost-scm-top-authors_2009.json b/browser/data/json/VexxHost-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/VexxHost-scm-top-authors_2009.json rename to browser/data/json/VexxHost-scm-top-authors_2009.json diff --git a/browser/browser/data/json/VexxHost-scm-top-authors_2012.json b/browser/data/json/VexxHost-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/VexxHost-scm-top-authors_2012.json rename to browser/data/json/VexxHost-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Wikimedia Foundation-its-evolutionary.json b/browser/data/json/Wikimedia Foundation-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-its-evolutionary.json rename to browser/data/json/Wikimedia Foundation-its-evolutionary.json diff --git a/browser/browser/data/json/Wikimedia Foundation-its-static.json b/browser/data/json/Wikimedia Foundation-its-static.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-its-static.json rename to browser/data/json/Wikimedia Foundation-its-static.json diff --git a/browser/browser/data/json/Wikimedia Foundation-its-top-closers.json b/browser/data/json/Wikimedia Foundation-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-its-top-closers.json rename to browser/data/json/Wikimedia Foundation-its-top-closers.json diff --git a/browser/browser/data/json/Wikimedia Foundation-mls-evolutionary.json b/browser/data/json/Wikimedia Foundation-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-mls-evolutionary.json rename to browser/data/json/Wikimedia Foundation-mls-evolutionary.json diff --git a/browser/browser/data/json/Wikimedia Foundation-mls-static.json b/browser/data/json/Wikimedia Foundation-mls-static.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-mls-static.json rename to browser/data/json/Wikimedia Foundation-mls-static.json diff --git a/browser/browser/data/json/Wikimedia Foundation-mls-top-senders.json b/browser/data/json/Wikimedia Foundation-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-mls-top-senders.json rename to browser/data/json/Wikimedia Foundation-mls-top-senders.json diff --git a/browser/browser/data/json/Wikimedia Foundation-scm-evolutionary.json b/browser/data/json/Wikimedia Foundation-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-scm-evolutionary.json rename to browser/data/json/Wikimedia Foundation-scm-evolutionary.json diff --git a/browser/browser/data/json/Wikimedia Foundation-scm-static.json b/browser/data/json/Wikimedia Foundation-scm-static.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-scm-static.json rename to browser/data/json/Wikimedia Foundation-scm-static.json diff --git a/browser/browser/data/json/Wikimedia Foundation-scm-top-authors.json b/browser/data/json/Wikimedia Foundation-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-scm-top-authors.json rename to browser/data/json/Wikimedia Foundation-scm-top-authors.json diff --git a/browser/browser/data/json/Wikimedia Foundation-scm-top-authors_2006.json b/browser/data/json/Wikimedia Foundation-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-scm-top-authors_2006.json rename to browser/data/json/Wikimedia Foundation-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Wikimedia Foundation-scm-top-authors_2009.json b/browser/data/json/Wikimedia Foundation-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-scm-top-authors_2009.json rename to browser/data/json/Wikimedia Foundation-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Wikimedia Foundation-scm-top-authors_2012.json b/browser/data/json/Wikimedia Foundation-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Wikimedia Foundation-scm-top-authors_2012.json rename to browser/data/json/Wikimedia Foundation-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Yahoo!-its-evolutionary.json b/browser/data/json/Yahoo!-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Yahoo!-its-evolutionary.json rename to browser/data/json/Yahoo!-its-evolutionary.json diff --git a/browser/browser/data/json/Yahoo!-its-static.json b/browser/data/json/Yahoo!-its-static.json similarity index 100% rename from browser/browser/data/json/Yahoo!-its-static.json rename to browser/data/json/Yahoo!-its-static.json diff --git a/browser/browser/data/json/Yahoo!-its-top-closers.json b/browser/data/json/Yahoo!-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Yahoo!-its-top-closers.json rename to browser/data/json/Yahoo!-its-top-closers.json diff --git a/browser/browser/data/json/Yahoo!-mls-evolutionary.json b/browser/data/json/Yahoo!-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Yahoo!-mls-evolutionary.json rename to browser/data/json/Yahoo!-mls-evolutionary.json diff --git a/browser/browser/data/json/Yahoo!-mls-static.json b/browser/data/json/Yahoo!-mls-static.json similarity index 100% rename from browser/browser/data/json/Yahoo!-mls-static.json rename to browser/data/json/Yahoo!-mls-static.json diff --git a/browser/browser/data/json/Yahoo!-mls-top-senders.json b/browser/data/json/Yahoo!-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Yahoo!-mls-top-senders.json rename to browser/data/json/Yahoo!-mls-top-senders.json diff --git a/browser/browser/data/json/Yahoo!-scm-evolutionary.json b/browser/data/json/Yahoo!-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Yahoo!-scm-evolutionary.json rename to browser/data/json/Yahoo!-scm-evolutionary.json diff --git a/browser/browser/data/json/Yahoo!-scm-static.json b/browser/data/json/Yahoo!-scm-static.json similarity index 100% rename from browser/browser/data/json/Yahoo!-scm-static.json rename to browser/data/json/Yahoo!-scm-static.json diff --git a/browser/browser/data/json/Yahoo!-scm-top-authors.json b/browser/data/json/Yahoo!-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Yahoo!-scm-top-authors.json rename to browser/data/json/Yahoo!-scm-top-authors.json diff --git a/browser/browser/data/json/Yahoo!-scm-top-authors_2006.json b/browser/data/json/Yahoo!-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Yahoo!-scm-top-authors_2006.json rename to browser/data/json/Yahoo!-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Yahoo!-scm-top-authors_2009.json b/browser/data/json/Yahoo!-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Yahoo!-scm-top-authors_2009.json rename to browser/data/json/Yahoo!-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Yahoo!-scm-top-authors_2012.json b/browser/data/json/Yahoo!-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Yahoo!-scm-top-authors_2012.json rename to browser/data/json/Yahoo!-scm-top-authors_2012.json diff --git a/browser/browser/data/json/Zadara Storage-its-evolutionary.json b/browser/data/json/Zadara Storage-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-its-evolutionary.json rename to browser/data/json/Zadara Storage-its-evolutionary.json diff --git a/browser/browser/data/json/Zadara Storage-its-static.json b/browser/data/json/Zadara Storage-its-static.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-its-static.json rename to browser/data/json/Zadara Storage-its-static.json diff --git a/browser/browser/data/json/Zadara Storage-its-top-closers.json b/browser/data/json/Zadara Storage-its-top-closers.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-its-top-closers.json rename to browser/data/json/Zadara Storage-its-top-closers.json diff --git a/browser/browser/data/json/Zadara Storage-mls-evolutionary.json b/browser/data/json/Zadara Storage-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-mls-evolutionary.json rename to browser/data/json/Zadara Storage-mls-evolutionary.json diff --git a/browser/browser/data/json/Zadara Storage-mls-static.json b/browser/data/json/Zadara Storage-mls-static.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-mls-static.json rename to browser/data/json/Zadara Storage-mls-static.json diff --git a/browser/browser/data/json/Zadara Storage-mls-top-senders.json b/browser/data/json/Zadara Storage-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-mls-top-senders.json rename to browser/data/json/Zadara Storage-mls-top-senders.json diff --git a/browser/browser/data/json/Zadara Storage-scm-evolutionary.json b/browser/data/json/Zadara Storage-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-scm-evolutionary.json rename to browser/data/json/Zadara Storage-scm-evolutionary.json diff --git a/browser/browser/data/json/Zadara Storage-scm-static.json b/browser/data/json/Zadara Storage-scm-static.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-scm-static.json rename to browser/data/json/Zadara Storage-scm-static.json diff --git a/browser/browser/data/json/Zadara Storage-scm-top-authors.json b/browser/data/json/Zadara Storage-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-scm-top-authors.json rename to browser/data/json/Zadara Storage-scm-top-authors.json diff --git a/browser/browser/data/json/Zadara Storage-scm-top-authors_2006.json b/browser/data/json/Zadara Storage-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-scm-top-authors_2006.json rename to browser/data/json/Zadara Storage-scm-top-authors_2006.json diff --git a/browser/browser/data/json/Zadara Storage-scm-top-authors_2009.json b/browser/data/json/Zadara Storage-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-scm-top-authors_2009.json rename to browser/data/json/Zadara Storage-scm-top-authors_2009.json diff --git a/browser/browser/data/json/Zadara Storage-scm-top-authors_2012.json b/browser/data/json/Zadara Storage-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/Zadara Storage-scm-top-authors_2012.json rename to browser/data/json/Zadara Storage-scm-top-authors_2012.json diff --git a/browser/browser/data/json/api-site.git-scm-evolutionary.json b/browser/data/json/api-site.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/api-site.git-scm-evolutionary.json rename to browser/data/json/api-site.git-scm-evolutionary.json diff --git a/browser/browser/data/json/api-site.git-scm-static.json b/browser/data/json/api-site.git-scm-static.json similarity index 100% rename from browser/browser/data/json/api-site.git-scm-static.json rename to browser/data/json/api-site.git-scm-static.json diff --git a/browser/browser/data/json/askbot-theme.git-scm-evolutionary.json b/browser/data/json/askbot-theme.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/askbot-theme.git-scm-evolutionary.json rename to browser/data/json/askbot-theme.git-scm-evolutionary.json diff --git a/browser/browser/data/json/askbot-theme.git-scm-static.json b/browser/data/json/askbot-theme.git-scm-static.json similarity index 100% rename from browser/browser/data/json/askbot-theme.git-scm-static.json rename to browser/data/json/askbot-theme.git-scm-static.json diff --git a/browser/browser/data/json/ceilometer.git-scm-evolutionary.json b/browser/data/json/ceilometer.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/ceilometer.git-scm-evolutionary.json rename to browser/data/json/ceilometer.git-scm-evolutionary.json diff --git a/browser/browser/data/json/ceilometer.git-scm-static.json b/browser/data/json/ceilometer.git-scm-static.json similarity index 100% rename from browser/browser/data/json/ceilometer.git-scm-static.json rename to browser/data/json/ceilometer.git-scm-static.json diff --git a/browser/browser/data/json/cinder.git-scm-evolutionary.json b/browser/data/json/cinder.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/cinder.git-scm-evolutionary.json rename to browser/data/json/cinder.git-scm-evolutionary.json diff --git a/browser/browser/data/json/cinder.git-scm-static.json b/browser/data/json/cinder.git-scm-static.json similarity index 100% rename from browser/browser/data/json/cinder.git-scm-static.json rename to browser/data/json/cinder.git-scm-static.json diff --git a/browser/browser/data/json/compute-api.git-scm-evolutionary.json b/browser/data/json/compute-api.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/compute-api.git-scm-evolutionary.json rename to browser/data/json/compute-api.git-scm-evolutionary.json diff --git a/browser/browser/data/json/compute-api.git-scm-static.json b/browser/data/json/compute-api.git-scm-static.json similarity index 100% rename from browser/browser/data/json/compute-api.git-scm-static.json rename to browser/data/json/compute-api.git-scm-static.json diff --git a/browser/browser/data/json/config.git-scm-evolutionary.json b/browser/data/json/config.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/config.git-scm-evolutionary.json rename to browser/data/json/config.git-scm-evolutionary.json diff --git a/browser/browser/data/json/config.git-scm-static.json b/browser/data/json/config.git-scm-static.json similarity index 100% rename from browser/browser/data/json/config.git-scm-static.json rename to browser/data/json/config.git-scm-static.json diff --git a/browser/browser/data/json/devstack-gate.git-scm-evolutionary.json b/browser/data/json/devstack-gate.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/devstack-gate.git-scm-evolutionary.json rename to browser/data/json/devstack-gate.git-scm-evolutionary.json diff --git a/browser/browser/data/json/devstack-gate.git-scm-static.json b/browser/data/json/devstack-gate.git-scm-static.json similarity index 100% rename from browser/browser/data/json/devstack-gate.git-scm-static.json rename to browser/data/json/devstack-gate.git-scm-static.json diff --git a/browser/browser/data/json/eNovance-its-evolutionary.json b/browser/data/json/eNovance-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/eNovance-its-evolutionary.json rename to browser/data/json/eNovance-its-evolutionary.json diff --git a/browser/browser/data/json/eNovance-its-static.json b/browser/data/json/eNovance-its-static.json similarity index 100% rename from browser/browser/data/json/eNovance-its-static.json rename to browser/data/json/eNovance-its-static.json diff --git a/browser/browser/data/json/eNovance-its-top-closers.json b/browser/data/json/eNovance-its-top-closers.json similarity index 100% rename from browser/browser/data/json/eNovance-its-top-closers.json rename to browser/data/json/eNovance-its-top-closers.json diff --git a/browser/browser/data/json/eNovance-mls-evolutionary.json b/browser/data/json/eNovance-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/eNovance-mls-evolutionary.json rename to browser/data/json/eNovance-mls-evolutionary.json diff --git a/browser/browser/data/json/eNovance-mls-static.json b/browser/data/json/eNovance-mls-static.json similarity index 100% rename from browser/browser/data/json/eNovance-mls-static.json rename to browser/data/json/eNovance-mls-static.json diff --git a/browser/browser/data/json/eNovance-mls-top-senders.json b/browser/data/json/eNovance-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/eNovance-mls-top-senders.json rename to browser/data/json/eNovance-mls-top-senders.json diff --git a/browser/browser/data/json/eNovance-scm-evolutionary.json b/browser/data/json/eNovance-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/eNovance-scm-evolutionary.json rename to browser/data/json/eNovance-scm-evolutionary.json diff --git a/browser/browser/data/json/eNovance-scm-static.json b/browser/data/json/eNovance-scm-static.json similarity index 100% rename from browser/browser/data/json/eNovance-scm-static.json rename to browser/data/json/eNovance-scm-static.json diff --git a/browser/browser/data/json/eNovance-scm-top-authors.json b/browser/data/json/eNovance-scm-top-authors.json similarity index 100% rename from browser/browser/data/json/eNovance-scm-top-authors.json rename to browser/data/json/eNovance-scm-top-authors.json diff --git a/browser/browser/data/json/eNovance-scm-top-authors_2006.json b/browser/data/json/eNovance-scm-top-authors_2006.json similarity index 100% rename from browser/browser/data/json/eNovance-scm-top-authors_2006.json rename to browser/data/json/eNovance-scm-top-authors_2006.json diff --git a/browser/browser/data/json/eNovance-scm-top-authors_2009.json b/browser/data/json/eNovance-scm-top-authors_2009.json similarity index 100% rename from browser/browser/data/json/eNovance-scm-top-authors_2009.json rename to browser/data/json/eNovance-scm-top-authors_2009.json diff --git a/browser/browser/data/json/eNovance-scm-top-authors_2012.json b/browser/data/json/eNovance-scm-top-authors_2012.json similarity index 100% rename from browser/browser/data/json/eNovance-scm-top-authors_2012.json rename to browser/data/json/eNovance-scm-top-authors_2012.json diff --git a/browser/browser/data/json/gear.git-scm-evolutionary.json b/browser/data/json/gear.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/gear.git-scm-evolutionary.json rename to browser/data/json/gear.git-scm-evolutionary.json diff --git a/browser/browser/data/json/gear.git-scm-static.json b/browser/data/json/gear.git-scm-static.json similarity index 100% rename from browser/browser/data/json/gear.git-scm-static.json rename to browser/data/json/gear.git-scm-static.json diff --git a/browser/browser/data/json/gearman-plugin.git-scm-evolutionary.json b/browser/data/json/gearman-plugin.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/gearman-plugin.git-scm-evolutionary.json rename to browser/data/json/gearman-plugin.git-scm-evolutionary.json diff --git a/browser/browser/data/json/gearman-plugin.git-scm-static.json b/browser/data/json/gearman-plugin.git-scm-static.json similarity index 100% rename from browser/browser/data/json/gearman-plugin.git-scm-static.json rename to browser/data/json/gearman-plugin.git-scm-static.json diff --git a/browser/browser/data/json/gerritbot.git-scm-evolutionary.json b/browser/data/json/gerritbot.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/gerritbot.git-scm-evolutionary.json rename to browser/data/json/gerritbot.git-scm-evolutionary.json diff --git a/browser/browser/data/json/gerritbot.git-scm-static.json b/browser/data/json/gerritbot.git-scm-static.json similarity index 100% rename from browser/browser/data/json/gerritbot.git-scm-static.json rename to browser/data/json/gerritbot.git-scm-static.json diff --git a/browser/browser/data/json/gerritlib.git-scm-evolutionary.json b/browser/data/json/gerritlib.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/gerritlib.git-scm-evolutionary.json rename to browser/data/json/gerritlib.git-scm-evolutionary.json diff --git a/browser/browser/data/json/gerritlib.git-scm-static.json b/browser/data/json/gerritlib.git-scm-static.json similarity index 100% rename from browser/browser/data/json/gerritlib.git-scm-static.json rename to browser/data/json/gerritlib.git-scm-static.json diff --git a/browser/browser/data/json/git-review.git-scm-evolutionary.json b/browser/data/json/git-review.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/git-review.git-scm-evolutionary.json rename to browser/data/json/git-review.git-scm-evolutionary.json diff --git a/browser/browser/data/json/git-review.git-scm-static.json b/browser/data/json/git-review.git-scm-static.json similarity index 100% rename from browser/browser/data/json/git-review.git-scm-static.json rename to browser/data/json/git-review.git-scm-static.json diff --git a/browser/browser/data/json/glance.git-scm-evolutionary.json b/browser/data/json/glance.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/glance.git-scm-evolutionary.json rename to browser/data/json/glance.git-scm-evolutionary.json diff --git a/browser/browser/data/json/glance.git-scm-static.json b/browser/data/json/glance.git-scm-static.json similarity index 100% rename from browser/browser/data/json/glance.git-scm-static.json rename to browser/data/json/glance.git-scm-static.json diff --git a/browser/browser/data/json/heat.git-scm-evolutionary.json b/browser/data/json/heat.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/heat.git-scm-evolutionary.json rename to browser/data/json/heat.git-scm-evolutionary.json diff --git a/browser/browser/data/json/heat.git-scm-static.json b/browser/data/json/heat.git-scm-static.json similarity index 100% rename from browser/browser/data/json/heat.git-scm-static.json rename to browser/data/json/heat.git-scm-static.json diff --git a/browser/browser/data/json/horizon.git-scm-evolutionary.json b/browser/data/json/horizon.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/horizon.git-scm-evolutionary.json rename to browser/data/json/horizon.git-scm-evolutionary.json diff --git a/browser/browser/data/json/horizon.git-scm-static.json b/browser/data/json/horizon.git-scm-static.json similarity index 100% rename from browser/browser/data/json/horizon.git-scm-static.json rename to browser/data/json/horizon.git-scm-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_community_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_community_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_community_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_community_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_fits_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_fits_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_fits_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_fits_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_foundation_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_foundation_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_foundation_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-announce_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-dev_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-docs_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-hpc_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-infra_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-operators_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-qa_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_openstack-tc_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_transparency_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_transparency_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_transparency_-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-evolutionary.json b/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-evolutionary.json rename to browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-evolutionary.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-static.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-top-senders.json b/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-top-senders.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-top-senders.json rename to browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-mls-top-senders.json diff --git a/browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-static.json b/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-static.json similarity index 100% rename from browser/browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-static.json rename to browser/data/json/http:__lists.openstack.org_pipermail_user-committee_-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_anvil-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_anvil-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_anvil-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_anvil-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_anvil-its-static.json b/browser/data/json/https:__bugs.launchpad.net_anvil-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_anvil-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_anvil-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_ceilometer-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_ceilometer-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_ceilometer-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_ceilometer-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_ceilometer-its-static.json b/browser/data/json/https:__bugs.launchpad.net_ceilometer-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_ceilometer-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_ceilometer-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_cinder-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_cinder-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_cinder-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_cinder-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_cinder-its-static.json b/browser/data/json/https:__bugs.launchpad.net_cinder-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_cinder-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_cinder-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-static.json b/browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_cloudkeep-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_designate-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_designate-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_designate-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_designate-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_designate-its-static.json b/browser/data/json/https:__bugs.launchpad.net_designate-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_designate-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_designate-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_devstack-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_devstack-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_devstack-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_devstack-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_devstack-its-static.json b/browser/data/json/https:__bugs.launchpad.net_devstack-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_devstack-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_devstack-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_glance-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_glance-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_glance-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_glance-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_glance-its-static.json b/browser/data/json/https:__bugs.launchpad.net_glance-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_glance-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_glance-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_hacking-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_hacking-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_hacking-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_hacking-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_hacking-its-static.json b/browser/data/json/https:__bugs.launchpad.net_hacking-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_hacking-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_hacking-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-static.json b/browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_heat-cfntools-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_heat-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_heat-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_heat-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_heat-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_heat-its-static.json b/browser/data/json/https:__bugs.launchpad.net_heat-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_heat-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_heat-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_heat-templates-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_heat-templates-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_heat-templates-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_heat-templates-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_heat-templates-its-static.json b/browser/data/json/https:__bugs.launchpad.net_heat-templates-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_heat-templates-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_heat-templates-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_horizon-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_horizon-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_horizon-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_horizon-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_horizon-its-static.json b/browser/data/json/https:__bugs.launchpad.net_horizon-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_horizon-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_horizon-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_ironic-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_ironic-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_ironic-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_ironic-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_ironic-its-static.json b/browser/data/json/https:__bugs.launchpad.net_ironic-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_ironic-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_ironic-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_keystone-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_keystone-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_keystone-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_keystone-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_keystone-its-static.json b/browser/data/json/https:__bugs.launchpad.net_keystone-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_keystone-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_keystone-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_libra-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_libra-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_libra-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_libra-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_libra-its-static.json b/browser/data/json/https:__bugs.launchpad.net_libra-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_libra-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_libra-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_marconi-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_marconi-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_marconi-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_marconi-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_marconi-its-static.json b/browser/data/json/https:__bugs.launchpad.net_marconi-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_marconi-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_marconi-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_melange-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_melange-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_melange-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_melange-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_melange-its-static.json b/browser/data/json/https:__bugs.launchpad.net_melange-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_melange-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_melange-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_moniker-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_moniker-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_moniker-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_moniker-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_moniker-its-static.json b/browser/data/json/https:__bugs.launchpad.net_moniker-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_moniker-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_moniker-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_neutron-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_neutron-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_neutron-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_neutron-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_neutron-its-static.json b/browser/data/json/https:__bugs.launchpad.net_neutron-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_neutron-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_neutron-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_nova-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_nova-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_nova-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_nova-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_nova-its-static.json b/browser/data/json/https:__bugs.launchpad.net_nova-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_nova-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_nova-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-static.json b/browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-ci-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-common-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_openstack-common-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-common-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-common-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-common-its-static.json b/browser/data/json/https:__bugs.launchpad.net_openstack-common-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-common-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-common-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_openstack-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-its-static.json b/browser/data/json/https:__bugs.launchpad.net_openstack-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-static.json b/browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-manuals-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-org-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_openstack-org-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-org-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-org-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-org-its-static.json b/browser/data/json/https:__bugs.launchpad.net_openstack-org-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-org-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-org-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-static.json b/browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_openstack-qa-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_oslo-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_oslo-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_oslo-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_oslo-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_oslo-its-static.json b/browser/data/json/https:__bugs.launchpad.net_oslo-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_oslo-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_oslo-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_ossa-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_ossa-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_ossa-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_ossa-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_ossa-its-static.json b/browser/data/json/https:__bugs.launchpad.net_ossa-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_ossa-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_ossa-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-ceilometerclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-cinderclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-glanceclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-heatclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-keystoneclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-marconiclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-neutronclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-novaclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-quantumclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-static.json b/browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_python-swiftclient-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_quantum-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_quantum-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_quantum-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_quantum-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_quantum-its-static.json b/browser/data/json/https:__bugs.launchpad.net_quantum-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_quantum-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_quantum-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_swift-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_swift-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_swift-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_swift-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_swift-its-static.json b/browser/data/json/https:__bugs.launchpad.net_swift-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_swift-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_swift-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_synaps-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_synaps-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_synaps-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_synaps-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_synaps-its-static.json b/browser/data/json/https:__bugs.launchpad.net_synaps-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_synaps-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_synaps-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_taskflow-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_taskflow-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_taskflow-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_taskflow-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_taskflow-its-static.json b/browser/data/json/https:__bugs.launchpad.net_taskflow-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_taskflow-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_taskflow-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_tempest-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_tempest-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_tempest-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_tempest-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_tempest-its-static.json b/browser/data/json/https:__bugs.launchpad.net_tempest-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_tempest-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_tempest-its-static.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_trove-its-evolutionary.json b/browser/data/json/https:__bugs.launchpad.net_trove-its-evolutionary.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_trove-its-evolutionary.json rename to browser/data/json/https:__bugs.launchpad.net_trove-its-evolutionary.json diff --git a/browser/browser/data/json/https:__bugs.launchpad.net_trove-its-static.json b/browser/data/json/https:__bugs.launchpad.net_trove-its-static.json similarity index 100% rename from browser/browser/data/json/https:__bugs.launchpad.net_trove-its-static.json rename to browser/data/json/https:__bugs.launchpad.net_trove-its-static.json diff --git a/browser/browser/data/json/identity-api.git-scm-evolutionary.json b/browser/data/json/identity-api.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/identity-api.git-scm-evolutionary.json rename to browser/data/json/identity-api.git-scm-evolutionary.json diff --git a/browser/browser/data/json/identity-api.git-scm-static.json b/browser/data/json/identity-api.git-scm-static.json similarity index 100% rename from browser/browser/data/json/identity-api.git-scm-static.json rename to browser/data/json/identity-api.git-scm-static.json diff --git a/browser/browser/data/json/image-api.git-scm-evolutionary.json b/browser/data/json/image-api.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/image-api.git-scm-evolutionary.json rename to browser/data/json/image-api.git-scm-evolutionary.json diff --git a/browser/browser/data/json/image-api.git-scm-static.json b/browser/data/json/image-api.git-scm-static.json similarity index 100% rename from browser/browser/data/json/image-api.git-scm-static.json rename to browser/data/json/image-api.git-scm-static.json diff --git a/browser/browser/data/json/its-companies.json b/browser/data/json/its-companies.json similarity index 100% rename from browser/browser/data/json/its-companies.json rename to browser/data/json/its-companies.json diff --git a/browser/browser/data/json/its-demographics-aging.json b/browser/data/json/its-demographics-aging.json similarity index 100% rename from browser/browser/data/json/its-demographics-aging.json rename to browser/data/json/its-demographics-aging.json diff --git a/browser/browser/data/json/its-demographics-birth.json b/browser/data/json/its-demographics-birth.json similarity index 100% rename from browser/browser/data/json/its-demographics-birth.json rename to browser/data/json/its-demographics-birth.json diff --git a/browser/browser/data/json/its-evolutionary.json b/browser/data/json/its-evolutionary.json similarity index 100% rename from browser/browser/data/json/its-evolutionary.json rename to browser/data/json/its-evolutionary.json diff --git a/browser/browser/data/json/its-people.json b/browser/data/json/its-people.json similarity index 100% rename from browser/browser/data/json/its-people.json rename to browser/data/json/its-people.json diff --git a/browser/browser/data/json/its-quantiles-month-time_to_fix_hour.json b/browser/data/json/its-quantiles-month-time_to_fix_hour.json similarity index 100% rename from browser/browser/data/json/its-quantiles-month-time_to_fix_hour.json rename to browser/data/json/its-quantiles-month-time_to_fix_hour.json diff --git a/browser/browser/data/json/its-quantiles-year-time_to_attention_min.json b/browser/data/json/its-quantiles-year-time_to_attention_min.json similarity index 100% rename from browser/browser/data/json/its-quantiles-year-time_to_attention_min.json rename to browser/data/json/its-quantiles-year-time_to_attention_min.json diff --git a/browser/browser/data/json/its-quantiles-year-time_to_fix_min.json b/browser/data/json/its-quantiles-year-time_to_fix_min.json similarity index 100% rename from browser/browser/data/json/its-quantiles-year-time_to_fix_min.json rename to browser/data/json/its-quantiles-year-time_to_fix_min.json diff --git a/browser/browser/data/json/its-repos.json b/browser/data/json/its-repos.json similarity index 100% rename from browser/browser/data/json/its-repos.json rename to browser/data/json/its-repos.json diff --git a/browser/browser/data/json/its-static.json b/browser/data/json/its-static.json similarity index 100% rename from browser/browser/data/json/its-static.json rename to browser/data/json/its-static.json diff --git a/browser/browser/data/json/its-top.json b/browser/data/json/its-top.json similarity index 100% rename from browser/browser/data/json/its-top.json rename to browser/data/json/its-top.json diff --git a/browser/browser/data/json/jeepyb.git-scm-evolutionary.json b/browser/data/json/jeepyb.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/jeepyb.git-scm-evolutionary.json rename to browser/data/json/jeepyb.git-scm-evolutionary.json diff --git a/browser/browser/data/json/jeepyb.git-scm-static.json b/browser/data/json/jeepyb.git-scm-static.json similarity index 100% rename from browser/browser/data/json/jeepyb.git-scm-static.json rename to browser/data/json/jeepyb.git-scm-static.json diff --git a/browser/browser/data/json/jenkins-job-builder.git-scm-evolutionary.json b/browser/data/json/jenkins-job-builder.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/jenkins-job-builder.git-scm-evolutionary.json rename to browser/data/json/jenkins-job-builder.git-scm-evolutionary.json diff --git a/browser/browser/data/json/jenkins-job-builder.git-scm-static.json b/browser/data/json/jenkins-job-builder.git-scm-static.json similarity index 100% rename from browser/browser/data/json/jenkins-job-builder.git-scm-static.json rename to browser/data/json/jenkins-job-builder.git-scm-static.json diff --git a/browser/browser/data/json/keystone.git-scm-evolutionary.json b/browser/data/json/keystone.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/keystone.git-scm-evolutionary.json rename to browser/data/json/keystone.git-scm-evolutionary.json diff --git a/browser/browser/data/json/keystone.git-scm-static.json b/browser/data/json/keystone.git-scm-static.json similarity index 100% rename from browser/browser/data/json/keystone.git-scm-static.json rename to browser/data/json/keystone.git-scm-static.json diff --git a/browser/browser/data/json/melange.git-scm-evolutionary.json b/browser/data/json/melange.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/melange.git-scm-evolutionary.json rename to browser/data/json/melange.git-scm-evolutionary.json diff --git a/browser/browser/data/json/melange.git-scm-static.json b/browser/data/json/melange.git-scm-static.json similarity index 100% rename from browser/browser/data/json/melange.git-scm-static.json rename to browser/data/json/melange.git-scm-static.json diff --git a/browser/browser/data/json/mls-companies.json b/browser/data/json/mls-companies.json similarity index 100% rename from browser/browser/data/json/mls-companies.json rename to browser/data/json/mls-companies.json diff --git a/browser/browser/data/json/mls-demographics-aging.json b/browser/data/json/mls-demographics-aging.json similarity index 100% rename from browser/browser/data/json/mls-demographics-aging.json rename to browser/data/json/mls-demographics-aging.json diff --git a/browser/browser/data/json/mls-demographics-birth.json b/browser/data/json/mls-demographics-birth.json similarity index 100% rename from browser/browser/data/json/mls-demographics-birth.json rename to browser/data/json/mls-demographics-birth.json diff --git a/browser/browser/data/json/mls-evolutionary.json b/browser/data/json/mls-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-evolutionary.json rename to browser/data/json/mls-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_community_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_fits_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_foundation_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-announce_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-dev_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-docs_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-hpc_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-infra_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-operators_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-qa_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-stable-maint_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_openstack-tc_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_transparency_-static.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-evolutionary.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-evolutionary.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-evolutionary.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-evolutionary.json diff --git a/browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-static.json b/browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-static.json similarity index 100% rename from browser/browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-static.json rename to browser/data/json/mls-http:__lists.openstack.org_pipermail_user-committee_-static.json diff --git a/browser/browser/data/json/mls-lists.json b/browser/data/json/mls-lists.json similarity index 100% rename from browser/browser/data/json/mls-lists.json rename to browser/data/json/mls-lists.json diff --git a/browser/browser/data/json/mls-quantiles-month-time_to_attention_hour.json b/browser/data/json/mls-quantiles-month-time_to_attention_hour.json similarity index 100% rename from browser/browser/data/json/mls-quantiles-month-time_to_attention_hour.json rename to browser/data/json/mls-quantiles-month-time_to_attention_hour.json diff --git a/browser/browser/data/json/mls-quantiles-year-time_to_attention_min.json b/browser/data/json/mls-quantiles-year-time_to_attention_min.json similarity index 100% rename from browser/browser/data/json/mls-quantiles-year-time_to_attention_min.json rename to browser/data/json/mls-quantiles-year-time_to_attention_min.json diff --git a/browser/browser/data/json/mls-repos.json b/browser/data/json/mls-repos.json similarity index 100% rename from browser/browser/data/json/mls-repos.json rename to browser/data/json/mls-repos.json diff --git a/browser/browser/data/json/mls-static.json b/browser/data/json/mls-static.json similarity index 100% rename from browser/browser/data/json/mls-static.json rename to browser/data/json/mls-static.json diff --git a/browser/browser/data/json/mls-top.json b/browser/data/json/mls-top.json similarity index 100% rename from browser/browser/data/json/mls-top.json rename to browser/data/json/mls-top.json diff --git a/browser/browser/data/json/netconn-api.git-scm-evolutionary.json b/browser/data/json/netconn-api.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/netconn-api.git-scm-evolutionary.json rename to browser/data/json/netconn-api.git-scm-evolutionary.json diff --git a/browser/browser/data/json/netconn-api.git-scm-static.json b/browser/data/json/netconn-api.git-scm-static.json similarity index 100% rename from browser/browser/data/json/netconn-api.git-scm-static.json rename to browser/data/json/netconn-api.git-scm-static.json diff --git a/browser/browser/data/json/nose-html-output.git-scm-evolutionary.json b/browser/data/json/nose-html-output.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/nose-html-output.git-scm-evolutionary.json rename to browser/data/json/nose-html-output.git-scm-evolutionary.json diff --git a/browser/browser/data/json/nose-html-output.git-scm-static.json b/browser/data/json/nose-html-output.git-scm-static.json similarity index 100% rename from browser/browser/data/json/nose-html-output.git-scm-static.json rename to browser/data/json/nose-html-output.git-scm-static.json diff --git a/browser/browser/data/json/nova.git-scm-evolutionary.json b/browser/data/json/nova.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/nova.git-scm-evolutionary.json rename to browser/data/json/nova.git-scm-evolutionary.json diff --git a/browser/browser/data/json/nova.git-scm-static.json b/browser/data/json/nova.git-scm-static.json similarity index 100% rename from browser/browser/data/json/nova.git-scm-static.json rename to browser/data/json/nova.git-scm-static.json diff --git a/browser/browser/data/json/object-api.git-scm-evolutionary.json b/browser/data/json/object-api.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/object-api.git-scm-evolutionary.json rename to browser/data/json/object-api.git-scm-evolutionary.json diff --git a/browser/browser/data/json/object-api.git-scm-static.json b/browser/data/json/object-api.git-scm-static.json similarity index 100% rename from browser/browser/data/json/object-api.git-scm-static.json rename to browser/data/json/object-api.git-scm-static.json diff --git a/browser/browser/data/json/openstack-chef.git-scm-evolutionary.json b/browser/data/json/openstack-chef.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/openstack-chef.git-scm-evolutionary.json rename to browser/data/json/openstack-chef.git-scm-evolutionary.json diff --git a/browser/browser/data/json/openstack-chef.git-scm-static.json b/browser/data/json/openstack-chef.git-scm-static.json similarity index 100% rename from browser/browser/data/json/openstack-chef.git-scm-static.json rename to browser/data/json/openstack-chef.git-scm-static.json diff --git a/browser/browser/data/json/openstack-manuals.git-scm-evolutionary.json b/browser/data/json/openstack-manuals.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/openstack-manuals.git-scm-evolutionary.json rename to browser/data/json/openstack-manuals.git-scm-evolutionary.json diff --git a/browser/browser/data/json/openstack-manuals.git-scm-static.json b/browser/data/json/openstack-manuals.git-scm-static.json similarity index 100% rename from browser/browser/data/json/openstack-manuals.git-scm-static.json rename to browser/data/json/openstack-manuals.git-scm-static.json diff --git a/browser/browser/data/json/openstack-planet.git-scm-evolutionary.json b/browser/data/json/openstack-planet.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/openstack-planet.git-scm-evolutionary.json rename to browser/data/json/openstack-planet.git-scm-evolutionary.json diff --git a/browser/browser/data/json/openstack-planet.git-scm-static.json b/browser/data/json/openstack-planet.git-scm-static.json similarity index 100% rename from browser/browser/data/json/openstack-planet.git-scm-static.json rename to browser/data/json/openstack-planet.git-scm-static.json diff --git a/browser/browser/data/json/oslo-config.git-scm-evolutionary.json b/browser/data/json/oslo-config.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/oslo-config.git-scm-evolutionary.json rename to browser/data/json/oslo-config.git-scm-evolutionary.json diff --git a/browser/browser/data/json/oslo-config.git-scm-static.json b/browser/data/json/oslo-config.git-scm-static.json similarity index 100% rename from browser/browser/data/json/oslo-config.git-scm-static.json rename to browser/data/json/oslo-config.git-scm-static.json diff --git a/browser/browser/data/json/oslo-incubator.git-scm-evolutionary.json b/browser/data/json/oslo-incubator.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/oslo-incubator.git-scm-evolutionary.json rename to browser/data/json/oslo-incubator.git-scm-evolutionary.json diff --git a/browser/browser/data/json/oslo-incubator.git-scm-static.json b/browser/data/json/oslo-incubator.git-scm-static.json similarity index 100% rename from browser/browser/data/json/oslo-incubator.git-scm-static.json rename to browser/data/json/oslo-incubator.git-scm-static.json diff --git a/browser/browser/data/json/oslo.config.git-scm-evolutionary.json b/browser/data/json/oslo.config.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/oslo.config.git-scm-evolutionary.json rename to browser/data/json/oslo.config.git-scm-evolutionary.json diff --git a/browser/browser/data/json/oslo.config.git-scm-static.json b/browser/data/json/oslo.config.git-scm-static.json similarity index 100% rename from browser/browser/data/json/oslo.config.git-scm-static.json rename to browser/data/json/oslo.config.git-scm-static.json diff --git a/browser/browser/data/json/project-info.json b/browser/data/json/project-info.json similarity index 100% rename from browser/browser/data/json/project-info.json rename to browser/data/json/project-info.json diff --git a/browser/browser/data/json/python-ceilometerclient.git-scm-evolutionary.json b/browser/data/json/python-ceilometerclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-ceilometerclient.git-scm-evolutionary.json rename to browser/data/json/python-ceilometerclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-ceilometerclient.git-scm-static.json b/browser/data/json/python-ceilometerclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-ceilometerclient.git-scm-static.json rename to browser/data/json/python-ceilometerclient.git-scm-static.json diff --git a/browser/browser/data/json/python-cinderclient.git-scm-evolutionary.json b/browser/data/json/python-cinderclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-cinderclient.git-scm-evolutionary.json rename to browser/data/json/python-cinderclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-cinderclient.git-scm-static.json b/browser/data/json/python-cinderclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-cinderclient.git-scm-static.json rename to browser/data/json/python-cinderclient.git-scm-static.json diff --git a/browser/browser/data/json/python-glanceclient.git-scm-evolutionary.json b/browser/data/json/python-glanceclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-glanceclient.git-scm-evolutionary.json rename to browser/data/json/python-glanceclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-glanceclient.git-scm-static.json b/browser/data/json/python-glanceclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-glanceclient.git-scm-static.json rename to browser/data/json/python-glanceclient.git-scm-static.json diff --git a/browser/browser/data/json/python-heatclient.git-scm-evolutionary.json b/browser/data/json/python-heatclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-heatclient.git-scm-evolutionary.json rename to browser/data/json/python-heatclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-heatclient.git-scm-static.json b/browser/data/json/python-heatclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-heatclient.git-scm-static.json rename to browser/data/json/python-heatclient.git-scm-static.json diff --git a/browser/browser/data/json/python-keystoneclient.git-scm-evolutionary.json b/browser/data/json/python-keystoneclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-keystoneclient.git-scm-evolutionary.json rename to browser/data/json/python-keystoneclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-keystoneclient.git-scm-static.json b/browser/data/json/python-keystoneclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-keystoneclient.git-scm-static.json rename to browser/data/json/python-keystoneclient.git-scm-static.json diff --git a/browser/browser/data/json/python-melangeclient.git-scm-evolutionary.json b/browser/data/json/python-melangeclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-melangeclient.git-scm-evolutionary.json rename to browser/data/json/python-melangeclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-melangeclient.git-scm-static.json b/browser/data/json/python-melangeclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-melangeclient.git-scm-static.json rename to browser/data/json/python-melangeclient.git-scm-static.json diff --git a/browser/browser/data/json/python-novaclient.git-scm-evolutionary.json b/browser/data/json/python-novaclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-novaclient.git-scm-evolutionary.json rename to browser/data/json/python-novaclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-novaclient.git-scm-static.json b/browser/data/json/python-novaclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-novaclient.git-scm-static.json rename to browser/data/json/python-novaclient.git-scm-static.json diff --git a/browser/browser/data/json/python-openstackclient.git-scm-evolutionary.json b/browser/data/json/python-openstackclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-openstackclient.git-scm-evolutionary.json rename to browser/data/json/python-openstackclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-openstackclient.git-scm-static.json b/browser/data/json/python-openstackclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-openstackclient.git-scm-static.json rename to browser/data/json/python-openstackclient.git-scm-static.json diff --git a/browser/browser/data/json/python-quantumclient.git-scm-evolutionary.json b/browser/data/json/python-quantumclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-quantumclient.git-scm-evolutionary.json rename to browser/data/json/python-quantumclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-quantumclient.git-scm-static.json b/browser/data/json/python-quantumclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-quantumclient.git-scm-static.json rename to browser/data/json/python-quantumclient.git-scm-static.json diff --git a/browser/browser/data/json/python-swiftclient.git-scm-evolutionary.json b/browser/data/json/python-swiftclient.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/python-swiftclient.git-scm-evolutionary.json rename to browser/data/json/python-swiftclient.git-scm-evolutionary.json diff --git a/browser/browser/data/json/python-swiftclient.git-scm-static.json b/browser/data/json/python-swiftclient.git-scm-static.json similarity index 100% rename from browser/browser/data/json/python-swiftclient.git-scm-static.json rename to browser/data/json/python-swiftclient.git-scm-static.json diff --git a/browser/browser/data/json/quantum.git-scm-evolutionary.json b/browser/data/json/quantum.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/quantum.git-scm-evolutionary.json rename to browser/data/json/quantum.git-scm-evolutionary.json diff --git a/browser/browser/data/json/quantum.git-scm-static.json b/browser/data/json/quantum.git-scm-static.json similarity index 100% rename from browser/browser/data/json/quantum.git-scm-static.json rename to browser/data/json/quantum.git-scm-static.json diff --git a/browser/browser/data/json/releasestatus.git-scm-evolutionary.json b/browser/data/json/releasestatus.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/releasestatus.git-scm-evolutionary.json rename to browser/data/json/releasestatus.git-scm-evolutionary.json diff --git a/browser/browser/data/json/releasestatus.git-scm-static.json b/browser/data/json/releasestatus.git-scm-static.json similarity index 100% rename from browser/browser/data/json/releasestatus.git-scm-static.json rename to browser/data/json/releasestatus.git-scm-static.json diff --git a/browser/browser/data/json/repos-map.json b/browser/data/json/repos-map.json similarity index 100% rename from browser/browser/data/json/repos-map.json rename to browser/data/json/repos-map.json diff --git a/browser/browser/data/json/reviewday.git-scm-evolutionary.json b/browser/data/json/reviewday.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/reviewday.git-scm-evolutionary.json rename to browser/data/json/reviewday.git-scm-evolutionary.json diff --git a/browser/browser/data/json/reviewday.git-scm-static.json b/browser/data/json/reviewday.git-scm-static.json similarity index 100% rename from browser/browser/data/json/reviewday.git-scm-static.json rename to browser/data/json/reviewday.git-scm-static.json diff --git a/browser/browser/data/json/scm-companies.json b/browser/data/json/scm-companies.json similarity index 100% rename from browser/browser/data/json/scm-companies.json rename to browser/data/json/scm-companies.json diff --git a/browser/browser/data/json/scm-evolutionary.json b/browser/data/json/scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/scm-evolutionary.json rename to browser/data/json/scm-evolutionary.json diff --git a/browser/browser/data/json/scm-people.json b/browser/data/json/scm-people.json similarity index 100% rename from browser/browser/data/json/scm-people.json rename to browser/data/json/scm-people.json diff --git a/browser/browser/data/json/scm-repos.json b/browser/data/json/scm-repos.json similarity index 100% rename from browser/browser/data/json/scm-repos.json rename to browser/data/json/scm-repos.json diff --git a/browser/browser/data/json/scm-static.json b/browser/data/json/scm-static.json similarity index 100% rename from browser/browser/data/json/scm-static.json rename to browser/data/json/scm-static.json diff --git a/browser/browser/data/json/scm-top.json b/browser/data/json/scm-top.json similarity index 100% rename from browser/browser/data/json/scm-top.json rename to browser/data/json/scm-top.json diff --git a/browser/browser/data/json/scr-evolutionary.json b/browser/data/json/scr-evolutionary.json similarity index 100% rename from browser/browser/data/json/scr-evolutionary.json rename to browser/data/json/scr-evolutionary.json diff --git a/browser/browser/data/json/scr-static.json b/browser/data/json/scr-static.json similarity index 100% rename from browser/browser/data/json/scr-static.json rename to browser/data/json/scr-static.json diff --git a/browser/browser/data/json/statusbot.git-scm-evolutionary.json b/browser/data/json/statusbot.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/statusbot.git-scm-evolutionary.json rename to browser/data/json/statusbot.git-scm-evolutionary.json diff --git a/browser/browser/data/json/statusbot.git-scm-static.json b/browser/data/json/statusbot.git-scm-static.json similarity index 100% rename from browser/browser/data/json/statusbot.git-scm-static.json rename to browser/data/json/statusbot.git-scm-static.json diff --git a/browser/browser/data/json/swift.git-scm-evolutionary.json b/browser/data/json/swift.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/swift.git-scm-evolutionary.json rename to browser/data/json/swift.git-scm-evolutionary.json diff --git a/browser/browser/data/json/swift.git-scm-static.json b/browser/data/json/swift.git-scm-static.json similarity index 100% rename from browser/browser/data/json/swift.git-scm-static.json rename to browser/data/json/swift.git-scm-static.json diff --git a/browser/browser/data/json/tempest.git-scm-evolutionary.json b/browser/data/json/tempest.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/tempest.git-scm-evolutionary.json rename to browser/data/json/tempest.git-scm-evolutionary.json diff --git a/browser/browser/data/json/tempest.git-scm-static.json b/browser/data/json/tempest.git-scm-static.json similarity index 100% rename from browser/browser/data/json/tempest.git-scm-static.json rename to browser/data/json/tempest.git-scm-static.json diff --git a/browser/browser/data/json/viz_cfg.json b/browser/data/json/viz_cfg.json similarity index 100% rename from browser/browser/data/json/viz_cfg.json rename to browser/data/json/viz_cfg.json diff --git a/browser/browser/data/json/volume-api.git-scm-evolutionary.json b/browser/data/json/volume-api.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/volume-api.git-scm-evolutionary.json rename to browser/data/json/volume-api.git-scm-evolutionary.json diff --git a/browser/browser/data/json/volume-api.git-scm-static.json b/browser/data/json/volume-api.git-scm-static.json similarity index 100% rename from browser/browser/data/json/volume-api.git-scm-static.json rename to browser/data/json/volume-api.git-scm-static.json diff --git a/browser/browser/data/json/zmq-event-publisher.git-scm-evolutionary.json b/browser/data/json/zmq-event-publisher.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/zmq-event-publisher.git-scm-evolutionary.json rename to browser/data/json/zmq-event-publisher.git-scm-evolutionary.json diff --git a/browser/browser/data/json/zmq-event-publisher.git-scm-static.json b/browser/data/json/zmq-event-publisher.git-scm-static.json similarity index 100% rename from browser/browser/data/json/zmq-event-publisher.git-scm-static.json rename to browser/data/json/zmq-event-publisher.git-scm-static.json diff --git a/browser/browser/data/json/zuul.git-scm-evolutionary.json b/browser/data/json/zuul.git-scm-evolutionary.json similarity index 100% rename from browser/browser/data/json/zuul.git-scm-evolutionary.json rename to browser/data/json/zuul.git-scm-evolutionary.json diff --git a/browser/browser/data/json/zuul.git-scm-static.json b/browser/data/json/zuul.git-scm-static.json similarity index 100% rename from browser/browser/data/json/zuul.git-scm-static.json rename to browser/data/json/zuul.git-scm-static.json diff --git a/browser/browser/footer.html b/browser/footer.html similarity index 100% rename from browser/browser/footer.html rename to browser/footer.html diff --git a/browser/browser/header.html b/browser/header.html similarity index 100% rename from browser/browser/header.html rename to browser/header.html diff --git a/browser/browser/index-companies.html b/browser/index-companies.html similarity index 100% rename from browser/browser/index-companies.html rename to browser/index-companies.html diff --git a/browser/index.html b/browser/index.html index 19e75a8c..cef384f7 100644 --- a/browser/index.html +++ b/browser/index.html @@ -1,7 +1,108 @@ + - - - - + + + + + + + + + + + Bitergia Summary Report + + + + + + +
+
+
Welcome to OpenStack Development Dashboard. This space contains information collected from several sources, including OpenStack source code repository (git), bug tracking system (Launchpad), mailing lists, and from the OpenStack Foundation members database. The data has been retrieved using MetricsGrimoire, and analyzed and visualized using vizGrimoire. Please consider this as work in progress: send all your comments to communitymngr @ openstack.org (beware the spaces), and report bugs in the Open Stack Lauchpad tracker.
+
Warning! This is still work in progress, be patient if the page takes its time to load. Data may be unaccurate or even wildly incorrect.
+
+
+ +
+ + +
+ +
+

General activity

+
+
+
+
+

[Use sliders to select time periods]

+ + +
+ +
+

Last Activity Tracker

+
+
+
+
+ + + +
+ +
+
+
+
Commits: source code changes
+
+
+
+
Authors: original developer
+ (in some cases w/o commit rights)
+
+
+ + +
+
+
+
Sent: total emails per week
+
+
+
+
Senders: people sending emails
+ +
+
+ +
+
+
+
Opened: tickets opened
+
+ +
+
+
Openers: people opening tickets
+
+
+ + + + +
+
+ + + + + + diff --git a/browser/browser/its-repos.html b/browser/its-repos.html similarity index 100% rename from browser/browser/its-repos.html rename to browser/its-repos.html diff --git a/browser/browser/its-repository.html b/browser/its-repository.html similarity index 100% rename from browser/browser/its-repository.html rename to browser/its-repository.html diff --git a/browser/browser/its.html b/browser/its.html similarity index 100% rename from browser/browser/its.html rename to browser/its.html diff --git a/browser/browser/menu.js b/browser/menu.js similarity index 100% rename from browser/browser/menu.js rename to browser/menu.js diff --git a/browser/browser/mls-repos.html b/browser/mls-repos.html similarity index 100% rename from browser/browser/mls-repos.html rename to browser/mls-repos.html diff --git a/browser/browser/mls-repository.html b/browser/mls-repository.html similarity index 100% rename from browser/browser/mls-repository.html rename to browser/mls-repository.html diff --git a/browser/browser/mls.html b/browser/mls.html similarity index 100% rename from browser/browser/mls.html rename to browser/mls.html diff --git a/browser/browser/navigation.html b/browser/navigation.html similarity index 100% rename from browser/browser/navigation.html rename to browser/navigation.html diff --git a/browser/browser/notes.css b/browser/notes.css similarity index 100% rename from browser/browser/notes.css rename to browser/notes.css diff --git a/browser/browser/notes.html b/browser/notes.html similarity index 100% rename from browser/browser/notes.html rename to browser/notes.html diff --git a/browser/browser/openstack-cloud-software-vertical-small.png b/browser/openstack-cloud-software-vertical-small.png similarity index 100% rename from browser/browser/openstack-cloud-software-vertical-small.png rename to browser/openstack-cloud-software-vertical-small.png diff --git a/browser/browser/project-card.html b/browser/project-card.html similarity index 100% rename from browser/browser/project-card.html rename to browser/project-card.html diff --git a/browser/browser/qm_15.png b/browser/qm_15.png similarity index 100% rename from browser/browser/qm_15.png rename to browser/qm_15.png diff --git a/browser/browser/refcard.html b/browser/refcard.html similarity index 100% rename from browser/browser/refcard.html rename to browser/refcard.html diff --git a/browser/browser/repositories.html b/browser/repositories.html similarity index 100% rename from browser/browser/repositories.html rename to browser/repositories.html diff --git a/browser/browser/repositories.html~ b/browser/repositories.html~ similarity index 100% rename from browser/browser/repositories.html~ rename to browser/repositories.html~ diff --git a/browser/browser/repository.html b/browser/repository.html similarity index 100% rename from browser/browser/repository.html rename to browser/repository.html diff --git a/browser/browser/scm-repos.html b/browser/scm-repos.html similarity index 100% rename from browser/browser/scm-repos.html rename to browser/scm-repos.html diff --git a/browser/browser/scm-repository.html b/browser/scm-repository.html similarity index 100% rename from browser/browser/scm-repository.html rename to browser/scm-repository.html diff --git a/browser/browser/scm.html b/browser/scm.html similarity index 100% rename from browser/browser/scm.html rename to browser/scm.html diff --git a/browser/browser/scr.html b/browser/scr.html similarity index 100% rename from browser/browser/scr.html rename to browser/scr.html diff --git a/browser/browser/theme.css b/browser/theme.css similarity index 100% rename from browser/browser/theme.css rename to browser/theme.css diff --git a/browser/browser/top.html b/browser/top.html similarity index 100% rename from browser/browser/top.html rename to browser/top.html diff --git a/browser/dashboard/VizGrimoireJS b/dashboard/VizGrimoireJS similarity index 100% rename from browser/dashboard/VizGrimoireJS rename to dashboard/VizGrimoireJS diff --git a/browser/dashboard/bitergia-logo.png b/dashboard/bitergia-logo.png similarity index 100% rename from browser/dashboard/bitergia-logo.png rename to dashboard/bitergia-logo.png diff --git a/browser/dashboard/dashboard.css b/dashboard/dashboard.css similarity index 100% rename from browser/dashboard/dashboard.css rename to dashboard/dashboard.css diff --git a/browser/dashboard/data b/dashboard/data similarity index 100% rename from browser/dashboard/data rename to dashboard/data diff --git a/browser/dashboard/header.html b/dashboard/header.html similarity index 100% rename from browser/dashboard/header.html rename to dashboard/header.html diff --git a/browser/dashboard/index.html b/dashboard/index.html similarity index 100% rename from browser/dashboard/index.html rename to dashboard/index.html diff --git a/browser/dashboard/js/Dashboard.js b/dashboard/js/Dashboard.js similarity index 100% rename from browser/dashboard/js/Dashboard.js rename to dashboard/js/Dashboard.js diff --git a/browser/dashboard/navigation.html b/dashboard/navigation.html similarity index 100% rename from browser/dashboard/navigation.html rename to dashboard/navigation.html diff --git a/browser/dashboard/openstack-cloud-software-vertical-small.png b/dashboard/openstack-cloud-software-vertical-small.png similarity index 100% rename from browser/dashboard/openstack-cloud-software-vertical-small.png rename to dashboard/openstack-cloud-software-vertical-small.png diff --git a/index.html b/index.html new file mode 100644 index 00000000..19e75a8c --- /dev/null +++ b/index.html @@ -0,0 +1,7 @@ + + + + + + + diff --git a/browser/lib/jquery-1.7.1.min.js b/lib/jquery-1.7.1.min.js similarity index 100% rename from browser/lib/jquery-1.7.1.min.js rename to lib/jquery-1.7.1.min.js diff --git a/browser/src/Dashboard.js b/src/Dashboard.js similarity index 100% rename from browser/src/Dashboard.js rename to src/Dashboard.js diff --git a/browser/src/DataProcess.js b/src/DataProcess.js similarity index 100% rename from browser/src/DataProcess.js rename to src/DataProcess.js diff --git a/browser/src/DataSource.js b/src/DataSource.js similarity index 100% rename from browser/src/DataSource.js rename to src/DataSource.js diff --git a/browser/src/Envision_Report.js b/src/Envision_Report.js similarity index 100% rename from browser/src/Envision_Report.js rename to src/Envision_Report.js diff --git a/browser/src/ITS.js b/src/ITS.js similarity index 100% rename from browser/src/ITS.js rename to src/ITS.js diff --git a/browser/src/Identity.js b/src/Identity.js similarity index 100% rename from browser/src/Identity.js rename to src/Identity.js diff --git a/browser/src/License.js b/src/License.js similarity index 100% rename from browser/src/License.js rename to src/License.js diff --git a/browser/src/Loader.js b/src/Loader.js similarity index 100% rename from browser/src/Loader.js rename to src/Loader.js diff --git a/browser/src/MLS.js b/src/MLS.js similarity index 100% rename from browser/src/MLS.js rename to src/MLS.js diff --git a/browser/src/Report.js b/src/Report.js similarity index 100% rename from browser/src/Report.js rename to src/Report.js diff --git a/browser/src/SCM.js b/src/SCM.js similarity index 100% rename from browser/src/SCM.js rename to src/SCM.js diff --git a/browser/src/SCR.js b/src/SCR.js similarity index 100% rename from browser/src/SCR.js rename to src/SCR.js diff --git a/browser/src/Viz.js b/src/Viz.js similarity index 100% rename from browser/src/Viz.js rename to src/Viz.js diff --git a/browser/src/d3-treemap.min.js b/src/d3-treemap.min.js similarity index 100% rename from browser/src/d3-treemap.min.js rename to src/d3-treemap.min.js diff --git a/browser/src/envision.js b/src/envision.js similarity index 100% rename from browser/src/envision.js rename to src/envision.js diff --git a/browser/src/envision.min.css b/src/envision.min.css similarity index 100% rename from browser/src/envision.min.css rename to src/envision.min.css diff --git a/browser/src/jquery.gridster.css b/src/jquery.gridster.css similarity index 100% rename from browser/src/jquery.gridster.css rename to src/jquery.gridster.css diff --git a/browser/src/jquery.gridster.js b/src/jquery.gridster.js similarity index 100% rename from browser/src/jquery.gridster.js rename to src/jquery.gridster.js diff --git a/browser/src/report-envision.css b/src/report-envision.css similarity index 100% rename from browser/src/report-envision.css rename to src/report-envision.css diff --git a/browser/src/report.css b/src/report.css similarity index 100% rename from browser/src/report.css rename to src/report.css diff --git a/browser/src/viz.css b/src/viz.css similarity index 100% rename from browser/src/viz.css rename to src/viz.css diff --git a/test/jasmine/bitergia-logo.png b/test/jasmine/bitergia-logo.png new file mode 100644 index 00000000..12db9347 Binary files /dev/null and b/test/jasmine/bitergia-logo.png differ diff --git a/test/jasmine/cc-by-sa.png b/test/jasmine/cc-by-sa.png new file mode 100644 index 00000000..c67509f1 Binary files /dev/null and b/test/jasmine/cc-by-sa.png differ diff --git a/test/jasmine/config.json b/test/jasmine/config.json new file mode 100644 index 00000000..b7932707 --- /dev/null +++ b/test/jasmine/config.json @@ -0,0 +1,4 @@ +{ +"global-html-dir":"html/" +} + diff --git a/test/jasmine/data/json/demographics-evolution.json b/test/jasmine/data/json/demographics-evolution.json new file mode 100644 index 00000000..643ed0ce --- /dev/null +++ b/test/jasmine/data/json/demographics-evolution.json @@ -0,0 +1 @@ +{"demography":{"id":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,241,242,243,244,246,247,248,249,250,251,252,253,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,307,308,309,310,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,466,467,469,470,471,472,473,474,475,476,477,478,479,480,481,483,484,485,486,488,489,490,491,492,493,495,496,497,498,499,500,501,502,503,504,505,506,508,509,510,511,512,513,514,515,516,517,518,519,520,521,523,524,525,526,527,528,529,530,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,608,609,611,612,613,614,615,616,617,618,619,620,621,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,677,678,679,680,681,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,725,726,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,848,849,850,851,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,880,881,882,883,884,885,886,887,888,889,890,891,892,893,894,895,896,897,898,900,901,902,903,904,905,906,907,908,909,910,911,912],"name":["Craig Small","Arturo Espinosa","Miguel de Icaza","Raja R Harinath","Federico Mena Quintero","Tom Tromey","Changwoo Ryu","KST 1998 Changwoo Ryu","Tim Janik","Elliot Lee","Carsten Schaar","Vincent Renardias","rhlabs","Owen Taylor","nobody","Arturo Espinosa Aldama","Gregory McLean","EDT 1998 Gregory McLean","Havoc Pennington","Kjartan Maraas","Martin Baulig","Nuno Ferreira","Manish Singh","Scott D Heavner","Christopher Blizzard","Tuomas Kuosmanen","Michael Fulbright","Daniel Veillard","Sebastian Wilhelmi","Stuart Parmenter","Mark Crichton","Frank Belew (Myth)","Nat Friedman","Karl Eichwalder","Joel Becker","Marius Vollmer","Ji Lee","Andrew T. Veliath","James Henstridge","Matt Wilson","Matthew Wilson","Herbert V. Riedel","Pavel Roskin","Manish Vachharajani","Jeff Garzik","Ole J. Tetlie","Frederic Devernay","Paolo Molaro","Tero Pulkkinen","Alan Aspuru Guzik","Tomas \u00d6gren","Marcin Gorycki","Timur Bakeyev","Jason Tackaberry","Chris Lahey","Sergey I. Panov","Pablo Saratxaga","Tomislav Vujec","Clifford R. Conover","Norbert Warmuth","Steve Murphy","Bertrand Guiheneuf","bertrand","Tomasz K\u0142oczko","Jacob Berkman","Morten Welinder","Russell Steinthal","Giao Nguyen","Robert Brady","lukka","Anders Carlsson","Mike McEwan","Michael Meeks","Jody Goldberg","Matt Martin","Peter Teichman","Jonathan Blandford","JP Rosevear","gedit","Mikko Rauhala","Eskil Heyn Olsen","Yukihiro Nakai","Lauris Kaplinski","Jukka Zitting/evolution","Jorge Godoy","Martin Norback","Eskil Olsen","Ettore Perazzoli","Mathieu Lacage","Jeremy Wise","Peter Williams","Damon Chaplin","Chyla Zbigniew","Jesus Bravo Alvarez","Vadim Strizhevsky","Frank Chiulli","Matthew Loper","Christopher James Lahey","Dave Camp","iholmes","Iain Holmes","Michael Zucci","NotZed","Fatih Demir","Seth Alves","Dan Winship","Matt Loper","Chris Toshok","Matias Mutchinick","Andreas Hyd\u00e9n","Richard Hult","Yuri Syrota","Spiros Papadimitriou","Jeffrey Stedfast","EDT 2000 Jeffrey Stedfast","Larry Ewing","Valek Frob","Aaron Weber","George Lebl","Radek Doulik","Kenneth Christiansen","Arjan Scherpenisse","2","Jacob Leach","5","7","8","Hector Garcia","Eric Busboom","1","Nam SungHyun","Darin Adler","Julian Missig","Szabolcs Ban","Not Zed","Ross Golder","\u00c9RDI Gergo","Andraz Tori","Stanislav Brabec","Michael Zucchi","Arik Devens","Matthias Warkus","Cody Russell","scottf","Joe Shaw","Alastair McKinstry","Valek Filippov","Akira Tagoh","Kai Lahmann","Larry Liimatainen","jfell","Christopher R. Gabriel","Ariel Rios","Jesse Pavel","Almer S. Tigelaar","jjranta","Christian Rose","Carlos Perell\u00f3 Mar\u00edn","Christophe Merlet","Matt Bissiri","Jacob \"Ulysses\" Berkman","Gediminas Paulauskas","Anna Dirks","Anna Marie Dirks","Hans Petter","Rodrigo Moya","Andrew V. Samoilov","6","Jason Leach","Maciej Stachowiak","Benedikt Roth","Jakub Steiner","Dietmar Maurer","JP Roseveaer","Martin Norb\u00c3\u00a4ck","Jon Trowbridge","Gustavo M. D. Vieira","Gustavo Maciel Dias Vieira","John R. Sheets","Stano Visnovsky","Rusty Conover","Vladimir Vukicevic","Benjamin Kahn","Tambet Ingo","Mikael Hallendal","Jaka Mocnik","Duncan Mak","Keld J\u00f8rn Simonsen","Martha Burke","Kevin Breit","Andras Timar","Andrew Hughes Chatham","Stanislav Visnovsky","battery841","Gregory Leblanc","Jose Maria Celorio","Sam Creasey","Marius Andreiana","Taylor Hayward","Kevin Gibbs","Fr\u00e9d\u00e9ric Crozat","J.H.M. Dassen (Ray)","Sami Pesonen","Zbigniew Chyla","Dirk-Jan C. Binnema","Kwok-Koon Cheung","0","Pavel Petrov Tcholakov","Yanko Kaneti","Pavel Cholakov","4","3","9","Takuro Kitame","Ismael Olea","Simos Xenitellis","Wang Jian","Roy-Magne Mo","Christian Meyer","Peteris Krisjanis","Sebastian Rittau","gfarris","Israel Escalante","Gustavo Gir\u00e1ldez","Vasif Ismailoglu MD","Vincent van Adrighem","Krisztian Pifko","Dave West","T\u00f5ivo Leedj\u00e4rv","Tov Are Jacobsen","Jeffrey Stefdast","Manuel Borchers","Abel Cheung","Sean Atkinson","G\u00f6rkem \u00c7etin","Mike Kestner","Carlos Garnacho Parro","John Corwin","Naba Kumar","Biswapesh Chattopadhyay","German Poo Caaman~o","Rodney Dawes","Harry Lu","Richard Li","Alexander Alexandrov Shopov","Dmitry Mastrukov","He Qiangqiang","Hans Petter Jansson","Pablo Gonzalo del Campo","Gilbert Fang","Christian Neumair","Marco Ciampa","Daniel Yacob","Kostas Papadimas","Alessio Frusciante","Sean Gao","leon.zhang","Ronald Kuetemeier","German Poo-Caaman~o","Michal Bukovjan","Miloslav Trmac","Suresh Chandrasekharan","Antonio Xu","Max Horn","Duarte Loreto","Sanshao Jiang","\u00c3\u0082\u00c2\u00a0 Timo Sirainen\u00c3\u0082\u00c2\u00a0","Jack Jia","Philip Zhao","Jeremy Katz","Malcolm Tredinnick","Masahiro Sakai","Christophe Fergeau","Carlos Perell\u00c3\u00b3 Mar\u00c3\u00adn","Kenneth Rohde Christiansen","Sven Herzberg","Ivan Stojmirov","Bolian Yin","Danilo \u0160egan","Danilo \u00c5\u00a0egan","Kang Jeong-Hee","David Woodhouse","Yuedong Du","Maxx Cao","Andrew Wu","Timo Sirainen","Hasbullah Bin Pit","Michel D\u00c3\u0083\u00c2\u0083\u00c3\u0082\u00c2\u00a4nzer","Lorenzo Gil","Sajith VK","Tim Wo","Lorenzo Gil Sanchez","Calvin Liu","Alexander Larsson","\u00c5smund Skj\u00e6veland","Charles Zhang","\u00c3\u0085smund Skj\u00c3\u00a6veland","Artur Flinta","Ross Burton","Metin Amiroff","JP Rosvear","Paul Duffy","Carl Sun","Grahame Bowland","Francisco Javier Fernandez Serrador","Francisco Javier F. Serrador","William Jon McCann","David Moore","Kidd Wang","Nicel KM","Roozbeh Pournader","Laurent Dhima","Robert Sedak","Sivaiah Nallagatla","Christian Hammond","Meilof Veeningen","Gary Ekker","\u017dygimantas Beru\u010dka","Siviaah Nallagatla","Takeshi Aihana","Updated ja.po. T.Aihana","Sanlig Badral","Funda Wang","Jordi Mallach","Nikos Charonitakis","David Trowbridge","Sivaih Nallagatla","M\u00c9\u0099tin \u00c6\u008fmirovf","Denis Lackovic","Bill Zhu","Ilkka Tuohela","Yong Sun","Sarfraaz Ahmed","Fixed date-formatted in ja.po. T.Aihana","Fixed date-formatted again. T.Aihana","Fixed another date-formatted. T.Aihana","Bruce Tao","Ahmed Sarfraaz","REALiTY-ON-LINE","Leon Zhang","Adam Weinberger","Priit Laes","Leonid Kanter","Pratik V. Parikh","Alexander Winston","Trent Lloyd","Hao Sheng","hpnadig","Alfred Peng","Umesh Tiwari","Martyn Russell","Hari Prasad Nadig","Gareth Owen","Eric Zhao","I\u00f1aki Larra\u00f1aga Murgoitio","I\u00c3\u00b1aki Larra\u00c3\u00b1aga","Fixed any wrong translations. T.Aihana","Sam\u00fael J\u00f3n Gunnarsson","Evandro Fernandes Giovanini","David Malcolm","Michael Terry","Enver ALTIN","Mike Castle","Dave Fallon","Christian Kellner","Xan Lopez","Jon Oberheide","Umeshtej","S N Tejasvi","H P Nadig","V Ravi Kumar Raju","Jerome Lacoste","Cantona Su","James Willcox","Fixed wrong translations. T.Aihana","Fixed another wrong translations. T.Aihana","Joop Stakenborg","Alexander Shopov","Priyanshu Raj","Vardhman Jain","Fernando Herrera de las Heras","Arafat Medini","JP Rosevaer","Nguyen Thai Ngoc Duy","J\u00c3\u00bcrg Billeter","Amanpreet Singh Alam","updated ja.po completely. T.Aihana","Telsa Gwynne","Dafydd Harries","T\u00c3\u00b5ivo Leedj\u00c3\u00a4rv","Guntupalli Karunakar","Pauli Virtanen","Francisco F. Serrador","Maxim V. Dziumanenko","Maxim Dziumanenko","L\u00e1szl\u00f3 Dvornik","Ray Strode","pchenthill","Gil Osher","N Jayaradha","Ankitkumar Rameshchandra Patel","Harish Krishnaswamy","Parthasarathi S A","Karsten Br\u00c3\u0083\u00c2\u00a4ckelmann","Tommi Vainikainen","\u00c5\u00bdygimantas Beru\u00c4\u008dka","Chenthill Palanisamy","Ales Nyakhaychyk","Martin Willemoes Hansen","Baris Cicek","David Lodge","Raphael Higino","Amila Akagi\u0107","Mugurel Tudor","Hannah & Fazlu","Tony Tsui","Craig Jeffares","Fazlu & Hannah","Pamplona Hackers","Andre Klapper","Sebastien Bacher","Li Yuan","Iv\u00e1n Frade","Meelad Zakaria","Julio M. Merino Vidal","mengjie yu","Bj\u00c3\u00b6rn Torkelsson","Steven Zhang","Diego Sevilla Ruiz","Hendrik Richter","Sivaiah Nallaagatla","Sivaiah Nallagalta","Joan Sanfeliu","Sushma Rai","S.\u00c3\u0087a\u00c4\u009flar Onur","S.\u00c3\u0087a#lar Onur","David Mosberger","Jain Vivek","Philip Van Hoof","S.\u00c3\u0087aglar Onur","Satoru Satoh","James Bowes","Added 'ja' and 'nl' in default/Makefile.am. T.Aihana","Parthasarathi Susarla","Vivek Jain","Parthasarathi@novell.com","Frank Arnold","Lukas Lipka","Marcel Telka","Marco Pesenti Gritti","Bj\u00f6rn Torkelsson","Sankar P","Theppitak Karoonboonyanan","Guilherme de S. Pastore","Pawan Chitrakar","Josep Puigdemont i Casamaj\u00f3","Ahmad Riza H Nst","Adi Attar","Gabor Kelemen","Steven Michael Murphy","Yu Mengjie","Tor Lillqvist","Amish","Srinivasa Ragavan","Sankarasivasubramanian Pasupathilingam","Ulrich Neumann","Shreyas Srinivasan","Thouis R. Jones","Clytie Siddall","Srininvasa Ragavan","Kaushal Kumar","Terance Sola","Jedy Wang","Rajesh Ranjan","Sarfaaz Ahmed","Rhys Jones","Brian Mury","Matt Brown","Praveen Kumar","Chao-Hsiung Liao","Veerapuram Varadhan","Shakti Sen","S.Antony Vincent Pandian","Arunprakash","Viren.l","P. S. Chakravarthi","Jules Colding","Sunil Mohan Adapa","Carsten Guenther","Mohammad DAMT","Sigurd Gartmann","Nickolay V. Shmyrev","Jens Seidel","Arangel Angov","Irene Huang","Runa Bhattacharjee","Jeff Cai","Mubeen Jukaku","Erdal Ronahi","Ignacio Casal Quinteiro","Evan Yan","Boby Wang","Karsten Br\u00c3\u00a4ckelmann","Sam Yang","Simon Zheng","Shi Pu","Srinivas Ragavan","Matthew Hall","Harish","Updated ja.po with `intltool-extract-0.31.2`. T.Aihana","Hendrik Brandt","Johnny Jacob","Ali Akcaagac / Andre Klapper","Rohini S","Devashish Sharma","Slobodan D. Sredojevic","Kjartan Maraas,,23491770","Ranjan Somani","Kyle Ambroff","Joe Marcus Clarke","Tino Meinen","Oswald Rodrigues","pavithran","Rajeev Ramanathan","Lukas Novotny","Karsten Br\u00e4ckelmann","Benjamin Berg","Claudio Saavedra","Jordi Mas","Irene.Huang","Inaki Larranaga","Luca Ferretti","Elijah Newren","Beno\u00eet Dejean","Ole Laursen","Daniel Nylander","Vladimer Sichinava","Ali Akcaagac / Andre Klapper","Rakesh k.g","Patrick Ohly","Nancy Cai","simon.zheng","Hiroyuki Ikezoe","Pema Geyleg","Thomas Vander Stichele","David Richards","Iain Buchanan","Frederic Peters","Carlos Garcia Campos","Gary Coady","Chris Heath","Ed Catmur","Wang Xin","Aishwarya k","Felix I","Arvind_evo","Matthew Barnes","Ushveen Kaur","Andreas K\u00c3\u00b6hler","Jovan Naumovski","Raivis Dejus","Yuri Pankov","Arvind","Bastien Nocera","Rahul Bhalerao","Ani Peter","Wouter Bolsterlee","Subhransu Behera","Matic \u017dgur","Matic \u00c5\u00bdgur","Daniel Gryniewicz","Behnam Esfahbod","Gintautas Miliauskas","Jamil Ahmed","Nick Sukharev","Johan Dahlin","Jakub Friedl","Chris Halls","Djihed Afifi","Raghavendran R","Raghavendran","St\u00e9phane Raimbault","Leonardo Ferreira Fontenelle","Goran Rakic","Elizabeth Greene","Yair Hershkovitz","Jorge Gonzalez Gonzalez","Yannig MARCHEGAY","Kenneth Nielsen","Karl Relton","Pedro Villavicencio","Tobias Mueller","Laszlo (Laca) Peter","Gilles Dartiguelongue","SANDRA MARAKKALA DANISHKA NAVIN","Claude Paroz","Milan Crha","Rob Bradford","Suman Manjunath","Anand V M","Wadim Dziedzic","Yang Zhang","Amitakhya Phukan","Iestyn Pryce","Pedro Villavicencio Garrido","Bharath Acharya","Michael Monreal","Matej Urban\u010di\u010d","Diego Escalante Urrelo","Gil Forcada Codinachs","Damien Carbery","indu","Ondrej Jirman","Nicholas Miell","Denis Washington","David Turner","Alex Kloss","Se\u00e1n de B\u00farca","Colin Leroy","Espen Stefansen","Jan Tichavsky","Jonh Wendell S. Santana","Jonh Wendell","Paul Bolle","Petr Kov\u00e1\u0159","Ihar Hrachyshka","Vasiliy Faronov","Dan Williams","Philip Withnall","Philipp Kerling","Takao Fujiwara","Danny Baumann","Johan Euphrosine","Akhil Laddha","Shuai Liu","Ashish Shrivastava","Lucian Langa","Jacob Brown","Alp Toker","Timo Jyrinki","Roger Zauner","Paolo Borelli","J\u00f6rgen Scheibengruber","Sweta Kothari","Dmitrijs Ledkovs","Shankar Prasad","Jorge Gonzalez","Krishnababu Krothapalli","Sandeep Shedmake","Praveen Arimbrathodiyil","Robert-Andr\u00e9 Mauchin","Og B. Maciel","Matt Davey","Kandepu Prasad","Felix Riemann","Norman Wang","Chow Loong Jin","Matt McCutchen","Manoj Kumar Giri","miloc","dumol","David Planella","Dwayne Bailey","khaledh","Holger Macht","David Ronis","Michel D\u00e4nzer","Christian Kirbach","Marcel Stimberg","Sukhbir Singh","Fridrich Strba","Adam Petaccia","Ivar Smolin","Ritesh Khadgaray","Damien Lespiau","Marios Zindilis","Jeremy Le Floc'h","Beno\u00c3\u00aet Dejean","Gil Forcada","drtvasudevan","Mark Krapivner","Yaron Shahrabani","Ask H. Larsen","H.Habighorst","Yavor Doganov","Daniel Macks","Mario Bl\u00e4ttermann","Mattias P\u00f5ldaru","Ken VanDine","Ant\u00f3n M\u00e9ixome","G\u00f6tz Waschk","dooteo","Denis Arnaud","ifelix","David Liang","Milo\u0161 Popovi\u0107","Igor Nestorovi\u0107","Khaled Hosny","Alexander Klepikov","Bruce Cowan","A S Alam","krishnababu k","Adi Roiban","Takayuki KUSANO","Andrej \u017dnidar\u0161i\u010d","H. Habighorst","pepp","Thomas Andersen","vasudeven","C de-Avillez","Yan Li","Thomas Thurman","Jonathon Jongsma","Travis Reitter","Aron Xu","Zhang Miao","Cedric Bosdonnat","Matt McCutchen 2","Ray Wang","Carles Ferrando","Ani","Matthew W. S. Bell","Vincent Untz","Tomasz Dominikowski","Gustavo Noronha Silva","Jan Holesovsky","Krasimir Chonov","Viswanath Sivakumar","Gustavo Noronha","Jiri Eischmann","Fran Di\u00e9guez","Bruno Brouard","Laurent Coudeur","Nils-Christoph Fiedler","Ulrich Schoepp","Peter Bach","Thomas Spura","Djavan Fagundes","\u0418\u0433\u043e\u0440 \u041d\u0435\u0441\u0442\u043e\u0440\u043e\u0432\u0438\u045b","\u039c\u03ac\u03c1\u03b9\u03bf\u03c2 \u0396\u03b7\u03bd\u03c4\u03af\u03bb\u03b7\u03c2","Thanos Lefteris","Nikos Bakaoukas","Rodrigo Flores","caiqm","Viswanath S","Jordi Serratosa","Javier Jard\u00f3n","J\u00fcrg Billeter","Dominique Leuenberger","punit","Sandy Armstrong","Andika Triwidada","Francisco Di\u00e9guez","Holger Mickler","Roy Marples","Punit Jain","Mario Carrion","Vibha Yadav","Jim Ramsay","Yves-Alexis Perez","Gert Kulyk","Gert Michael Kulyk","Rudolfs Mazurs","Fabien Tassin","Craig Ringer","Sira Nokyoongtong","Guido G\u00fcnther","Maciej Piechotka","drtv","Nana Suryana","Thomas Mittelstaedt","Lucian Adrian Grijincu","Tao Wang","\u6731\u6d9b","Gary Ching-Pang Lin","Giannis Katsampirhs","hao li","Dirgita","Dr.Tirumurti Vasudevan","Hao H Li","Christian.Kirbach","Bakaoukas Nikolaos","Yuri Myasoedov","Piotr Dr\u0105g","Hannie Dumoleyn","Milan Bouchet-Valat","Benjamin Otte","Matthias Clasen","Flo Gravo","Klemen Ko\u0161ir","Carlos Mart\u00edn Nieto","Rex Tsai","Yinghua Wang","Marcos Lans","Abduxukur Abdurixit","Gheyret T.Kenji","Ville-Pekka Vainio","Mathieu Trudel-Lapierre","Daniel Mustieles","Kristjan SCHMIDT","Michael Kotsarinis","Dan Vr\u00e1til","Gary Lin","Xandru Armesto","Chris Hemsing","Pacho Ramos","Wei Li","Paul Menzel","Jari Urpalainen","Cosimo Cecchi","Daniel Korostil","Dan Vr\u00e1ti","Abderrahim Kitouni","Dr.T.Vasudevan","Marek \u010cernock\u00fd","Takayoshi OKANO","Niki Guldbrand","Alban Crequy","Abner Silva","Colin Walters","Yuri Kozlov","\u041c\u0438\u0440\u043e\u0441\u043b\u0430\u0432 \u041d\u0438\u043a\u043e\u043b\u0438\u045b","Andr\u00e9 Gondim","Rathin","Shushi Kurose","Antoine Jacoutot","Yuri Chornoivan","James Bottomley","Aurimas \u010cernius","Alexandre Rostovtsev","Jiro Matsuzawa","OKANO Takayoshi","Cheng-Chia Tseng","Tiffany Antopolski","Mojca Ograj\u0161ek","dmustieles","Muhammet Kara","Gabor Karsay","Michael Hill","Algimantas Margevi\u010dius","Wolfgang St\u00f6ggl","Tristan Van Berkom","Josselin Mouette","Tim Piessens","Alban Browaeys","Kai Juse","Brian Grohe","Kasia Bondarava","David Morley","Ekaterina Gerasimova","Martin Srebotnjak","Pavol Kla\u010dansk\u00fd","Nilamdyuti Goswami","Sasi Bhushan Boddepalli","Sasi Bhushan","Flemming Christensen","Dimitri","Ibrahim Saed","Hideki Yamane","Ashwini Oruganti","Jose Dapena Paz","Sam Thursfield","Reinout van Schouwen","Volker Sobek","Jeremy Bicha","Dmitry Shachnev","Tom Tryfonidis","Giovanni Campagna","Michael Wood","Dimitris Spingos","tuhaihe","Praveen Illa","Sandeep Sheshrao Shedmake","Mike Gorse","Conrad Steenberg","chandankumar","Alexandre Franke","Rafael Ferreira","Akom Chotiphantawanon","Fabiano Fid\u00eancio","Chris Leonard","ManojKumar Giri","Christian Hilberg"],"email":["csmall@src.gnome.org","unammx@src.gnome.org","miguel@nuclecu.unam.mx","harinath@src.gnome.org","federico@nuclecu.unam.mx","tromey@src.gnome.org","cwryu@src.gnome.org","cwryu@adam.kaist.ac.kr","timj@src.gnome.org","sopwith@src.gnome.org","carsten@src.gnome.org","vinc@src.gnome.org","rhlabs@localhost","otaylor@src.gnome.org","nobody@localhost","arturo@nuclecu.unam.mx","gregm@src.gnome.org","gregm@comstar.net","hp@src.gnome.org","kmaraas@src.gnome.org","martin@src.gnome.org","nmrf@rnl.ist.utl.pt","yosh@src.gnome.org","sdh@src.gnome.org","blizzard@src.gnome.org","tigert@src.gnome.org","drmike@src.gnome.org","veillard@src.gnome.org","wilhelmi@src.gnome.org","pavlov@src.gnome.org","crichton@src.gnome.org","frb@src.gnome.org","nat@src.gnome.org","ke@suse.de","jlbec@src.gnome.org","mvo@src.gnome.org","g@ucsd.edu","andrewtv@src.gnome.org","jamesh@src.gnome.org","msw@src.gnome.org","msw@redhat.com","hvr@hvrlab.ml.org","proskin@src.gnome.org","mvachhar@src.gnome.org","jgarzik@src.gnome.org","olet@src.gnome.org","devernay@src.gnome.org","lupus@src.gnome.org","terop@src.gnome.org","pquim@src.gnome.org","stric@src.gnome.org","mgo@src.gnome.org","mc@bat.ru","tack@dok.org","clahey@src.gnome.org","sipan@src.gnome.org","pablo@src.gnome.org","tvujec@carnet.hr","rconover@montana.edu","norbert@src.gnome.org","murf@e-tools.com","bertrand@src.gnome.org","Bertrand.Guiheneuf@inria.fr","kloczek@src.gnome.org","jberkman@src.gnome.org","mortenw@src.gnome.org","steintr@src.gnome.org","grail@src.gnome.org","rwb197@ecs.soton.ac.uk","lukka@src.gnome.org","andersca@src.gnome.org","mike@lotusland.demon.co.uk","mmeeks@src.gnome.org","jody@src.gnome.org","matt@abacusnet.net","teichman@src.gnome.org","jrb@src.gnome.org","jpr@src.gnome.org","gedit@localhost","mjr@src.gnome.org","eskil@src.gnome.org","nakai@src.gnome.org","lauris@src.gnome.org","hukka@src.gnome.org","docsbr@src.gnome.org","mback@src.gnome.org","deity@eskil.dk","ettore@src.gnome.org","mathieu@src.gnome.org","jwise@src.gnome.org","peterw@src.gnome.org","damon@src.gnome.org","chyla@src.gnome.org","jesusb@src.gnome.org","vadim@src.gnome.org","fchiulli@src.gnome.org","mloper@src.gnome.org","clahey@helixcode.com","campd@src.gnome.org","iholmes@localhost","ih@csd.abdn.ac.uk","zucchi@src.gnome.org","notzed@zedzone.helixcode.com","kabalak@src.gnome.org","alves@src.gnome.org","danw@src.gnome.org","matt@helixcode.com","toshok@src.gnome.org","matias@seul.org","ahyden@src.gnome.org","rhult@src.gnome.org","rasta@src.gnome.org","spapadim@src.gnome.org","fejj@src.gnome.org","fejj@stampede.org","lewing@src.gnome.org","frob@src.gnome.org","aaron@src.gnome.org","jirka@src.gnome.org","rodo@src.gnome.org","kenneth@src.gnome.org","acscherp@src.gnome.org","notzed@helixcode.com","jleach@src.gnome.org","notzed@helixcode.com","notzed@helixcode.com","notzed@helixcode.com","hectorg@src.gnome.org","ericb@src.gnome.org","notzed@helixcode.com","namsh@src.gnome.org","darin@src.gnome.org","julianm@src.gnome.org","bansz@src.gnome.org","NotZed@HelixCode.com","rossg@src.gnome.org","cactus@src.gnome.org","minmax@src.gnome.org","utx@src.gnome.org","zucchi@zedzone.mmc.com.au","arik@src.gnome.org","mawarkus@src.gnome.org","bratsche@src.gnome.org","scottf@localhost","joeshaw@src.gnome.org","alastairmck@src.gnome.org","frob@df.ru","tagoh@src.gnome.org","kail@src.gnome.org","remlali@src.gnome.org","jfell@src.gnome.org","cgabriel@src.gnome.org","arios@src.gnome.org","jpavel@src.gnome.org","almer@src.gnome.org","jjranta@src.gnome.org","menthos@src.gnome.org","lxhispano@src.gnome.org","redfox@src.gnome.org","bissiri@eecs.umich.edu","jacob@helixcode.com","menesis@src.gnome.org","anna@src.gnome.org","anna@helixcode.com","hansp@src.gnome.org","rodrigo@src.gnome.org","andrew@src.gnome.org","purify@the-dot-in.helixcode.com","jasonleach@usa.net","mstachow@src.gnome.org","bratislav@src.gnome.org","jimmac@src.gnome.org","dietmar@src.gnome.org","jpr@ximian.com","d95mback@dtek.chalmers.se","trow@src.gnome.org","gdvieira@src.gnome.org","gdvieira@zaz.com.br","dusk@ravendusk.org","stano@src.gnome.org","rconover@src.gnome.org","vladimir@src.gnome.org","xkahn@src.gnome.org","tambeti@src.gnome.org","hallski@src.gnome.org","jaka@src.gnome.org","duncan@src.gnome.org","keld@src.gnome.org","martha@ximian.com","battery841@src.gnome.org","timar@gnome.hu","chatham@src.gnome.org","visnovsky@nenya.ms.mff.cuni.cz","battery841@mediaone.net","gleblanc@cu-portland.edu","chema@src.gnome.org","sammy@oh.verio.com","mandreiana@src.gnome.org","taylorhayward@yahoo.com","kgibbs@src.gnome.org","fcrozat@src.gnome.org","jdassen@debian.org","spesonen@src.gnome.org","cyba@gnome.pl","dirkjan@src.gnome.org","baddog@src.gnome.org","NotZed@Ximian.com","petrov@src.gnome.org","yaneti@src.gnome.org","pavel@linux.zonebg.com","NotZed@Ximian.com","NotZed@Ximian.com","NotZed@Ximian.com","kitame@src.gnome.org","olea@src.gnome.org","simos@src.gnome.org","lark@src.gnome.org","rmo@src.gnome.org","chrisime@src.gnome.org","peterisk@src.gnome.org","srittau@src.gnome.org","gfarris@src.gnome.org","israel@src.gnome.org","gustavo@src.gnome.org","vasif@src.gnome.org","adrighem@src.gnome.org","monsta@users.sourceforge.net","kat@unleashed.org","toivo@src.gnome.org","charles@src.gnome.org","fejj@ximian.com","mborchers@src.gnome.org","maddog@linux.org.hk","satkinson@src.gnome.org","gorkem@src.gnome.org","mkestner@src.gnome.org","garparr@teleline.es","jcorwin@src.gnome.org","naba@src.gnome.org","biswapesh_chatterjee@tcscal.co.in","gpoo@ubiobio.cl","dobey@src.gnome.org","harry.lu@sun.com","Richard.Li@Sun.COM","al_shopov@src.gnome.org","dmitrym@src.gnome.org","carton@src.gnome.org","hpj@ximian.com","pablodc@bigfoot.com","gilbert.fang@sun.com","cneumair@src.gnome.org","marcoc@src.gnome.org","yacob@src.gnome.org","pkst@src.gnome.org","algol@src.gnome.org","Sean.Gao@Sun.COM","leon.zhang@sun.com","ronald@kuetemeier.com","gpoo@ubiobio.cl","mbukovjan@src.gnome.org","mitr@src.gnome.org","suresh.chandrasekharan@sun.com","antonio.xu@sun.com","max@quendi.de","dnloreto@src.gnome.org","alex.jiang@sun.com","tss@iki.fi","jack.jia@sun.com","philip.zhao@sun.com","katzj@src.gnome.org","malcolm@src.gnome.org","msakai@src.gnome.org","cfergeau@src.gnome.org","carlos@gnome.org","kenneth@gnu.org","herzi@src.gnome.org","stojmir@src.gnome.org","byin@src.gnome.org","danilo@src.gnome.org","dsegan@gmx.net","kz@src.gnome.org","dwmw2@infradead.org","york@src.gnome.org","maxx.cao@sun.com","Yang.Wu@sun.com","tss@iki.fi","sebol@src.gnome.org","michel@daenzer.net","lgs@sicem.biz","sajith_vk@src.gnome.org","tim.wo@sun.com","lgs@sicem.biz","calvin.liu@sun.com","alexl@src.gnome.org","aasmunds@src.gnome.org","charles.zhang@sun.com","aasmunds@fys.uio.no","aflinta@src.gnome.org","rburton@src.gnome.org","metin@karegen.com","jpr@ximian.com","dubhthach@src.gnome.org","carl.sun@sun.com","grahame@angrygoats.net","serrador@src.gnome.org","serrador@cvs.gnome.org","mccann@src.gnome.org","davmre@bellsouth.net","kidd.wang@sun.com","mnicel@src.gnome.org","roozbeh@src.gnome.org","laurenti@src.gnome.org","rsedak@src.gnome.org","siva@src.gnome.org","chipx86@gnupdate.org","meilof@wanadoo.nl","gekker@novell.com","zygis@src.gnome.org","snallagatla@novell.com","aihana@src.gnome.org","aihana@gnome.gr.jp","badaa@src.gnome.org","fwang@src.gnome.org","jordim@src.gnome.org","frolix68@src.gnome.org","trowbrds@cs.colorado.edu","snallagatla@novell.com","metin@karegen.com","delacko@src.gnome.org","bill.zhu@sun.com","ituohela@src.gnome.org","Yong.Sun@sun.com","asarfraaz@novell.com","aihana@gnome.gr.jp","aihana@gnome.gr.jp","aihana@gnome.gr.jp","bruce.tao@sun.com","sarfraaz@src.gnome.org","www@reality.cz","leonz@src.gnome.org","adamw@src.gnome.org","plaes@src.gnome.org","lkanter@src.gnome.org","pratikvp@despammed.com","alexander@src.gnome.org","lathiat@sixlabs.org","hao.sheng@sun.com","hp@ndeepak.info","alfred.peng@sun.com","tiwariumesh232@rediffmaiil.com","ginxd@btopenworld.com","hp@ndeepak.info","gowen@src.gnome.org","eric.zhao@sun.com","dooteo@src.gnome.org","dooteo@euskalgnu.org","aihana@gnome.gr.jp","sammi@src.gnome.org","evandrofg@src.gnome.org","dmalcolm@redhat.com","mike@mterry.name","enver.altin@frontsite.com.tr","dalgoda@ix.netcom.com","davef@tetsubo.com","gicmo@src.gnome.org","xan@src.gnome.org","jon@focalhost.com","umeshtej@gawab.com","tejasvi_sn@gawab.com","hpnadig@pacific.net.in","vravikr@yahoo.co.uk","jerome@coffeebreaks.org","paradisetux@hotmail.com","jwillcox@src.gnome.org","aihana@gnome.gr.jp","aihana@gnome.gr.jp","pg4i@xs4all.nl","ash@contact.bg","priyanshu@students.iiit.net","vardhman@students.iiit.net","fherrera@src.gnome.org","arafatmedini@src.gnome.org","jpr@novell.com","pclouds@src.gnome.org","j@bitron.ch","aman@src.gnome.org","aihana@gnome.gr.jp","telsa@src.gnome.org","daf@src.gnome.org","toivo@linux.ee","karunakar@src.gnome.org","pvirtane@src.gnome.org","serrador@cvs..gnome.org","mdziumanenko@src.gnome.org","mvd@mylinux.com.ua","ldvornik@src.gnome.org","halfline@src.gnome.org","pchenthill@novell.com","dolfin@src.gnome.org","njaya@src.gnome.org","ankitp@src.gnome.org","kharish@src.gnome.org","sparthasarathi@novell.com","guenther@rudersport.de","tvainika@src.gnome.org","uid0@akl.lt","pchen@src.gnome.org","alesnk@src.gnome.org","mwh@src.gnome.org","bcicek@src.gnome.org","dlodge@src.gnome.org","raphaelh@src.gnome.org","aakagic@src.gnome.org","mugurelu@src.gnome.org","hannah_lins@yahoo.co.in","ttsui9@gmail.com","cjeffare@src.gnome.org","hannah_lins@yahoo.co.in","gnome-desarrollo@es.gnome.org","a9016009@gmx.de","sbacher@src.gnome.org","li.yuan@sun.com","frade@asturlinux.org","meelad@bamdad.org","jmmv@menta.net","meng-jie.yu@sun.com","torkel@acc.umu.se","steven.zhang@sun.com","dsevilla@src.gnome.org","hendrikr@src.gnome.org","snallagatla@novell.com","snallagalta@novell.com","joan@fibranet.com","rsushma@src.gnome.org","caglar@uludag.org.tr","caglar@uludag.org.tr","davidm@napali.hpl.hp.com","jvivek@src.gnome.org","pvanhoof@gnome.org","caglar@uludag.org.tr","ssato@src.gnome.org","jbowes@src.gnome.org","aihana@gnome.gr.jp","saps@src.gnome.org","jvivek@novell.com","sparthasarathi@novell.com","farnold@src.gnome.org","llipka@src.gnome.org","marcel@src.gnome.org","marco@gnome.org","torkel@acc.umu.se","psankar@novell.com","theppitak@gmail.com","gpastore@src.gnome.org","pachimho@src.gnome.org","joseppc@src.gnome.org","ari@160c.afraid.org","aattar@src.gnome.org","kelemeng@gnome.hu","smurphy@src.gnome.org","meng-jie.yu@sun.com","tml@src.gnome.org","lists@munshi.biz","sragavan@src.gnome.org","psankar@src.gnome.org","uli@myuli.com","shres@src.gnome.org","thouis@csail.mit.edu","clyties@src.gnome.org","sragavan@novell.com","kaushal@src.gnome.org","terance@lyse.net","jedy.wang@sun.com","rranjan@src.gnome.org","asarfraaz@novell.com","rhys@sucs.org","b.mury@ieee.org","matt@mattb.net.nz","kpraveen@src.gnome.org","chliao@src.gnome.org","vvaradan@src.gnome.org","shprasad@novell.com","santony@gmail.com","arunp@novell.com","lviren@novel.com","pchakravarthi@novell.com","jcolding@src.gnome.org","smohan@src.gnome.org","carsteng@src.gnome.org","mdamt@src.gnome.org","sigurd@src.gnome.org","nshmyrev@src.gnome.org","jseidel@src.gnome.org","arangela@src.gnome.org","Irene.Huang@sun.com","runab@src.gnome.org","jeff.cai@sun.com","jmubeen@novell.com","eronahi@src.gnome.org","icq@src.gnome.org","evan.yan@sun.com","boby.wang@sun.com","guenther@rudersport.de","sam.yang@sun.com","Simon.Zheng@Sun.Com","shi.pu@sun.com","sragavan@novell.com","matt@castleinthesky.org","kharish@novell.com","aihana@gnome.gr.jp","hebra@src.gnome.org","johnnyjacob@gmail.com","a9016009@gmx.de","srohini@novell.com","dsharma@src.gnome.org","slobo@akrep.be","kmaraas@gnome.org","sranjan@novell.com","kambroff@csus.edu","marcus@freebsd.org","a.t.meinen@chello.nl","ozzy_rodrigues@yahoo.com","pavithran@gmx.de","rajeevramanathan_2004@yahoo.co.in","lukasnov@src.gnome.org","kbrae@src.gnome.org","benjamin@sipsolutions.net","csaavedr@src.gnome.org","jmas@src.gnome.org","Irene.Huang@sun.com","dooteo@euskalgnu.org","lferrett@src.gnome.org","newren@gmail.com","bdejean@src.gnome.org","olau@src.gnome.org","dnylande@src.gnome.org","vsichi@src.gnome.org","a9016009@gmx.de","rakeysh_kg@yahoo.com","patrick.ohly@intel.com","nancy.cai@sun.com","simon.zheng@sun.com","poincare@ikezoe.net","pgeyleg@src.gnome.org","thomasvs@src.gnome.org","drichard@largo.com","iaindb@netspace.net.au","fpeters@entrouvert.com","carlosgc@gnome.org","garycoady@ubuntu.com","chris@heathens.co.nz","ed@catmur.co.uk","jedy.wang@sun.com","aishkalyan@gmail.com","ifelix@src.gnome.org","sa.phoenix@gmail.com","mbarnes@redhat.com","kushveen@novell.com","andi5.py@gmx.net","jovanna@src.gnome.org","rdejus@src.gnome.org","yuri.pankov@gmail.com","sa.phoenix@gmail.com","hadess@src.gnome.org","rahulb@src.gnome.org","anipeter@src.gnome.org","wbolster@src.gnome.org","sbehera@src.gnome.org","maticz@src.gnome.org","mr.zgur@gmail.com","dang@gentoo.org","behnam@zwnj.org","gintas@src.gnome.org","jahmed@src.gnome.org","nick@galaktika.ru","johan@src.gnome.org","jfriedl@src.gnome.org","halls@debian.org","djihed@src.gnome.org","raghavguru7@gmail.com","raghavguru7@gmail.com","stephaner@src.gnome.org","leonardof@src.gnome.org","grakic@src.gnome.org","nerdygirl_ellie@yahoo.com","yairhr@src.gnome.org","jorgegonz@src.gnome.org","ymarcheg@src.gnome.org","kennethn@src.gnome.org","karllinuxtest.relton@ntlworld.com","pvillavi@gnome.org","tobiasmue@src.gnome.org","laca@sun.com","gdartigu@src.gnome.org","snavin@src.gnome.org","claudep@src.gnome.org","mcrha@src.gnome.org","rbradford@src.gnome.org","msuman@novell.com","avmuttagi@gmail.com","wadimd@src.gnome.org","zyang@src.gnome.org","amitakhya@src.gnome.org","dylunio@gmail.com","pvillavi@gnome.org","abharath@novell.com","michael.monreal@gmail.com","mateju@src.gnome.org","diegoe@src.gnome.org","gforcada@src.gnome.org","damien.carbery@sun.com","indu_ait@yahoo.co.in","megous@megous.com","nmiell@gmail.com","denisw@src.gnome.org","cillian64@googlemail.com","alexkloss@att.net","sdeburca@src.gnome.org","colin@colino.net","espens@src.gnome.org","Jan.Tichavsky@gmail.com","jwendell@src.gnome.org","jwendell@gnome.org","pebolle@tiscali.nl","pmkovar@src.gnome.org","iharh@src.gnome.org","qvvx@yandex.ru","dcbw@src.gnome.org","pwithnall@src.gnome.org","pkerling@src.gnome.org","fujiwarat@src.gnome.org","dannybaumann@web.de","proppy@aminche.com","lakhil@src.gnome.org","shuai.liu@sun.com","shashish@novell.com","lucilanga@src.gnome.org","jeblinux@gmail.com","atoker@src.gnome.org","tjyrinki@src.gnome.org","roger@eskimo.com","pborelli@src.gnome.org","mfcn@gmx.de","swkothar@src.gnome.org","dmitrij.ledkov@gmail.com","sprasad@src.gnome.org","jorgegonz@svn.gnome.org","kkrothap@src.gnome.org","sandeeps@src.gnome.org","apravi@src.gnome.org","bobmauchin@src.gnome.org","ogmaciel@src.gnome.org","mcdavey@mrao.cam.ac.uk","kaprasad@novell.com","friemann@src.gnome.org","zhichao.wang@sun.com","hyperair@gmail.com","matt@mattmccutchen.net","mgiri@src.gnome.org","miloc@localhost","dumol@localhost","david.planella@gmail.com","dbailey@src.gnome.org","khaledh@localhost","holger@homac.de","david.ronis@mcgill.ca","daenzer@debian.org","Christian.Kirbach@googlemail.com","marcelcoding@googlemail.com","sukhbir.in@gmail.com","FStrba@novell.com","adam@tpetaccia.com","okul@linux.ee","baby.linux@gmail.com","damien.lespiau@intel.com","m.zindilis@dmajor.org","jeremylf@src.gnome.org","benoit@placenet.org","gforcada@gnome.org","agnihot3@gmail.com","mark125@gmail.com","sh.yaron@gmail.com","asklarsen@gmail.com","tearofadragon@googlemail.com","yavor@gnu.org","dmacks@netspace.org","mariobl@gnome.org","mahfiaz gmail com","kvandine@gnome.org","meixome@mancomun.org","waschk@mandriva.org","dooteo@dhcppc1.zundan.com","darnaud@src.gnome.org","ifelix@redhat.com","dliang@novell.com","mpopovic@src.gnome.org","jung@one.ekof.bg.ac.yu","khaledhosny@eglug.org","klepikov.alex+bugs@gmail.com","bcowan@fastmail.co.uk","aalam@users.sf.net","kkrothap@redhat.ocm","adi@roiban.ro","AE5T-KSN@asahi-net.or.jp","andrej.znidarsic@gmail.com","h.habighorst@googlemail.com","pelloux@gmail.com","phomes@gmail.com","agnihot3@gmail.com","hggdh2@gmail.com","yanli@infradead.org","tthurman@Dorothy.plexq.com","jonathon@quotidian.org","treitter@gmail.com","aronxu@gnome.org","mymzhang@gmail.com","cedric.bosdonnat.ooo@free.fr","matt@mattmccutchen.net","raywang@gnome.org","carles.ferrando@gmail.com","peter.ani@gmail.com","matthew@bells23.org.uk","vuntz@gnome.org","dominikowski@gmail.com","gustavo.noronha@collabora.co.uk","kendy@suse.cz","mk2616@abv.bg","viswanathgs@gmail.com","gns@gnome.org","jiri@eischmann.cz","frandieguez@ubuntu.com","annoa.b@gmail.com","laurentc@iol.ie","fiedler@medienkompanie.de","uli@sonntagsassi.de","pbach@src.gnome.org","tomspur@fedoraproject.org","djavan@comum.org","igor@prevod.org","m.zindilis@dmajor.org","alefteris@gmail.com","nikolaosx1@gmail.com","rlmflores@gnome.org","caiqm@marathon.Prc.Sun.COM","viswanathgs@gmail.com","jordis.lists@gmail.com","jjardon@gnome.org","j@bitron.ch","dominique-gnomezilla@leuenberger.net","jpunit@novell.com","sanfordarmstrong@gmail.com","andika@gmail.com","fran.dieguez@mabishu.com","holger.mickler@web.de","roy@marples.name","jpunit@novell.com","mario@carrion.mx","yvibha@novell.com","i.am@jimramsay.com","corsac@debian.org","gkulyk@yahoo.de","gkulyk@yahoo.de","rudolfs.mazurs@gmail.com","fta+bugzilla@sofaraway.org","craig@postnewspapers.com.au","gumaraa@gmail.com","agx@sigxcpu.org","uzytkownik2@gmail.com","vasudeven@git.gnome.org","nana@suryana.or.id","tmstaedt@t-mittelstaedt.de","lucian.grijincu@gmail.com","dancefire@gmail.com","bill_zt@sina.com","chingpang@gmail.com","juankatsampirhs@gmail.com","hao.h.li@intel.com","dirgitadevina@yahoo.co.id","vasudeven@git.gnome.org","hao.h.li@intel.com","Christian.Kirbach@googlemail.com","nikolaos.x1@gmail.com","ymyasoedov@src.gnome.org","piotrdrag@gmail.com","hannie@ubuntu-nl.org","nalimilan@club.fr","otte@redhat.com","mclasen@redhat.com","flo.gravo@gmail.com","klemen.nna@gmail.com","carlos@cmartin.tk","chihchun@kalug.linux.org.tw","wantinghard@gmail.com","marcoslansgarza@gmail.com","abdurixit@gmail.com","gheyret@gmail.com","vpivaini@cs.helsinki.fi","mathieu.trudel-lapierre@canonical.com","daniel.mustieles@gmail.com","kristjan.schmidt@googlemail.com","mk73628@gmail.com","dvratil@redhat.com","glin@novell.com","xandru@softastur.org","C.Hemsing@gmx.net","pacho@condmat1.ciencias.uniovi.es","lw124124@gmail.com","paulepanter@users.sourceforge.net","jari.urpalainen@nokia.com","cosimoc@gnome.org","ted.korostiled@gmail.com","dvratil@redhat.com","a.kitouni@gmail.com","agnihot3@gmail.com","marek@manet.cz","kano@na.rim.or.jp","niki.guldbrand@gmail.com","alban.crequy@collabora.co.uk","abnerf@gmail.com","walters@verbum.org","yuray@komyakino.ru","miroslavnikolic@rocketmail.com","andregondim@ubuntu.com","rathinusa@yahoo.co.in","md81bird@hitaki.net","ajacoutot@openbsd.org","yurchor@ukr.net","jejbev@hansenpartnership.com","aurisc4@gmail.com","tetromino@gmail.com","jmatsuzawa@src.gnome.org","kano@na.rim.or.jp","pswo10680@gmail.com","tiffany@antopolski.com","mojca.ograjsek@gmail.com","daniel.mustieles@gmail.com","muhammet.k@gmail.com","gabor.karsay@gmx.at","mdhillca@gmail.com","gymka@mail.ru","c72578@yahoo.de","tristan.van.berkom@gmail.com","joss@malsain.org","piessens@icsense.com","prahal@yahoo.com","level21@gmx.ch","grohe43@gmail.com","kasia.bondarava@gmail.com","gnome@dmorlo.com","kittykat3756@googlemail.com","miles@filmsi.net","pavol@klacansky.com","nilamdyuti@gmail.com","sasi@swecha.net","sasi@swecha.net","fc@stromata.dk","mitya@mageia.org","ibraheem5000@gmail.com","henrich@debian.org","ashwini.oruganti@gmail.com","jdapena@igalia.com","ssssam@gmail.com","reinouts@gnome.org","reklov@live.com","jbicha@ubuntu.com","mitya57@gmail.com","tomtryf@gmail.com","gcampagna@src.gnome.org","michael.g.wood@linux.intel.com","dmtrs32@gmail.com","1132321739qq@gmail.com","mail2ipn@gmail.com","sshedmak@redhat.com","mgorse@suse.com","conrad@hep.caltech.edu","chandankumar@git.gnome.org","alexandre.franke@gmail.com","rafael.f.f1@gmail.com","knight2000@gmail.com","fabiano@fidencio.org","cjl@laptop.org","mgiri@redhat.com","chilberg@src.gnome.org"],"actions":[9,248,245,58,714,22,102,1,2,44,6,8,3,7,2640,3,2,3,11,673,104,4,2,4,5,82,5,1,5,1,3,1,61,1,1,3,1,7,8,1,1,1,10,1,10,1,1,1,1,5,10,1,7,1,65,3,37,1,1,1,1,108,193,5,25,8,26,2,9,3,26,1,268,27,1,16,6,1858,1,1,50,21,28,2,13,7,1,2064,15,4,508,362,96,16,5,2,93,1597,10,1,450,232,111,42,142,1872,2,1347,1,18,11,85,1,4058,11,247,92,248,4,424,76,1,19,31,22,25,21,82,8,22,5,5,7,32,1849,5,9,66,13,4,4,19,3,1,29,10,1,28,2,1,6,15,3,45,11,18,185,24,114,7,3,63,30,102,22,1119,24,12,137,3,1,95,6,2,1,300,1,40,1,16,3,2,2,1,6,1,12,19,1,111,61,6,47,1,1,7,4,3,1,1,52,1,5,22,6,23,41,1,7,1,17,18,23,12,25,28,29,18,5,14,11,2,3,1,1,149,1,1,9,1,1,2,11,3,4,110,14,2,5,1,2,327,81,2,1,14,1,239,39,27,30,102,7,56,5,5,1,2,2,3,156,33,24,1,70,1,1,16,1,15,1,1,7,3,1,4,10,117,42,15,1,47,34,15,27,2,13,2,3,1,14,2,7,1,21,12,59,44,18,4,1,3,1,1,2,207,24,1,16,4,25,54,4,141,2,6,9,18,1,43,27,2,123,29,37,14,1,1,2,6,147,4,45,1,1,1,3,4,1,5,98,294,47,1,2,5,16,1,2,1,1,3,18,4,47,2,1,1,3,16,6,4,1,1,6,1,4,1,1,4,3,2,1,1,1,1,1,93,2,1,1,4,1,60,1,45,1,2,7,2,7,1,2,9,20,12,1,3,4,14,113,294,1,1,7,45,651,4,40,16,23,28,3,23,2,2,2,2,1,601,5,75,1,2,4,29,2,2,3,65,2,1,3,190,2,2,2,14,20,3,5,1,1,69,85,1,22,2,15,3,1,135,64,5,14,18,5,3,102,2,3,301,1,1217,95,1,37,2,79,1,8,8,4,44,1,15,2,1,14,80,48,23,3,7,3,1,6,4,9,9,2,30,2,18,11,47,34,4,2,67,2,19,5,5,45,8,3,2,2,1,2,80,1,3,55,3,1,2,1,1,1,3,1,13,9,27,1,2,13,1,15,63,2,6,1,165,8,1,1,7,1,16,58,13,1,2,2,10,2,2,2,2,26,3,15,2,3762,17,1,26,7,4,2,6,11,31,31,29,1,1,4,1,21,12,2,1,22,2,52,3,3,20,36,16,2,32,243,40,27,1,1,28,1,16,21,52,2438,9,179,2,19,5,13,7,2,102,15,110,2,24,1,1,4,1,2,5,2,45,1,1,1,3,6,22,43,22,1,4,43,4,8,2,2,12,4,7,32,1,2,12,1,6,2,46,1,67,295,7,13,3,2,6,3,1,1,2,1,8,58,1,1,16,1,2,4,2,6,65,7,1,146,2,76,4,2,5,4,1,15,8,4,1,7,33,3,1,46,26,2,5,1,1,4,11,2,2,2,5,2,13,27,11,7,22,8,2,6,2,14,2,10,7,43,1,11,1,6,4,1,19,10,1,4,1,12,4,8,2,1,5,122,33,1,13,1,3,1,10,4,2,2,4,2,1,1,7,15,2,6,3,3,22,3,3,1,26,1,34,9,2,2,6,14,1,1,1,1,1,3,4,3,8,1,1,2,1,1,2,3,4,2,2,21,41,12,1,210,4,2,3,3,1,5,4,14,8,3,5,160,5,2,608,2,6,2,2,2,6,2,13,21,2,5,43,13,3,2,4,4,6,2,21,1,2,2,7,2,4,10,3,5,2,2,2,2,10,3,2,1,2,1,1,1,1,6,2,2,2,1,1,2,2,16,5,11,3,1,3,2,3,2,2,2,2,2,1,8,1,1,3,1,3,5,1,1,1,3,2,2,2,2,1,12],"firstdate":{"sec":[30,5,57,10,7,12,36,50,3,19,30,2,11,36,33,24,5,13,37,37,16,28,55,2,13,17,57,40,46,57,54,3,24,27,50,53,9,54,2,41,51,35,6,23,20,57,45,36,24,48,35,48,26,25,17,11,15,4,18,57,14,4,22,8,12,1,4,17,58,6,15,4,23,32,32,48,21,50,40,40,12,58,31,33,47,43,13,9,23,8,56,19,19,27,35,51,56,14,4,59,19,22,53,30,0,48,47,26,47,24,19,27,56,27,48,49,26,55,31,19,21,7,13,10,20,31,48,12,38,4,24,47,20,47,34,38,37,58,21,34,51,49,38,6,49,22,50,0,50,30,4,23,12,45,25,0,22,44,46,38,35,35,48,51,14,18,11,41,53,34,5,49,46,29,50,51,5,24,59,39,22,45,30,37,37,54,31,8,37,29,57,51,54,10,36,57,6,43,56,10,0,57,13,0,53,43,46,42,8,28,58,19,36,44,14,13,18,50,53,3,38,41,45,31,3,33,54,34,34,39,45,17,31,1,24,17,4,6,52,35,18,53,52,24,33,29,59,51,11,3,47,33,21,15,28,54,36,1,1,26,51,29,4,51,11,4,40,52,32,39,31,29,40,50,27,1,1,12,8,30,50,17,5,4,5,28,21,20,34,44,56,9,5,56,32,40,2,13,5,54,19,55,13,12,10,7,2,57,32,56,35,38,16,22,1,40,28,4,8,13,51,22,41,29,0,28,59,55,59,14,41,47,56,28,11,37,47,32,1,28,49,47,53,41,24,28,4,30,35,43,26,0,17,30,34,14,28,23,48,37,19,1,46,16,49,18,18,47,4,53,32,8,11,29,9,54,35,27,9,2,6,17,0,1,47,18,16,7,55,51,53,32,15,3,22,23,36,14,57,56,11,21,23,1,18,29,58,34,19,1,59,55,3,0,35,24,49,42,39,36,21,36,28,34,30,30,22,11,48,48,27,3,37,31,7,26,0,19,7,47,45,17,32,55,12,3,16,50,34,1,9,50,27,53,41,51,28,11,7,48,28,18,54,9,57,46,6,28,2,3,13,20,8,44,49,23,5,23,32,1,33,11,51,3,18,39,36,50,52,11,1,43,0,29,19,53,33,34,1,24,29,25,27,0,3,28,45,51,46,37,47,7,9,29,32,35,49,28,5,5,2,54,58,7,40,23,10,30,52,14,57,40,1,20,19,46,10,35,30,5,56,49,38,36,25,17,23,43,32,26,3,31,28,22,10,32,46,10,31,3,7,11,32,18,16,16,38,51,41,5,48,38,8,47,45,7,21,39,29,27,48,29,56,52,16,7,22,33,50,26,32,46,8,37,23,29,54,9,23,12,50,27,30,8,40,31,2,2,15,32,5,41,2,54,40,14,13,12,1,39,10,27,31,34,1,29,21,40,30,26,14,38,48,12,6,29,40,57,51,7,26,45,9,46,27,41,51,32,12,32,47,46,11,20,49,9,13,54,33,8,7,53,21,7,26,24,28,57,55,42,31,51,18,9,57,8,7,56,34,58,0,17,6,25,34,6,27,20,21,36,35,6,47,43,0,54,59,57,39,40,34,19,4,57,29,55,2,9,17,39,21,51,3,53,57,54,45,32,40,44,23,58,43,48,22,26,20,6,44,27,15,56,38,36,46,20,32,1,25,24,25,17,26,56,47,5,9,4,4,54,41,19,51,48,5,25,48,49,38,19,52,45,4,58,16,30,5,45,14,33,27,4,22,26,45,40,21,47,38,36,44,59,43,59,53,28,20,16,27,31,43,28,56,7,15,40,49,54,2,25,59,24,15,9,1,22,4,0,24,3,12,5,51,48,34,4,8,55,10,20,57,18,57,30,26,14,44,11,55,28,2,55,23,39,41,16,44,31,35,50,45,5,8,42,16,4,58,43,23,56,31,13,53,11,34,51,14,40,42,56,46,28,2,8,49,49,21,48,50,59,29,3,24,54,29,7,47,10,35,53,3,27,33],"min":[51,37,38,59,47,21,22,49,13,49,23,18,20,56,24,40,26,28,22,27,38,12,26,28,36,26,15,55,44,44,45,46,19,57,1,21,17,2,14,57,17,23,27,35,3,47,4,59,12,52,42,23,3,18,13,43,14,16,58,6,57,40,46,51,25,12,25,37,55,42,25,50,47,42,17,56,42,37,51,34,49,31,9,15,25,10,20,6,35,49,48,13,11,59,35,0,38,4,1,28,21,0,32,35,16,42,20,13,53,1,41,43,43,10,49,48,31,39,19,49,50,17,5,43,28,4,50,49,25,5,33,40,36,29,43,42,7,47,47,42,3,6,20,47,39,40,23,56,8,5,48,47,14,42,50,27,1,46,33,31,52,54,10,56,40,25,45,49,53,54,39,7,32,4,52,30,30,54,17,48,29,42,15,17,33,30,18,58,31,17,49,54,18,23,54,23,54,0,11,39,39,35,38,10,55,35,48,15,6,7,12,13,28,5,19,45,55,19,13,56,38,46,24,20,6,33,26,33,50,20,16,47,35,13,46,23,20,13,4,29,37,43,47,39,4,19,41,15,0,30,44,16,57,41,15,23,59,13,34,37,28,36,53,48,23,32,5,5,51,45,2,5,55,20,56,47,9,27,59,27,29,10,53,20,5,22,24,17,55,36,51,22,40,46,43,18,43,25,29,7,2,50,16,56,40,57,49,50,58,21,22,49,51,13,32,20,59,14,14,18,52,53,11,11,43,55,35,30,27,44,43,12,28,45,48,21,44,35,9,7,47,49,13,58,48,39,14,56,38,31,25,24,55,15,31,9,47,59,53,42,17,6,36,34,6,46,13,38,52,24,25,54,17,30,51,25,46,14,31,37,23,12,22,5,29,46,7,41,43,7,33,9,44,30,7,41,25,34,14,19,37,43,5,36,46,21,44,44,59,45,8,46,39,25,35,59,2,24,59,41,39,32,33,30,16,53,0,12,43,9,12,28,36,39,56,56,58,17,33,40,20,1,51,27,0,23,8,0,39,1,2,45,34,35,52,8,3,5,48,49,42,18,14,25,14,13,59,8,52,10,56,56,9,9,58,54,27,29,49,56,14,54,9,12,53,3,40,48,0,42,17,18,35,58,57,50,58,7,26,2,11,25,37,55,0,37,46,21,38,0,26,29,39,41,43,37,50,55,30,48,2,14,18,25,52,59,20,6,41,23,6,46,54,30,23,33,9,45,52,0,22,9,43,3,23,23,46,29,51,46,21,45,54,17,57,32,56,31,22,38,4,36,23,42,37,14,30,15,31,48,2,23,32,34,56,23,8,38,58,56,59,20,24,20,11,19,50,47,12,53,29,59,13,58,59,34,25,54,40,14,31,59,58,21,22,53,49,2,55,7,8,8,36,28,50,28,56,41,51,14,12,33,53,29,47,56,45,54,5,50,28,35,16,27,38,9,57,1,43,11,28,36,10,55,0,1,53,6,6,54,16,14,15,22,53,11,44,34,16,29,57,0,25,40,40,24,39,14,10,19,48,4,20,23,59,11,21,32,30,42,17,59,12,24,42,52,50,31,36,45,44,43,52,52,7,33,42,20,31,14,37,10,32,27,52,32,17,19,16,3,44,42,11,44,44,41,7,23,15,11,21,19,35,15,18,2,19,22,41,49,45,27,5,2,34,2,55,29,52,18,10,5,53,39,53,44,29,48,12,25,28,25,52,4,31,56,11,30,26,10,38,11,30,17,33,8,13,10,23,44,41,31,25,34,36,53,9,44,6,14,10,11,39,50,26,42,55,8,54,38,20,54,17,6,27,59,9,46,20,16,14,21,55,16,47,7,26,14,51,59,7,53,11,18,53,27,23,9,7,15,58,11,35,26,30,28,59,46,18,38,25,21,12,47,47,29,1,15,6,33,52,27,22,36,44,22,38,34,33,16,31,29,24,25,18,55,2,47,38,18,51,5,2,30,11,32,35,32,6,16,35,9,5,49,27,1,59,39,50,36,55,7,38],"hour":[2,1,17,0,22,8,17,8,20,22,17,3,5,20,6,2,18,5,3,1,23,22,2,22,14,19,19,21,13,23,12,0,19,18,5,13,7,16,11,19,7,18,12,16,8,19,14,15,5,1,0,8,1,22,9,5,1,23,2,5,23,8,8,6,7,19,15,4,3,7,22,17,19,13,7,18,20,18,15,21,10,15,21,13,21,13,14,23,22,21,23,21,0,12,20,4,2,0,1,18,16,2,12,10,15,15,0,6,2,18,20,12,23,21,3,21,11,4,19,16,13,9,18,14,7,5,4,12,4,17,10,23,21,16,23,18,13,20,10,3,22,14,4,21,2,20,19,4,23,12,15,17,20,21,10,12,17,17,8,20,16,18,17,20,21,15,12,0,21,0,15,19,8,14,9,17,19,19,17,17,7,7,16,9,22,9,20,23,19,23,12,13,16,13,4,6,2,17,21,21,7,15,20,22,9,6,15,17,1,1,8,8,8,4,13,14,10,1,9,3,1,4,20,22,19,15,17,0,16,16,0,12,19,10,16,15,17,20,13,15,20,21,1,10,23,2,7,22,15,5,16,21,15,12,17,21,4,22,13,21,13,3,16,20,2,17,19,17,23,21,11,17,11,11,15,17,11,2,7,17,16,18,16,12,8,6,14,18,10,14,10,17,10,13,17,8,11,21,17,18,19,20,14,4,9,18,17,14,9,11,18,23,7,14,3,22,1,9,11,23,1,7,23,0,21,20,12,13,19,4,21,5,6,5,5,7,9,11,13,4,14,13,15,16,16,2,6,11,6,16,6,15,23,10,14,19,15,1,4,3,15,16,16,14,15,18,13,14,16,11,15,18,1,3,1,5,2,12,13,12,18,12,14,18,10,12,16,12,20,20,14,21,1,17,9,7,19,8,19,5,9,12,10,17,19,7,10,18,18,11,20,16,13,19,7,7,15,20,20,2,23,7,16,16,6,6,3,6,15,11,0,1,20,4,7,7,1,4,11,1,7,13,3,10,14,15,3,12,19,7,18,11,6,23,10,14,2,12,19,23,7,14,11,5,7,4,12,11,11,7,3,3,8,10,6,21,5,3,9,22,15,10,2,6,7,6,11,6,8,10,22,10,19,17,7,4,6,10,18,22,9,9,6,6,6,8,12,18,17,3,13,6,13,6,6,23,12,17,21,16,16,16,4,4,15,17,13,10,15,11,12,10,13,10,18,21,0,13,1,12,3,10,11,7,16,14,6,8,13,19,2,9,11,11,6,13,13,23,12,13,9,10,9,9,13,14,21,12,19,17,9,9,19,23,17,17,7,15,9,18,18,21,20,13,4,13,15,13,22,21,16,13,13,9,6,19,9,9,10,5,23,13,7,12,12,12,9,15,4,12,17,22,18,11,18,10,11,23,10,13,22,11,11,16,3,20,21,14,15,12,3,13,13,4,6,11,17,6,5,13,10,16,4,11,9,7,20,15,11,3,11,15,5,7,9,3,16,1,9,22,14,9,5,2,20,19,13,18,10,10,10,11,10,13,9,11,22,19,23,11,12,20,18,9,11,10,18,22,15,16,6,19,12,12,13,15,13,17,20,19,11,20,1,1,14,21,13,0,20,15,11,22,19,10,16,17,22,13,14,18,21,20,22,0,14,10,14,12,12,20,16,14,0,20,16,22,13,23,10,11,22,1,20,14,14,22,23,23,10,14,12,12,12,14,16,11,13,11,17,13,13,21,23,23,15,17,14,15,14,14,16,2,16,16,12,12,15,2,13,11,16,18,8,22,19,16,3,15,18,16,16,14,7,2,19,21,2,10,13,14,20,17,13,21,13,10,13,8,8,20,15,15,17,5,14,23,11,15,23,16,10,12,14,14,23,23,8,13,21,15,12,14,12,15,21,18,9,23,13,0,21,18,18,14,9,14,22,22,9,9,21,22,22,18,14,9,22,16,12,17,22,9,1,15,20,0,17,19,23,14,21,22,17,16,10,11,20,21,15,20,11,12,19],"mday":[12,11,26,4,12,14,14,14,15,18,19,23,27,15,20,15,10,19,26,3,21,31,11,26,27,1,10,26,4,4,4,8,20,5,6,11,12,20,20,7,22,23,26,29,30,5,8,7,11,12,19,19,24,30,15,16,17,10,11,29,3,18,18,3,9,21,26,2,6,11,15,22,23,11,19,30,29,4,8,14,8,8,19,21,27,18,4,5,23,12,16,19,3,31,31,12,21,26,26,11,8,14,9,13,16,16,19,26,27,3,3,4,4,10,7,11,14,16,23,25,26,30,2,3,5,7,8,8,15,11,16,17,21,22,25,27,10,23,24,27,29,9,29,2,3,3,7,10,16,22,27,27,27,7,10,12,12,15,25,26,10,10,2,11,6,14,7,7,24,6,7,9,15,15,17,22,30,26,27,29,17,1,6,31,11,16,21,21,11,14,28,7,10,22,25,29,3,10,12,20,24,2,11,17,25,10,10,13,14,14,15,15,19,28,3,6,18,31,20,24,28,4,11,11,19,21,16,30,12,5,27,24,20,25,23,15,3,2,20,7,14,15,22,26,18,25,17,30,9,11,18,6,7,19,23,23,24,30,2,6,9,14,22,30,18,21,24,22,26,16,3,3,7,14,14,12,18,19,22,19,24,1,9,10,16,17,21,23,1,2,14,13,27,19,16,23,23,21,23,27,1,7,8,11,27,13,19,22,29,30,1,26,8,8,12,12,13,13,19,13,2,24,24,1,22,27,28,30,1,2,30,4,5,11,11,11,12,7,17,6,23,27,27,8,11,13,15,17,18,23,25,29,31,1,4,5,6,7,10,19,19,30,30,3,4,4,10,10,12,17,17,18,19,20,23,23,25,25,30,7,17,20,25,25,12,12,14,18,18,18,20,11,11,9,27,18,21,23,25,26,28,30,6,6,13,14,25,28,2,3,6,10,11,11,20,20,22,23,23,28,29,30,6,13,27,27,28,8,12,2,22,23,22,27,30,30,8,8,8,9,17,18,20,29,10,10,19,29,30,23,25,9,14,15,16,26,17,29,28,31,7,29,4,6,6,12,12,13,14,23,1,9,13,13,14,18,21,1,1,27,1,8,14,25,25,3,3,4,3,10,20,21,21,11,15,9,21,21,27,9,11,18,23,28,29,6,14,20,2,13,5,6,9,16,16,17,19,19,19,23,26,26,30,30,30,5,7,8,21,22,6,28,2,5,5,8,10,9,22,22,30,21,12,12,27,31,2,2,8,8,9,12,12,14,19,27,27,7,8,9,19,22,26,27,7,10,12,17,23,18,23,23,29,8,29,14,28,3,30,22,22,27,17,12,10,16,21,8,24,1,5,17,20,3,13,2,26,30,13,23,26,6,11,14,27,9,12,16,19,21,2,12,13,26,3,4,4,21,8,11,22,26,29,15,28,2,9,25,21,31,7,25,28,29,30,29,30,2,24,3,3,12,21,5,12,13,24,9,14,23,1,1,17,17,28,22,13,2,2,3,7,8,16,14,28,29,3,1,4,4,4,6,9,9,11,22,7,18,3,25,19,25,30,19,27,9,26,28,6,10,11,17,26,27,31,22,1,8,10,12,13,15,22,23,8,9,15,22,2,3,25,7,9,12,6,17,26,27,1,14,13,16,25,9,14,19,20,21,21,29,11,13,13,21,7,27,28,18,22,25,27,29,28,31,1,1,6,6,9,13,15,17,18,27,27,28,28,7,18,19,19,20,3,28,29,6,29,3,14,27,8,3,21,21,23,25,30,1,11,13,14,20,22,22,23,4,8,20,22,6,8,19,25,13,27,13,15,23,29,16,20,2,11,14,18,24,2,7,8,8,20,23,26,30,6,11,19,19,20,18,5,12,17,14,12,12,6,11,13,15,17,27,2,2,6,12,23,24,29,9,3,1,24,25,13,5,12,29,1,19,10,12,25,24,20,20,21,25,26,26,26,28,7,16,20,27,22,11,2,3,4,31,8,22,30,12,13,17,1,25,6,21,24],"mon":[0,1,0,1,1,1,1,1,1,1,1,1,1,2,2,3,5,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8,8,9,9,9,9,9,10,9,10,10,10,10,10,11,11,0,0,0,0,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,4,5,5,5,5,5,5,6,6,6,6,7,7,7,8,8,8,8,8,9,10,10,10,11,11,11,8,11,11,0,0,0,0,3,1,1,1,1,1,1,1,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,6,6,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,9,9,10,9,10,10,10,11,11,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,3,3,3,3,4,4,4,5,5,5,5,5,6,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,9,9,9,9,10,10,10,11,11,11,11,11,0,0,1,2,3,4,5,5,6,7,8,9,8,9,10,10,10,10,0,5,7,10,11,11,10,0,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,0,2,3,4,4,4,4,4,5,5,5,11,5,5,6,6,6,6,6,6,6,7,7,7,7,7,8,8,8,8,6,10,10,11,11,11,11,6,11,11,11,11,11,0,8,0,0,0,0,0,0,0,1,7,0,0,8,7,0,0,0,1,1,0,1,1,1,1,1,1,6,1,10,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,6,6,6,6,6,8,8,9,11,6,3,6,6,6,6,6,6,6,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,10,10,8,10,10,10,10,10,10,11,11,11,11,11,11,11,9,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,4,4,6,4,4,4,3,4,5,5,5,5,5,4,5,6,6,4,6,6,6,6,6,7,7,7,7,8,7,7,7,8,8,8,9,9,9,9,10,10,10,10,10,11,11,11,0,8,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,8,1,2,2,2,2,2,0,2,2,3,3,4,3,4,4,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,6,7,7,7,7,8,8,9,10,11,9,0,0,0,1,2,3,10,3,4,4,5,5,5,5,6,6,3,6,6,7,7,7,8,8,8,8,9,9,9,9,8,10,10,10,10,11,11,11,9,0,0,0,1,0,1,1,2,2,2,2,2,3,3,3,3,3,3,4,5,5,3,6,6,6,7,7,7,3,8,8,8,9,9,9,9,10,11,1,2,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,4,4,4,3,4,4,4,5,4,4,5,5,6,6,6,7,7,7,8,7,7,7,8,8,8,8,8,8,8,8,8,9,9,9,9,10,10,8,10,10,10,1,10,10,10,11,7,8,11,11,0,0,0,0,0,0,0,1,1,1,1,2,2,5,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,6,6,6,0,7,7,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,8,9,9,9,10,2,10,10,10,11,0,0,1,1,1,1,1,2,2,2,2,2,2,2,2,5,3,3,3,3,4,5,5,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,9,3,10,10,10,11,0,0,0,1,1,2,2,8,2,2,2,2,2,2,2,2,2,4,4,4,4,5,6,7,7,7,0,7,7,7,8,8,8,9,9,10,8,10],"year":[98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,100,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,102,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,106,103,103,103,103,103,104,103,104,104,104,104,104,104,104,105,103,104,104,103,103,104,104,104,104,104,104,104,104,104,104,104,104,105,104,103,104,104,104,104,104,104,104,104,104,104,104,104,104,104,107,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,103,103,103,103,103,103,103,109,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,104,105,105,105,105,105,104,105,105,105,105,105,105,105,105,105,105,105,105,106,104,104,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,105,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,107,106,106,106,106,106,106,106,106,106,106,107,107,107,107,107,107,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,109,108,108,108,108,108,108,108,108,108,109,109,109,109,109,109,109,109,109,109,108,109,109,109,109,109,109,109,109,109,106,106,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,110,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,110,109,109,109,109,109,109,109,109,110,110,110,110,110,110,110,110,110,110,110,110,107,109,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,111,110,110,110,110,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,112,112,112,112,112,112,112,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112],"wday":[1,3,1,3,4,6,6,6,0,3,4,1,5,0,5,3,3,0,0,0,4,0,4,5,6,3,5,0,2,2,5,2,0,1,2,0,1,2,5,6,0,1,4,0,1,6,2,4,1,2,2,2,0,6,1,2,3,3,4,1,6,0,0,1,0,5,3,3,0,5,2,2,3,0,1,5,4,3,0,6,3,3,0,2,1,1,4,5,2,0,4,0,5,5,5,3,5,3,3,2,2,1,3,0,3,3,6,0,1,1,1,2,2,3,5,2,5,0,0,2,3,0,2,3,5,0,1,1,1,4,2,3,0,1,4,6,6,5,6,2,4,0,6,3,4,4,1,4,3,2,0,0,0,4,0,2,2,5,1,2,2,2,4,3,1,2,2,4,0,6,0,2,1,1,3,1,3,5,6,1,6,4,2,6,3,1,6,6,5,1,1,4,0,5,1,5,2,2,4,5,2,4,6,5,6,1,1,4,5,5,6,6,3,5,3,6,4,3,2,6,3,2,2,2,3,5,3,3,2,2,6,5,4,2,2,4,2,3,5,1,4,5,5,2,5,2,6,6,1,3,1,1,2,0,4,4,5,4,0,4,0,5,3,4,2,5,1,3,3,3,6,6,3,3,3,4,3,4,1,4,2,2,3,4,3,4,1,3,5,6,4,3,3,5,2,2,2,1,0,4,1,0,1,4,4,6,5,1,1,2,4,5,4,4,1,1,2,2,1,0,6,6,6,1,5,2,3,5,0,1,5,3,4,3,3,3,4,4,2,4,1,5,5,1,4,6,1,3,4,2,4,1,3,4,3,1,2,3,6,1,1,5,5,1,2,2,1,1,3,1,1,2,3,4,0,0,2,2,0,1,4,0,5,5,1,1,1,5,5,4,6,6,4,4,2,0,3,5,0,1,3,5,5,5,5,6,3,6,4,5,1,5,6,6,1,1,3,4,4,2,3,4,3,3,3,3,4,1,5,4,1,2,1,6,2,2,3,3,3,4,5,6,1,5,1,1,3,6,0,3,5,3,1,2,3,6,4,2,1,4,4,5,3,5,3,4,4,5,4,1,3,4,1,1,2,3,2,5,5,5,5,5,4,1,1,3,3,4,3,5,6,0,0,0,4,4,5,5,4,0,5,5,3,1,2,2,3,2,1,1,5,5,1,1,1,2,4,4,4,1,4,4,1,1,1,0,2,3,2,3,2,2,4,0,0,3,5,1,3,3,0,5,5,3,6,3,5,5,4,4,5,1,1,3,1,2,2,5,6,0,3,6,3,4,1,4,6,4,1,5,3,3,2,5,5,6,2,0,1,1,1,6,6,1,2,4,6,2,4,5,2,0,3,2,5,1,4,1,1,4,0,4,2,5,4,2,5,2,5,5,5,1,2,1,1,2,2,0,2,5,2,2,2,5,4,0,0,2,5,1,1,5,1,2,3,2,5,1,2,4,4,6,1,2,2,3,5,2,0,2,3,3,5,5,5,1,5,1,1,2,6,0,1,2,2,3,4,5,1,1,1,3,6,6,1,5,5,4,0,1,5,1,6,5,6,4,0,2,4,1,2,4,3,4,1,3,2,2,4,6,0,2,2,3,4,5,4,4,1,2,5,6,1,4,6,2,4,5,2,5,0,3,5,6,4,2,3,4,4,5,4,6,6,0,0,2,0,4,1,4,6,1,0,3,4,4,2,2,5,2,4,6,0,2,2,3,3,5,2,3,3,4,1,5,6,0,2,6,3,2,5,2,6,6,1,3,1,3,6,1,2,1,3,3,4,1,5,3,5,1,5,2,1,6,0,6,1,2,3,0,4,3,5,1,5,4,3,1,2,2,0,3,6,3,1,1,2,2,3,3,0,0,5,2,2,2,6,4,6,1,6,6,5,5,2,1,5,6,4,0,0,2,4,5,2,4,4,0,3,0,6,1,0,6,2,2,3,0,1,1,1,3,1,3,0,0,5,3,4,5,6,2,3,3,4,3,4,1,1,4,2,5,6],"yday":[11,41,25,34,42,44,44,44,45,48,49,53,57,73,78,104,160,108,115,122,140,150,161,176,177,181,190,206,215,215,246,250,262,277,278,283,284,292,323,280,325,326,329,332,333,338,341,6,10,11,18,18,23,29,45,46,47,68,69,87,92,107,107,122,128,140,145,152,156,161,165,172,173,191,199,210,209,215,219,225,250,250,261,263,269,290,307,308,326,345,349,352,245,364,364,11,20,25,25,101,38,44,39,43,46,46,49,85,86,93,93,94,94,130,97,101,104,106,113,115,116,120,122,123,125,127,128,128,135,131,136,137,141,142,145,147,161,174,175,178,180,190,210,214,215,215,219,222,228,234,239,239,239,250,253,255,255,258,268,269,283,283,306,284,310,318,311,341,358,5,6,8,14,14,16,21,29,25,26,28,47,59,64,89,100,105,110,110,130,133,147,157,160,172,175,179,183,190,192,200,204,213,222,228,236,252,252,255,256,256,257,257,261,270,275,278,290,303,323,327,331,337,344,344,352,354,15,29,42,63,116,143,170,175,203,226,245,274,262,279,317,318,325,329,17,175,228,333,342,344,321,5,6,18,22,22,23,29,32,36,39,44,21,29,76,79,82,21,84,105,122,122,126,133,133,162,168,169,355,169,174,181,189,190,196,197,201,203,212,213,225,224,238,261,258,265,265,201,326,330,334,340,341,344,207,346,352,355,362,363,0,268,7,7,11,11,12,12,18,43,213,23,23,243,233,26,27,29,31,32,29,34,35,41,41,41,42,187,47,309,53,57,57,67,70,72,74,76,77,82,84,88,90,91,93,95,96,97,100,109,109,120,120,123,124,124,130,130,132,137,137,138,139,140,143,143,145,145,150,158,168,171,176,176,193,193,194,198,198,260,262,283,344,189,117,199,202,204,206,207,209,211,218,218,225,226,237,240,245,246,249,253,254,254,263,263,265,266,266,271,272,273,279,286,300,300,301,312,316,245,326,327,326,331,334,334,342,342,342,343,351,352,354,302,9,9,18,28,29,53,55,67,72,73,74,84,75,87,86,89,96,118,123,125,186,131,131,132,103,142,151,159,163,163,164,137,171,181,181,146,181,188,194,205,205,214,214,215,214,253,231,232,232,253,257,252,293,293,299,281,314,321,326,331,332,339,347,353,1,256,309,5,8,15,15,16,18,18,18,22,25,25,29,29,29,35,37,38,51,52,248,58,60,63,63,66,68,8,80,80,119,110,131,101,146,150,152,152,158,158,159,162,162,164,169,177,177,187,188,189,199,202,206,207,218,221,223,228,203,229,234,234,240,250,271,286,331,336,302,21,21,26,47,70,99,319,110,127,143,151,155,167,170,183,193,91,206,210,224,234,237,248,253,256,269,281,284,288,291,263,305,315,316,329,336,337,337,293,7,10,21,56,28,45,58,61,68,84,80,90,97,115,118,119,120,119,150,153,175,93,184,193,202,217,224,225,113,252,257,266,274,274,290,290,332,356,43,60,60,61,65,66,74,103,117,118,93,120,123,123,123,125,128,128,130,141,96,137,122,144,169,144,149,169,177,189,206,208,217,221,222,259,237,238,242,264,243,250,252,254,255,257,264,265,280,281,287,294,305,306,267,310,312,315,36,320,329,330,334,225,255,349,358,8,13,18,19,20,20,28,41,43,43,51,65,85,178,76,80,83,85,87,86,89,90,90,95,95,98,102,104,106,107,116,116,117,117,126,137,138,138,139,122,147,148,156,179,183,194,207,7,214,232,232,234,236,241,243,253,255,256,262,264,264,265,276,280,292,294,248,280,291,297,316,85,316,318,326,362,15,19,32,41,44,48,54,60,65,66,66,78,81,84,88,156,100,108,108,109,137,155,162,167,164,192,192,217,222,224,226,259,238,244,244,248,254,265,266,271,281,92,304,327,328,346,4,11,28,31,49,69,71,267,83,79,79,80,84,85,85,85,87,127,136,140,147,173,192,214,215,216,30,220,234,242,255,256,260,274,298,310,264,328],"isdst":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0]},"lastdate":{"sec":[28,2,31,13,8,18,42,50,26,14,45,37,15,43,38,35,42,17,0,45,21,28,53,31,27,54,36,40,39,57,53,3,45,27,50,17,9,21,13,41,51,35,30,23,15,57,45,36,24,39,20,48,21,25,26,4,43,4,18,57,14,5,36,15,46,38,34,41,47,53,36,4,37,1,32,21,23,30,40,40,19,40,27,56,16,29,13,30,21,26,43,45,8,9,47,35,2,50,52,59,20,1,49,58,32,10,4,10,47,13,1,20,56,25,27,2,21,6,9,7,54,7,24,2,22,58,20,34,54,52,8,44,16,44,7,56,23,42,13,36,26,0,34,6,0,16,50,12,57,30,31,28,3,30,51,57,49,4,25,56,14,44,28,36,59,56,54,24,42,9,5,9,31,18,50,5,5,47,59,25,17,37,27,37,35,54,58,31,37,58,33,3,7,10,36,29,47,52,56,10,32,57,1,26,36,50,51,42,39,28,55,48,21,7,26,50,13,32,42,25,0,41,4,31,3,25,54,34,24,39,45,39,32,11,2,15,35,32,26,35,34,21,51,24,33,37,59,52,18,30,54,43,51,33,32,42,36,1,59,58,5,34,44,51,30,4,40,29,32,55,31,29,6,9,27,12,36,25,30,26,50,35,27,9,31,35,1,20,31,44,4,23,3,56,37,15,47,1,55,55,19,55,13,12,19,9,32,57,38,31,21,52,42,32,25,7,11,45,8,43,5,1,27,0,14,37,59,55,57,42,18,20,50,28,11,37,57,48,1,2,54,48,52,41,5,33,55,30,27,43,26,25,57,31,6,31,28,23,7,35,13,8,46,16,9,18,12,47,4,14,3,8,11,29,9,54,35,44,44,2,6,48,0,15,47,32,16,16,3,36,48,32,46,14,12,1,36,4,45,16,31,28,23,1,34,40,2,30,24,6,47,16,7,15,58,24,40,20,39,59,57,26,28,23,10,12,25,18,3,7,56,3,5,25,9,4,27,2,53,36,48,17,32,52,55,3,14,35,29,9,9,48,42,49,32,36,3,26,32,10,54,31,54,15,28,46,23,26,44,3,48,37,43,0,49,45,47,23,38,18,8,55,19,7,30,39,58,2,39,39,54,37,5,47,24,58,1,44,59,43,58,37,38,39,56,15,5,26,30,37,56,46,9,45,51,44,49,44,5,5,2,56,58,21,28,7,10,55,47,14,41,36,58,46,19,15,40,35,30,15,56,15,41,0,25,43,23,58,59,26,58,31,53,30,2,32,31,47,31,15,19,24,32,40,21,14,51,7,41,5,11,38,37,24,45,7,38,39,38,35,35,35,43,40,8,24,59,5,0,26,32,47,8,46,10,21,29,34,1,51,53,3,37,56,32,31,18,33,56,13,5,41,10,54,14,55,6,25,1,39,10,53,2,4,31,20,21,43,57,29,49,18,26,50,38,36,55,57,59,58,26,57,1,12,27,32,4,46,25,5,16,10,20,20,49,14,13,25,6,8,7,21,21,22,5,42,53,33,46,42,16,18,56,34,46,29,48,56,20,11,52,17,15,17,30,6,16,35,15,16,35,6,55,33,32,49,12,51,18,7,45,0,25,42,44,21,26,1,45,11,16,15,3,53,50,54,24,19,40,4,9,58,54,48,35,5,47,23,44,13,46,48,38,29,46,49,32,29,34,11,20,38,36,56,47,7,15,32,37,30,36,50,52,25,5,52,48,49,50,8,33,12,24,58,16,30,5,45,15,20,30,42,22,26,51,40,21,36,45,42,32,43,5,45,4,28,24,2,9,18,40,28,42,10,35,14,16,25,9,13,21,33,32,56,36,37,40,16,43,1,17,46,5,7,29,54,55,55,55,18,25,39,57,27,36,49,45,26,10,20,57,57,59,59,2,58,3,6,35,17,45,5,8,42,23,22,37,4,23,56,5,17,25,49,23,45,14,8,41,48,46,6,46,26,40,49,3,48,50,24,29,10,7,54,29,7,17,32,37,9,8,27,42],"min":[40,57,4,19,41,50,8,49,54,30,29,3,23,22,13,59,56,1,6,12,34,26,35,56,4,34,15,55,49,44,21,46,3,57,1,5,17,56,42,57,17,23,43,35,31,47,4,59,12,26,1,23,28,18,14,0,42,16,58,6,57,22,28,42,26,58,37,45,25,53,11,50,4,0,17,20,33,24,51,34,45,34,34,16,37,44,20,26,13,23,24,38,58,47,28,7,19,2,29,28,44,58,34,40,23,54,15,52,53,3,53,56,43,17,10,37,4,19,26,18,23,17,53,42,30,52,3,52,13,16,37,19,58,5,52,17,6,52,45,9,42,0,43,47,24,4,23,57,4,5,44,44,44,0,13,48,5,3,53,37,14,2,3,10,59,52,37,31,7,55,39,11,15,47,52,42,30,3,17,41,9,43,6,17,17,30,27,40,31,11,3,36,57,23,54,49,36,55,11,39,41,35,15,20,20,17,44,15,17,7,6,4,13,37,37,19,29,2,36,40,20,55,59,20,6,15,26,33,39,20,16,19,46,59,45,5,29,47,26,29,42,46,49,39,4,48,41,5,42,26,16,37,59,13,55,54,59,13,35,30,4,58,4,48,1,32,5,53,51,0,2,5,15,10,56,28,0,48,49,29,29,55,8,47,48,31,56,17,22,36,20,24,38,46,16,16,50,32,24,26,2,14,16,56,11,16,8,50,50,12,33,35,6,17,35,3,33,5,14,56,46,41,26,10,19,10,35,30,46,10,36,21,20,45,48,21,13,56,9,23,33,42,41,58,18,9,39,56,38,31,25,52,52,2,56,12,47,59,38,49,21,23,36,34,24,46,11,38,52,19,59,0,17,30,51,25,46,38,46,37,23,8,22,31,29,10,7,17,42,13,54,9,26,11,1,53,25,7,34,28,20,53,5,36,8,17,34,33,46,53,11,48,54,2,38,59,42,31,59,48,15,2,33,39,58,7,54,12,47,0,16,28,52,47,3,5,58,20,44,56,5,1,51,18,40,23,25,23,24,2,2,36,43,26,5,3,16,19,36,29,47,41,14,33,29,13,18,14,34,10,12,21,28,21,58,33,33,29,53,44,4,4,23,16,58,3,6,23,24,53,47,50,40,11,45,12,22,4,44,44,14,10,0,24,56,25,52,30,56,0,44,58,39,59,38,45,50,53,30,48,2,10,18,53,34,44,20,5,5,23,50,22,3,29,23,47,21,45,52,23,22,36,3,59,23,28,46,8,57,46,31,45,26,51,18,32,17,2,22,19,9,8,23,30,0,14,41,39,31,48,49,23,22,36,56,23,19,38,22,0,8,36,23,11,17,0,9,32,57,53,29,0,13,32,51,58,17,31,31,4,37,30,2,45,25,41,15,32,33,18,8,8,29,28,32,5,39,56,51,14,12,40,3,1,31,30,45,41,28,23,36,58,15,49,15,39,20,1,45,29,28,41,1,40,0,26,1,37,40,13,32,20,9,22,53,40,44,42,56,29,57,2,25,34,20,15,19,58,20,19,43,28,41,8,58,24,43,32,18,52,30,59,41,44,8,52,4,29,39,31,44,43,29,28,9,34,56,1,34,33,42,38,17,39,41,22,48,20,23,5,43,42,37,44,41,41,40,26,15,43,41,19,17,15,42,41,20,29,41,44,24,44,5,5,34,49,55,2,3,20,12,26,10,39,53,59,54,48,33,53,3,50,34,40,31,5,11,36,38,26,39,31,24,17,33,8,13,10,16,4,15,31,25,34,36,53,9,42,13,41,15,13,32,18,56,42,41,2,18,41,7,54,50,41,8,41,43,42,36,29,41,38,41,7,41,41,41,1,41,27,15,41,56,43,52,41,41,41,41,42,42,22,35,42,8,46,8,20,59,57,54,8,8,8,9,26,3,56,6,40,52,27,22,36,47,23,38,37,33,16,44,35,15,47,31,45,2,53,16,22,51,11,4,31,13,32,25,32,6,8,35,40,10,49,27,1,41,42,58,38,56,7,16],"hour":[3,19,18,23,18,6,3,8,23,22,19,15,18,20,16,0,19,3,20,16,12,16,7,21,20,13,20,21,15,23,5,0,20,18,5,21,7,7,3,19,7,18,15,16,17,19,14,15,5,19,10,8,22,22,20,4,14,23,2,5,23,13,15,15,19,19,1,5,15,12,16,17,20,23,7,18,14,19,15,21,3,19,19,13,12,19,14,17,21,3,17,19,14,18,18,4,14,8,18,18,17,10,20,16,4,14,23,18,2,15,10,15,23,3,22,7,14,20,8,14,13,9,19,19,9,13,8,11,2,16,1,19,21,11,17,1,20,7,14,4,8,18,18,21,22,21,19,13,12,12,18,17,18,20,9,15,21,16,20,18,19,22,16,17,23,15,10,9,3,23,15,11,18,23,9,22,19,23,17,12,3,7,21,9,22,9,20,14,19,0,10,22,11,13,4,4,0,12,21,21,18,15,18,12,8,4,23,17,11,1,17,19,16,6,9,22,14,23,11,12,16,20,4,22,19,1,17,0,22,16,0,13,12,10,21,21,6,20,13,15,20,16,11,10,23,4,7,21,18,10,16,22,22,11,20,8,4,22,3,22,15,17,6,20,8,17,19,5,23,18,11,17,9,0,15,11,15,1,11,1,16,14,10,7,7,6,16,18,11,14,7,17,7,13,20,22,21,21,12,10,19,17,14,4,16,11,15,14,4,11,16,9,6,13,3,5,21,14,11,3,14,20,5,19,0,17,12,13,22,9,11,18,11,5,5,7,10,5,13,7,1,20,18,16,19,9,9,11,9,16,6,18,1,12,12,19,15,1,22,19,13,8,16,14,11,18,11,14,16,20,3,19,1,3,1,5,2,17,17,12,18,17,14,10,10,13,16,15,23,20,8,21,10,13,23,9,19,12,19,16,10,13,10,17,14,17,11,14,15,9,10,1,21,22,8,7,15,20,20,23,20,8,16,14,11,10,15,6,23,18,9,1,20,8,3,3,1,6,8,0,17,13,3,17,9,15,23,10,12,7,18,11,14,12,8,9,4,15,21,4,8,14,11,11,5,4,19,9,8,7,11,4,3,15,6,20,5,3,10,19,16,12,6,13,9,6,9,8,6,20,18,16,21,18,6,17,10,10,16,21,9,10,9,13,7,3,8,14,17,3,14,21,13,13,14,21,12,8,21,16,16,19,4,15,13,23,13,20,23,11,12,13,21,10,18,9,2,13,1,20,3,7,22,10,16,14,6,14,13,19,2,9,11,13,10,13,20,19,12,0,9,11,9,13,12,15,18,12,19,17,18,9,23,19,17,17,15,15,9,19,16,21,23,11,4,13,19,10,9,21,16,18,13,22,13,8,20,13,4,11,21,8,13,16,12,18,19,22,8,9,17,22,14,11,4,13,18,21,10,13,22,11,9,17,15,22,21,18,22,11,11,13,9,19,8,9,17,6,5,10,10,23,23,12,9,18,12,15,20,19,11,20,17,7,9,5,16,18,12,22,14,17,5,3,17,15,8,0,15,10,10,13,18,16,21,14,7,19,16,5,23,20,18,18,19,10,20,14,16,23,6,19,6,17,13,15,14,17,20,11,9,17,0,17,18,11,12,0,13,15,14,13,10,10,18,17,12,23,14,1,18,20,18,0,18,18,22,16,12,18,11,22,0,13,16,12,13,6,1,11,22,0,21,14,14,23,9,23,18,0,12,20,17,12,16,16,13,12,18,6,13,11,23,23,15,17,14,15,22,17,17,4,16,16,12,12,15,0,13,18,16,18,20,18,12,16,18,8,11,18,1,14,15,18,14,18,10,18,13,15,18,11,18,17,18,18,18,0,18,10,23,18,12,13,16,18,18,18,18,18,18,11,14,18,14,15,14,9,18,11,23,14,14,14,14,11,14,12,13,0,21,18,18,14,6,14,15,22,9,9,21,22,19,18,16,12,22,21,11,17,22,9,1,15,20,0,11,19,23,10,21,22,10,16,10,11,23,21,15,20,11,12,12],"mday":[31,16,21,9,29,24,10,14,25,17,7,28,21,25,4,25,27,10,8,17,1,27,6,1,27,18,25,26,16,4,1,8,22,5,6,17,12,24,20,7,22,23,20,29,18,5,8,7,11,28,22,19,11,30,21,3,24,10,11,29,3,21,21,11,6,5,12,2,22,8,1,22,20,26,19,14,26,6,8,14,8,28,21,21,8,23,4,9,21,21,29,4,4,29,7,12,17,19,20,11,6,26,9,23,12,17,12,26,27,29,5,2,4,3,24,30,11,22,3,17,18,30,12,15,5,27,8,30,14,11,23,2,12,11,21,23,31,9,16,27,20,25,10,2,11,21,7,12,9,22,27,20,23,30,20,15,29,24,25,18,27,28,25,9,31,19,20,7,17,9,7,9,3,10,17,28,30,26,27,24,3,1,17,31,26,16,7,2,11,12,4,3,26,22,25,28,4,22,12,20,29,2,6,24,2,22,30,13,18,14,24,23,9,1,2,3,7,21,20,29,28,4,14,11,19,12,16,30,10,5,27,24,28,2,23,17,13,2,1,7,14,27,3,26,18,24,17,15,10,19,26,28,7,28,4,12,24,30,5,6,8,30,7,30,12,21,24,19,26,22,3,3,13,21,14,28,30,11,21,17,24,21,1,16,9,17,17,23,1,2,2,13,18,19,8,1,25,3,16,17,1,3,8,11,30,14,27,22,28,14,17,20,11,8,12,12,30,30,19,21,25,24,17,13,24,22,28,30,28,18,15,14,30,11,11,11,10,3,17,19,1,29,29,8,17,25,27,17,23,23,25,1,8,21,26,5,6,7,26,13,13,10,30,3,28,4,10,10,12,7,23,18,19,20,23,23,25,13,31,7,17,13,25,4,12,22,14,4,1,18,8,11,15,7,3,5,21,26,25,6,16,29,6,6,14,9,14,19,17,4,17,30,19,10,20,20,22,23,23,12,14,9,6,13,22,8,25,8,6,15,24,23,22,7,1,1,8,6,12,1,2,18,20,8,18,10,11,30,28,23,25,22,4,22,14,7,14,26,5,1,21,12,4,29,7,12,20,30,6,23,14,15,21,28,14,23,21,1,23,5,14,3,26,15,21,3,29,12,23,26,28,12,29,21,5,17,8,11,4,13,11,22,2,3,27,30,9,31,2,13,25,20,9,13,16,21,19,22,19,23,26,13,30,26,30,22,7,30,20,22,28,26,3,18,5,4,12,9,22,6,30,3,30,9,27,31,2,14,8,8,9,12,15,8,13,27,17,1,8,13,29,22,26,7,10,23,29,20,23,18,27,23,10,29,29,14,15,3,18,22,25,7,7,10,10,22,4,2,20,1,5,1,20,4,19,3,17,11,26,24,14,4,23,13,27,29,8,29,6,15,2,12,7,26,7,4,7,26,8,11,22,27,27,1,24,28,9,29,25,23,7,25,5,1,4,7,11,2,24,24,3,6,13,12,12,30,3,28,25,7,1,25,7,17,28,22,13,29,26,3,7,24,16,16,14,30,19,27,22,4,16,6,29,19,20,17,14,18,3,27,23,25,29,19,20,9,20,26,10,23,11,17,31,1,31,22,1,26,10,4,4,29,22,13,29,15,15,22,15,3,21,16,18,12,29,17,29,6,1,26,29,16,9,9,29,29,18,22,21,23,1,13,13,7,7,19,28,20,23,25,27,30,28,31,1,10,11,6,6,23,19,28,27,29,27,23,28,19,18,25,19,29,16,28,29,6,29,3,7,6,28,29,21,21,23,25,30,6,11,29,14,20,4,28,26,4,29,28,23,29,9,19,21,29,14,29,16,29,28,6,29,13,29,26,29,29,29,26,29,18,25,29,26,9,5,29,29,29,29,29,29,29,17,29,14,4,14,2,28,17,7,14,14,14,14,15,4,26,29,6,3,1,24,25,11,5,15,29,1,19,10,12,14,3,22,24,21,25,7,26,26,28,7,16,20,27,1,11,2,4,4,31,31,22,30,12,23,17,1,25,6,21,26],"mon":[2,1,2,1,5,6,8,1,5,6,9,7,3,4,11,4,1,5,8,10,7,2,11,6,7,6,1,6,11,7,2,8,0,9,9,10,9,10,3,9,10,10,7,10,10,11,11,0,0,2,7,0,2,0,2,8,5,2,2,2,3,2,2,8,5,11,3,5,9,6,5,5,7,6,6,11,3,5,7,7,9,8,1,8,10,0,10,11,7,7,7,2,4,8,4,0,7,6,5,3,8,7,7,5,7,0,4,7,2,7,6,3,3,6,4,6,2,6,8,4,4,3,8,7,8,5,8,6,11,8,2,9,5,6,8,10,4,5,3,5,7,10,9,7,1,2,7,4,8,7,10,9,9,10,5,8,8,1,3,10,9,9,3,6,0,11,0,8,7,8,0,2,6,4,0,1,0,7,0,8,3,2,9,2,0,3,5,1,4,11,5,7,8,5,5,11,6,9,6,6,5,7,3,8,10,1,9,8,3,8,6,6,6,4,8,3,8,8,0,3,5,11,11,11,11,8,0,0,11,2,3,4,4,6,0,10,7,9,10,9,10,3,6,10,0,0,7,2,10,8,7,1,1,2,8,4,0,0,1,1,3,7,3,0,8,2,2,10,2,0,4,4,11,3,4,3,7,11,6,0,5,4,3,7,0,6,9,6,7,7,11,7,11,8,2,11,8,6,2,5,11,0,11,11,8,11,9,11,4,4,4,8,8,3,0,10,3,8,0,2,0,0,8,2,4,2,0,0,2,2,8,1,8,1,1,1,4,7,1,1,1,3,5,2,8,4,0,2,2,2,2,3,3,5,8,3,3,3,0,11,6,4,3,4,1,4,5,4,4,5,5,4,4,4,4,4,4,9,4,5,5,8,5,9,6,2,6,8,11,8,2,9,11,3,10,2,6,6,6,5,2,2,7,7,8,9,4,11,9,3,1,7,1,2,8,8,8,8,8,11,7,10,9,10,6,8,1,10,11,2,11,10,10,7,11,11,11,7,0,5,10,11,11,4,0,0,2,0,11,1,1,11,9,5,1,2,7,4,11,3,3,10,4,2,10,4,1,4,1,4,9,7,8,10,5,4,5,6,8,8,9,9,8,8,9,7,4,2,8,7,7,6,7,1,5,3,3,10,0,2,10,6,0,2,1,3,0,11,0,8,0,4,0,1,9,1,0,0,0,0,0,5,0,6,3,8,1,2,11,1,7,4,2,6,2,8,3,0,2,10,3,6,2,8,4,4,5,8,5,5,5,5,0,6,2,5,11,3,6,11,0,6,6,11,2,8,5,8,6,7,10,7,2,2,8,9,7,11,2,0,0,2,0,3,3,7,3,0,2,5,5,1,5,1,9,9,11,7,1,9,5,2,3,8,8,5,7,9,8,3,10,10,3,10,11,11,11,8,0,0,0,1,8,3,8,9,2,5,5,9,3,3,4,2,5,0,8,5,5,8,6,3,7,10,7,10,11,10,2,2,9,7,0,9,10,11,1,5,8,2,2,2,2,3,4,3,4,10,1,4,10,4,5,10,4,3,4,4,10,9,7,4,5,4,8,6,10,2,7,7,7,8,7,9,7,8,8,2,8,8,10,8,2,10,5,1,11,9,3,10,11,4,5,10,5,10,3,3,11,8,5,11,0,0,5,5,8,1,0,2,10,5,1,7,2,3,5,2,2,2,2,2,2,2,3,3,7,3,10,11,3,9,3,3,3,11,3,9,4,6,4,4,8,4,4,5,5,6,7,7,6,10,7,7,7,7,7,8,8,5,8,8,10,9,8,9,5,9,9,5,9,9,8,5,8,5,10,5,9,0,5,11,5,10,5,5,5,10,5,5,8,5,8,11,10,5,5,5,5,5,5,9,5,5,8,9,8,1,9,1,4,8,8,8,8,8,0,8,8,10,3,10,10,10,10,0,0,0,1,1,2,2,11,9,4,8,2,3,4,2,2,2,4,4,4,4,10,6,7,8,7,0,9,7,7,8,8,8,9,9,10,8,10],"year":[98,100,101,100,111,98,112,98,99,100,98,100,98,101,106,101,99,98,102,112,101,99,98,98,98,102,99,98,98,98,99,98,105,98,98,98,98,98,105,100,98,98,101,98,99,98,98,99,99,99,99,99,101,99,102,99,104,99,99,99,99,100,100,105,102,102,102,99,100,99,104,99,110,105,99,100,102,105,99,99,101,101,101,99,100,101,99,103,100,100,102,102,103,101,100,100,100,102,101,100,102,105,100,103,100,108,100,104,100,100,101,103,100,108,100,104,102,104,101,105,101,100,103,101,105,105,105,102,100,103,101,101,101,103,107,100,108,105,108,100,100,101,100,100,103,104,100,105,100,100,102,101,100,100,101,103,105,102,107,100,100,101,103,103,105,111,103,105,101,101,101,104,101,101,101,102,102,104,101,101,101,101,102,101,102,101,101,103,101,102,104,101,103,101,101,102,101,101,101,101,111,101,103,102,101,107,101,101,112,101,102,102,102,103,104,109,103,102,103,110,103,101,101,101,101,109,102,102,103,102,102,102,105,102,104,103,104,102,102,102,102,106,106,102,102,104,102,105,103,103,104,105,103,110,106,103,103,103,103,103,106,104,105,103,112,103,103,103,103,104,103,103,111,104,103,106,105,103,107,104,103,112,104,103,104,103,104,103,103,103,103,103,103,103,110,103,106,107,110,104,103,104,103,103,106,106,110,103,104,104,106,108,108,105,104,104,104,112,104,109,105,104,110,106,108,105,104,104,104,104,109,105,105,104,104,104,104,105,104,104,106,112,111,104,104,104,105,104,104,104,104,104,105,104,111,104,104,104,106,105,109,104,104,104,106,104,104,104,104,104,104,104,104,104,104,104,104,112,104,104,104,104,104,112,104,109,103,104,104,103,108,103,103,110,108,105,104,104,104,106,109,107,104,104,111,106,112,105,105,111,108,107,105,107,104,104,104,104,104,112,108,109,104,104,106,105,105,104,104,109,104,104,104,106,104,104,104,105,109,105,106,104,104,107,106,105,106,105,108,105,105,108,112,107,108,107,106,105,112,105,105,109,105,112,108,105,106,105,109,105,105,105,107,112,105,107,105,105,105,112,111,105,105,105,105,105,107,108,105,105,105,109,105,108,107,110,110,105,108,109,105,106,106,106,107,106,108,105,106,104,105,109,106,106,106,106,106,106,106,106,106,106,106,106,106,107,106,107,109,106,109,112,106,106,106,112,108,106,106,108,106,107,109,108,106,106,106,111,106,106,106,106,110,106,109,106,112,110,106,111,109,106,106,109,108,112,111,106,107,106,106,106,109,110,106,106,107,106,109,107,107,108,109,109,107,110,109,109,112,107,107,110,107,109,108,111,112,110,109,107,110,108,110,109,107,111,108,112,109,109,107,107,108,107,107,107,107,111,108,108,108,108,110,110,112,112,108,111,112,108,109,108,108,110,108,109,112,108,108,112,108,110,108,112,108,112,111,112,111,112,108,109,109,108,108,108,109,111,111,109,109,112,109,109,112,109,110,112,110,109,110,109,111,109,109,110,106,106,112,109,109,109,111,110,109,109,112,112,109,109,109,109,109,110,109,110,109,111,109,112,112,111,110,112,111,112,111,109,110,109,109,110,110,109,111,109,110,110,109,112,111,109,112,110,111,111,112,110,110,112,112,112,110,110,110,107,109,112,110,110,110,110,110,110,110,112,112,110,112,111,110,112,110,110,110,111,110,112,110,110,110,110,112,110,110,110,110,110,110,110,110,111,110,110,110,110,110,112,110,111,110,110,112,112,111,110,111,112,110,111,110,110,111,111,111,111,110,111,112,112,111,112,111,111,111,111,111,112,111,112,112,111,111,112,112,111,111,111,111,111,111,112,111,111,111,112,111,112,112,112,112,111,111,111,111,111,112,111,111,111,111,111,111,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112],"wday":[2,3,3,3,3,5,1,6,5,1,3,1,2,5,1,5,6,3,0,6,3,6,0,3,4,4,4,0,3,2,1,2,6,1,2,2,1,2,3,6,0,1,1,0,4,6,2,4,1,0,0,2,0,6,4,5,4,3,4,1,6,2,2,0,4,4,5,3,0,4,2,2,5,2,1,4,5,1,0,6,1,5,3,2,3,2,4,2,1,1,4,1,0,6,0,3,4,5,3,2,5,5,3,1,6,4,5,4,1,2,4,3,2,4,3,5,1,4,1,2,5,0,5,3,1,1,4,2,4,4,5,2,2,5,5,4,6,4,3,2,0,0,2,3,2,0,1,4,6,2,3,6,1,4,3,1,4,0,3,6,5,0,5,3,1,1,1,3,5,0,0,2,2,4,3,4,3,4,6,1,2,4,4,6,6,1,4,0,5,4,5,5,5,5,1,6,3,1,4,5,3,4,0,2,5,4,2,4,3,5,3,2,2,4,4,5,0,6,1,4,6,2,5,2,3,6,3,3,3,2,6,5,6,2,5,1,5,3,5,1,4,4,1,2,5,6,6,2,1,5,4,1,5,0,1,1,5,4,3,4,6,1,4,4,3,5,1,3,3,4,6,6,2,3,3,5,2,4,6,6,2,1,4,6,5,4,0,3,5,6,2,3,4,5,1,1,1,2,2,4,1,6,1,4,6,4,3,1,5,5,3,6,4,5,1,5,5,0,1,6,2,6,5,1,6,2,3,5,0,4,2,1,5,3,3,3,1,3,2,4,3,0,3,1,5,2,4,3,2,2,4,4,5,1,1,1,2,3,4,2,1,1,5,1,2,2,4,1,3,1,3,2,3,4,0,0,2,6,1,1,4,1,5,4,1,0,1,6,3,4,6,6,1,3,1,6,3,1,0,2,1,4,5,5,3,1,1,1,1,1,0,4,6,6,1,1,3,4,4,3,4,1,3,6,6,4,5,1,1,0,5,2,1,1,3,3,3,6,1,3,4,6,1,2,3,1,6,0,0,3,5,1,4,5,4,3,1,4,3,5,4,4,3,4,5,4,1,1,5,1,5,1,5,3,2,3,2,5,5,3,5,1,1,4,5,3,2,3,5,5,0,0,1,4,2,6,4,5,5,5,5,6,1,5,2,0,3,6,1,1,2,3,1,1,1,2,4,0,4,1,4,2,1,3,0,6,2,5,0,3,5,6,5,2,0,2,6,1,3,4,0,2,1,2,6,3,5,3,4,4,5,1,5,6,5,2,1,4,6,2,4,6,3,1,1,0,3,3,1,5,1,3,2,1,5,6,3,0,3,1,4,5,3,5,2,0,6,5,2,5,2,1,3,3,0,1,1,3,4,3,1,2,5,0,4,3,5,1,0,3,5,1,1,1,5,2,5,1,2,5,2,3,1,4,1,0,0,3,1,4,2,5,1,1,3,3,2,1,2,1,4,2,3,1,2,5,6,3,5,3,3,2,3,5,5,1,5,3,1,2,6,6,1,4,1,4,3,2,1,1,2,3,3,4,3,6,0,4,6,2,0,1,3,3,0,4,2,1,1,0,2,4,1,5,1,3,2,6,4,2,0,4,1,2,3,3,4,4,4,2,1,0,5,4,3,2,4,2,2,3,3,3,1,6,3,3,2,1,4,5,4,3,6,6,0,4,0,2,2,4,6,2,0,3,4,2,6,2,2,5,1,0,2,4,2,5,3,5,2,0,3,6,0,5,6,0,2,6,6,5,3,2,6,6,1,3,1,4,6,3,2,1,0,0,1,1,3,0,6,3,6,2,3,3,3,3,2,3,0,5,3,4,3,6,3,3,3,1,3,1,2,3,1,0,1,3,3,3,3,3,3,1,5,3,3,4,3,4,0,5,1,3,3,3,3,4,3,1,4,0,0,2,4,5,0,4,0,0,3,0,6,1,5,3,2,1,3,3,1,1,1,3,1,3,0,0,4,3,4,2,6,2,3,3,4,3,0,1,1,4,2,5,1],"yday":[89,46,79,39,179,204,253,44,175,198,279,240,110,144,337,144,57,160,250,321,212,85,339,181,238,198,55,206,349,215,59,250,21,277,278,320,284,327,109,280,325,326,231,332,321,338,341,6,10,86,233,18,69,29,79,245,175,68,69,87,92,80,80,253,156,338,101,152,295,188,152,172,231,206,199,348,115,156,219,225,280,270,51,263,312,22,307,342,233,233,240,62,123,271,127,11,229,199,170,101,248,237,221,173,224,16,132,238,86,241,185,91,94,184,144,211,69,203,245,136,137,120,254,226,247,177,250,210,348,253,81,274,162,191,263,327,151,159,106,178,232,328,283,214,41,80,219,131,252,234,330,292,296,334,170,257,271,54,114,322,300,300,114,189,30,352,19,249,228,251,6,68,183,129,16,58,29,238,26,266,92,59,289,89,25,105,157,32,130,345,155,214,268,172,175,361,184,294,192,200,179,213,95,266,305,52,302,255,108,256,204,203,189,120,245,92,249,263,19,118,178,337,347,344,352,254,15,29,343,63,116,143,147,182,22,320,225,274,304,279,317,116,183,329,17,23,228,73,313,261,238,58,37,86,246,131,23,29,35,36,97,242,96,29,255,79,82,322,84,21,122,122,346,111,133,117,241,344,201,16,174,141,91,227,8,197,290,203,212,213,335,224,351,261,66,334,267,183,74,168,334,2,341,344,272,347,299,355,148,134,136,263,254,97,11,316,120,273,18,79,24,23,259,71,144,80,27,29,87,77,257,44,272,41,41,41,130,214,47,49,31,119,179,67,260,145,26,76,82,82,84,91,97,172,268,95,96,97,25,346,193,130,120,123,58,124,161,130,132,158,174,138,139,140,143,143,145,286,151,158,168,256,176,277,193,80,194,247,335,260,67,283,348,96,307,63,202,207,206,156,74,87,218,218,256,281,134,352,289,93,47,241,49,68,263,263,265,266,266,346,226,312,279,317,202,250,55,312,340,73,358,327,326,218,335,335,342,217,11,151,305,352,354,127,17,9,69,29,362,53,55,356,277,172,44,65,225,145,339,90,110,315,123,88,311,131,50,149,36,142,286,226,263,332,164,142,171,181,265,248,286,275,268,257,293,214,148,71,265,237,239,192,240,51,155,106,97,314,3,71,314,202,1,61,57,119,8,364,1,256,24,139,8,43,288,51,18,21,18,22,25,163,29,206,119,264,37,88,353,52,239,146,61,198,63,247,102,8,80,310,119,183,88,252,146,150,152,256,158,158,159,162,14,188,71,177,351,90,188,346,28,202,206,340,69,266,179,262,203,229,330,234,68,87,271,286,226,336,76,21,24,66,6,99,99,233,93,1,79,151,155,31,170,34,292,275,351,222,56,296,164,63,112,255,269,179,220,302,248,104,305,315,97,329,340,337,340,268,7,10,21,57,269,90,267,301,68,179,176,296,96,115,125,59,155,6,254,153,175,267,184,95,225,316,224,334,336,332,83,66,274,236,6,290,332,356,43,179,268,61,65,83,74,105,134,119,138,331,52,123,319,125,179,322,139,106,133,137,307,299,234,144,179,138,262,189,324,85,221,234,222,259,242,273,242,264,243,84,252,247,308,271,80,317,179,45,348,294,104,306,354,135,168,315,179,320,118,95,334,269,179,349,8,8,179,179,261,52,20,82,305,164,43,218,65,108,178,79,81,83,85,88,86,89,90,100,223,95,310,356,108,301,116,118,116,356,117,292,137,205,138,148,259,147,148,156,179,183,218,217,208,332,232,232,234,236,241,249,253,179,256,262,308,301,268,276,179,301,295,179,281,291,263,179,256,179,319,179,301,5,179,347,179,329,179,179,179,330,179,169,268,179,268,343,309,179,179,179,179,179,179,302,167,179,256,277,256,32,301,47,127,256,256,256,256,257,3,268,271,309,92,304,327,328,315,4,14,28,31,49,69,71,348,276,142,267,80,115,127,85,85,87,127,136,140,147,305,192,214,247,216,30,304,234,242,255,266,260,274,298,310,264,330],"isdst":[1,0,0,0,1,1,1,0,1,1,1,1,1,1,0,1,0,1,1,0,1,0,0,1,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,1,0,1,1,1,0,1,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0,0,1,0,0,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,1,0,0,0,0,0,1,1,0,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,1,0,1,0,0,1,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,1,0,0,1,1,0,0,0,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,0,1,0,0,1,1,1,1,1,0,1,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,0,1,1,0,1,0,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,1,1,0,1,0,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,1,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,0,0,0,1,1,1,1,0,0,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,1,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,0]},"stay":[78,736,1150,736,4885,160,5321,0,495,880,230,917,54,1167,3181,1136,262,52,1597,5313,1168,300,178,5,61,1478,230,0,134,0,178,0,2316,0,0,37,0,35,2343,0,0,0,998,0,353,0,0,0,0,76,215,0,778,0,1130,199,1955,0,0,0,0,338,338,2323,1125,1294,1051,0,504,27,1813,0,4076,2207,0,503,1002,2133,0,0,761,751,521,0,408,463,0,1495,272,252,987,806,1340,638,128,0,209,905,512,0,941,2020,182,1226,178,2892,84,1615,0,148,458,1093,0,2975,48,1570,696,1559,498,1848,387,0,1228,469,1949,1877,1949,813,213,1218,311,503,387,1145,2675,179,2912,1811,2853,0,51,504,74,0,923,1326,0,1736,24,0,822,419,57,84,283,1098,1843,527,2404,53,17,383,904,1001,1547,4052,804,1735,235,247,0,1155,169,115,0,402,0,1308,0,238,45,0,590,0,290,0,47,652,0,576,1103,57,838,0,0,547,1,104,0,0,3627,0,603,403,69,1991,50,0,3869,0,312,311,293,580,1065,2736,689,326,426,3078,578,1,2,0,0,2821,0,0,666,0,0,0,1073,7,549,459,710,0,42,0,0,1259,1319,0,0,578,0,836,336,282,647,784,31,2625,1320,108,0,0,3,0,1154,564,806,0,3466,0,0,301,0,281,0,0,3142,343,0,1051,804,175,1307,211,0,3247,267,37,177,0,454,0,0,0,110,0,113,0,2365,70,1098,1443,2305,203,0,27,0,0,65,1097,2504,0,151,136,867,1820,1708,456,0,304,109,3183,0,1496,543,1,2427,925,1736,420,0,0,56,45,2055,377,603,0,0,0,88,27,0,105,708,2984,2679,0,190,73,318,0,5,0,0,3,372,81,1636,0,0,0,657,604,1911,10,0,0,665,0,31,0,0,21,37,0,0,0,0,0,0,3063,1,0,0,85,0,3023,0,1714,0,414,502,0,1631,0,4,272,1652,230,0,3,0,680,1692,972,0,0,2588,786,2819,478,410,2404,1259,1083,161,910,0,0,0,0,0,2998,1415,1866,0,31,633,316,121,0,24,1655,32,0,0,618,1,1,0,241,1496,174,685,0,0,921,373,0,417,1,1428,0,0,1384,2761,828,1065,711,515,58,2809,0,14,1658,0,2519,1220,0,284,17,1394,0,135,67,830,2725,0,735,0,0,84,2658,2296,87,74,52,88,0,664,951,51,350,8,1421,8,893,628,2047,1630,21,799,1251,0,246,40,95,455,145,756,11,0,0,81,1231,0,28,273,35,0,3,0,0,0,138,0,177,90,594,0,415,1398,0,1452,2279,1,135,0,2371,764,0,0,960,0,438,1053,881,0,0,0,1930,0,0,0,0,1313,24,998,0,2365,1364,0,1982,925,0,0,1229,581,2236,1782,34,0,0,96,0,924,1298,0,0,260,0,870,0,3,405,690,760,0,1375,714,605,1762,0,0,960,0,583,464,1645,1971,1108,563,62,1023,180,955,730,0,1359,301,1840,688,572,0,0,146,0,3,0,3,1436,0,0,0,1,972,776,1670,1701,0,1191,1557,206,365,0,7,672,35,253,1565,0,0,1635,0,633,24,1560,0,1571,953,1541,922,1262,0,328,83,0,0,0,0,850,938,0,0,1112,0,2,1112,1,776,1305,294,0,561,0,781,194,9,330,36,0,1280,155,65,0,760,334,85,0,1213,972,4,13,0,0,5,400,0,0,0,564,0,1088,1148,744,181,1148,629,859,791,0,164,0,87,190,221,0,508,0,154,130,0,1138,654,0,745,0,531,526,972,32,0,784,994,851,0,167,0,23,0,732,1,0,0,1,0,0,0,740,857,0,942,618,4,925,9,2,0,604,0,896,0,67,0,9,867,0,0,0,0,0,24,10,201,483,0,0,0,0,0,736,0,289,0,0,775,767,368,0,265,739,1,296,0,0,331,229,171,228,1,218,669,355,160,680,138,285,131,125,119,630,113,468,555,98,184,620,518,79,71,71,70,42,24,505,0,15,64,450,39,175,442,186,233,18,12,12,8,3,103,2,0,28,0,0,0,0,334,0,3,0,0,0,0,0,446,193,63,188,0,31,42,0,0,0,0,0,0,0,132,0,0,32,0,0,84,0,0,0,10,0,0,0,0,0,2]}} \ No newline at end of file diff --git a/test/jasmine/data/json/demographics-gimp.json b/test/jasmine/data/json/demographics-gimp.json new file mode 100644 index 00000000..0a0372b5 --- /dev/null +++ b/test/jasmine/data/json/demographics-gimp.json @@ -0,0 +1 @@ +{"demography":{"id":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,286,287,288,289,290,291,292,293,294,295,296,297,298,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,391,392,393,394,395,397,398,399,400,401,402,403,404,405,406,408,409,410,411,412,413,414,415,416,417,418,419,420,421,423,424,425,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,530,531,532,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589],"name":["Sven Neumann","Elliot Lee","Gnome CVS User","Eric L. Hernes","Adrian Likins","Manish Singh","Raph Levien","Shawn Amundson","People doing a 16 bpc version of gimp","Arturo Espinosa","scott","Christoph Hoegl","Owen Taylor","Tim Janik","Larry Ewing","Federico Mena","CST 1998 Francisco Bustamante","Lauri Alanko","Federico Mena Quintero","CST 1998 Larry Ewing","CST 1998 Larry Ewing","CST 1998 Francisco Bustamante","EST 1998 Adrian Likins","Ben Gertzfield","Matt Wilson","EST 1998 Matthew Wilson","Nate Summers","EDT 1998 Matthew Wilson","EDP 1998 Matthew Wilson","George Lebl","rhlabs","Marc Ewing","EDT 1998 Matthew Wilson","Robert Norris","Frank Belew (Myth)","EDT 1998 Adrian Likins","PST 1999 Manish Singh","EDT 1998 Adrian Likins","Chris Lahey","CDT 1998 Shawn T. Amundson","CDT 1998 Larry Ewing","Manish Vachharajani","Tuomas Kuosmanen","PDT 1998 Adrian Likine","Seth Burgess","CDT 1998 Larry Ewing","jaycox","Michael Johnson","EDT 1998 Michael K. Johnson","Adam D. Moss","EDT 1998 Michael K. Johnson","Gregory McLean","Raja R Harinath","Tim P. Gerla","Stuart Parmenter","Tristan Tarrant","BST 1998 Adam D. Moss","Andy Thomas","BST 1998 Andy Thomas","Ville Hautamaki","EDT 1998 Adrian Likins","Nam SungHyun","BST 1998 Adam D. Moss","Vincent Renardias","BST 1998 Andy Thomas","Austin Donnelly","BST 1998 Austin Donnelly","Marc Lehmann","CEST 1998 Marc Lehmann","GMT 1998 Andy Thomas","EST 1998 Adrian Likins","EST 1998 Adrian Likins","Jay Cox","GMT 1998 Austin Donnelly","CST 1998 Shawn T. Amundson","EST 1998 Nick Fetchak","Yukihiro Nakai","Szabolcs Ban","GMT 1999 Andy Thomas","Tomasz K\u0142oczko","Peter Teichman","GMT 1999 Adam D. Moss","GMT 1999 Austin Donnelly","Tomas \u00d6gren","GMT 1999 Adam D. Moss","EST 1999 Mandrake","Tor Lillqvist","CST 1999 Shawn T. Amundson","EST 1999 Adrian Likins","Sergey I. Panov","Michael Natterer","EST 1999 Adrian Likins","Pavel Machek","BST 1999 Adam D. Moss","Asbj\u00f8rn Pettersen","BST 1999 Andy Thomas","BST 1999 Adam D. Moss","BST 1999 Austin Donnelly","Martin Baulig","Kjartan Maraas","MEST 1999 Sven Neumann","MEST 1999 Sven Neumann","EDT 1999 Adrian Likins","EST 1999 Matt Wilson","EST 1999 Matt Wilson","mitchell","CDT 1999 James Mitchell","Kelly Martin","PST 2002","EDT 1999 Adrian Likins","EDT 1999 Austin Donnelly","CDT 1999 Shawn T. Amundson","Vidar Madsen/gimpressionist","Pablo Saratxaga","Olof S Kylander/GIMP","James Henstridge","CDT 1999 James Mitchell","Nick Lamb /GIMP","Zach Beane","Chyla Zbigniew","Olof S Kylander","CEST 1999 Olof S Kylander","Simon Budig","Stanislav Brabec","GMT 1999 Austin Donnelly","CET 1999 Olof S Kylander","SHIRASAKI Yasuhiro","Garry R. Osgood","CET 1999 Olof S Kylande","EST 1999 Gregory McLean","EST 2000 Adrian Likins","GMT 2000 Andy Thomas","GMT 2000 Adam D. Moss","Scott D Heavner","Yuri Syrota","David Monniaux","Andreas Hyd\u00e9n","EST 2000 Gregory McLean","GMT 2000 Austin Donnelly","jfell","CET 2000 Joaquim Fellmann","Kelly Lynn Martin","Robert Brady","Fellmann Joaquim","Birger Langkjer/danish translations","BST 2000 Adam D. Moss","Gert Dewit","Valek Frob","jtl","BST 2000","Manuel de Vega Barreiro","Kenneth Christiansen","BST 2000 Andy Thomas","EDT 2000 Adrian Likins","CET Austin Donnelly","BST 2000 Adam D. Moss","Daniel Egger","Jesus Bravo Alvarez","Jorge Godoy","BST 2000 Austin Donnelly","CEST 2000 Stanislav Brabec","Rodrigo Sancho Senosiain","Kevin Turner","BST 2000 Austin Donnelly","Piers Cornwell","Alastair McKinstry","Se\u00e1n \u00d3 Ceallaigh/Irish translations","Christian Rose","Christian Meyer","Christophe Merlet","Andrew V. Samoilov","CET 2000 Simon Budig","Richard Hult","Fatih Demir","Mel Boyce","David Neary","Marius Andreiana","Ole Laursen","Andras Timar","Emese Kovacs","Kwok-Koon Cheung","Carlos Perell\u00f3 Mar\u00edn","Almer S. Tigelaar","Gediminas Paulauskas","Mantas Kriauciunas","PDT 2001 Manish Singh","PST 2001 Manish Singh","Vincent van Adrighem","Roy-Magne Mo","Duarte Loreto","Simos Xenitellis","Stano Visnovsky","Stanislav Visnovsky","PST 2002 Manish Singh","Andraz Tori","Dave Neary","Marco Wessel","Hans Breuer","Jacob Berkman","Nathan Summers","Rapha\u00ebl Quinet","Pedro Gimeno Fortea","Pedro Gimeno","GMT 2001 Adam D. Moss","18:16:50 Adam D. Moss","Keld J\u00f8rn Simonsen","Jing-Jong Shyue","Mathieu Lacage","Thomas Canty","Wang Jian","David Odin","Rebecca Walter","Vasif Ismailoglu MD","jjranta","G\u00f6rkem \u00c7etin","Jakub Steiner","Zbigniew Chyla","Maurits Rijk","Marcel Telka","He Qiangqiang","Christian Neumair","Dom Lachowicz","Jan Mor\u00e9n","Daniel Yacob","Michal Bukovjan","Manish Sing","Jan Mor\u00c3n","Gustavo Maciel Dias Vieira","Pablo del Campo","Pablo Gonzalo del Campo","Abel Cheung","Gustavo Noronha Silva","Miloslav Trmac","Evandro Fernandes Giovanini","Takeshi Aihana","updated ja.po. T.Aihana","Dmitry Mastrukov","Danilo \u0160egan","Paul Duffy","Ivan Stojmirov","Henrik Brix Andersen","Mohammad DAMT","Helvetix Victorinox","Changwoo Ryu","Sajith VK","Ville P\u00e4tsi","Nikos Charonitakis","Gil Osher","Marco Ciampa","Hasbullah Bin Pit","Artur Flinta","Denis Lackovic","Daniel Rogers","Pablo G. del Campo","Jordi Mallach","Dov Grobgeld","Michael Schumacher","Francisco Javier F. Serrador","Robert Sedak","Adam Weinberger","Sigurd Gartmann","Funda Wang","\u017dygimantas Beru\u010dka","Gareth Owen","Guntupalli Karunakar","I\u00f1aki Larra\u00f1aga Murgoitio","I\u00f1aki Larra\u00f1aga","Sam\u00fael J\u00f3n Gunnarsson","Maxim V. Dziumanenko","Maxim Dziumanenko","Karl Eichwalder","Philip Lafleur","Roman Joost","L\u00e1szl\u00f3 Dvornik","William Skaggs","David Lodge","Laurent Dhima","Amanpreet Singh Alam","Bill Skaggs","Shlomi Fish","Ray Strode","Tommi Vainikainen","Carol Spears","Kevin Cozens","Raphael Higino","Hendrik Brandt","\u00d8yvind Kol\u00e5s","Niklas Mattisson","Cai Qian","Peteris Krisjanis","Martin Willemoes Hansen","Sven Herzberg","Alexander Shopov","Ilkka Tuohela","Steven Michael Murphy","Josep Puigdemont i Casamaj\u00f3","Adi Attar","Leonid Kanter","Priit Laes","Hendrik Richter","2","Akkana Peck","Karine Delvare","Baris Cicek","Pawan Chitrakar","Guilherme de S. Pastore","Clytie Siddall","Jens Seidel","Ignacio Casal Quinteiro","Ankitkumar Rameshchandra Patel","Rajesh Ranjan","Arangel Angov","Beno\u00eet Dejean","Nickolay V. Shmyrev","Jakub Friedl","Thomas James Alexander Thurman","Sven Neumann","Vladimer Sichinava","Kristian Rietveld","Nguyen Thai Ngoc Duy","Mukund Sivaraman","Maurits","Hendrik Boom","Kevin Sookocheff","Pedro Alonso","Jovan Naumovski","Pema Geyleg","Kostas Papadimas","Theppitak Karoonboonyanan","Alexandre Prokoudine","Yair Hershkovitz","Djihed Afifi","Gabor Keleman","Gabor Kelemen","Jordi Mas","St\u00e9phane Raimbault","Jo\u00e3o Sebasti\u00e3o de Oliveira Bueno Calligaris","Jo\u00e3o S. O. Bueno Calligaris","Raymond Ostertag","Alessio Frusciante","Roozbeh Pournader","Martin Nordholts","Roberto Majadas","Claudio Saavedra","Wadim Dziedzic","Yannig MARCHEGAY","Jorge Gonzalez Gonzalez","Daniel Nylander","Inaki Larranag Murgoitio","Gintautas Miliauskas","Ulf-D. Ehlert","Axel Wernicke","Claude Paroz","Raivis Dejus","Nils Philippsen","Matic \u017dgur","Gil Forcada Codinachs","Julien Hardelin","Leonardo Ferreira Fontenelle","Joao S. O. Bueno","Yanko Kaneti","Timo Jyrinki","Philip Withnall","\u00c5smund Skj\u00e6veland","Lars-Peter Clausen","Ihar Hrachyshka","Mugurel Tudor","Aurimas Ju\u0161ka","Daniel Eddeland","Khoem Sokhem","Chao-Hsiung Liao","Ales Nyakhaychyk","Goran Rakic","Aron Xu","Kenneth Nielsen","Petr Kov\u00e1\u0159","Wouter Bolsterlee","Felix I","Jani Monoses","Og B. Maciel","SANDRA MARAKKALA DANISHKA NAVIN","Alexia Death","dumol","Tobias Mueller","Shankar Prasad","Kappa8086","Fotis Tsamis","Stephen Griffiths","Fredrik Alstr\u00f6mer","drtvasudevan","Christopher Montgomery","Takeshi Matsuyama","Monty","Nicholas Doyle","Mads Lundby","Per Kongstad","NISHIBORI Kiyotaka","Jie Ding","zhenfeng zhao","Massimo Valentini","zhenfeng","Mason Thomas","Barak Itkin","Denis Arnaud","Alan Monfort","Christopher Howard","Jorge Gonz\u00e1lez","Francisco Vila","Tomasz Dominikowski","Tim Harder","Hleb Valoshka","Khaled Hosny","Alexander Jones","Cristian Secar\u0103","Tal Trachtman","SHIRAKAWA Akira","Kolbj\u00f8rn Stuest\u00f8l","Anna Jonna \u00c1rmannsd\u00f3ttir","Sveinn \u00ed Felli","Bruce Cowan","Vasilis Kontogiannis","Tournaris Pavlos","Milo\u0161 Popovi\u0107","Javier Jard\u00f3n","\u795e\u5dde\u6563\u4eba","Mircea Purdea","Nils-Christoph Fiedler","David Planella","Lucian Grijincu","Omari Stephens","Adi Roiban","Kretynofil","Jon Nordby","Russell Kyaw","Mattias P\u00f5ldaru","rubikcube","Rudolfs Mazurs","Jerry Baker","Christian.Kirbach","vasudeven","Matej Urban\u010di\u010d","Martin Srebotnjak","Andika Triwidada","Olle Niit","Mihkel T\u00f5nnov","Gilles Rochefort","Nelson A. de Oliveira","Cameron Gregory","Thorsten Vollmer","Sira Nokyoongtong","Xandru Armesto","SimaMoto,Ry\u014dTa","Fernando Correia","Michael Mur\u00e9","Rupert Weber","Andrew Wyatt","Lucian Adrian Grijincu","David Gowers","Kiyotaka NISHIBORI","\u0141ukasz Jerna\u015b","drtv","Gil Forcada","KermiDT","Lloyd Konneker","A S Alam","Bogdan Szczurek","Patrick Horgan","Baurzhan Muftakhidinov","Christian Krippendorf","Joe Hansen","Carles Ferrando","Mikael Magnusson","Rob Antonishen","mike2718","Tryneeds-Chinese","Pedro Barreira","Bartosz Kosiorek","Daniel Mustieles","Petr Ovtchenkov","Martin Renold","peter sikking, m+mi works","Eric Grivel","Saul Goode","Daniel Korostil","Joaqu\u00edn Aramend\u00eda","Enrico Schr\u00f6der","Dr.T.Vasudevan","YunQiang Su","Christian Kirbach","Kristjan SCHMIDT","Yoshinori Yamakawa","Dave Lichterman","massimo v","Evgenia Petoumenou","Dimitris Spingos","Albert","Enrico Schro\u0308der","Jennie Petoumenou","Alexander H\u00e4mmerle","Bruno Gurgel","Piotr Dr\u0105g","Fran Dieguez","\u041c\u0438\u043b\u043e\u0448 \u041f\u043e\u043f\u043e\u0432\u0438\u045b","Jernej Simon\u010di\u010d","S\u00edlvia Miranda","Jenny Petoumenou","dmustieles","Gitte Illum Petersen","Bruno Brouard","Eul\u00e0lia Pag\u00e8s","Mario Bl\u00e4ttermann","ipraveen","Nguy\u1ec5n V\u0169 H\u01b0ng","Alexis Wilhelm","A_Kabanov","Benjam\u00edn Valero Espinosa","txhuy","Richard Popeli\u0161","Mike Melancon","Karthikeyan S","Victor Oliveira","Jiro Matsuzawa","Albert F","Quim Perez i Noguer","Muhammet Kara","M. Aydin","Marek \u010cernock\u00fd","Mustafa AYDIN","Aurimas \u010cernius","Praveen Illa","Miroslav \u0160ulc","Franciscos Vila","swecha","Daniel \u0218erb\u0103nescu","Ville Sokk","malay.keshav","Praveen Arimbrathodiyil","Richard Bowers","Seong-ho Cho","Sebastian Pipping","Rodrigo Padula de Oliveira","Dimitris Spingos (\u0394\u03b7\u03bc\u03ae\u03c4\u03c1\u03b7\u03c2 \u03a3\u03c0\u03af\u03b3\u03b3\u03bf\u03c2)","Vanessa Gomes de Lima","Kiran Kumar Chava","Mark Kwidzi\u0144sczi","Michael Henning","Sebul","Jihui Choi","Daniel Sabo","Eulalia","Matthias Wenzel","Jan Lieskovsky","Sandeep Shedmake","Sweta Kothari","Manoj Kumar Giri","Pau Iranzo","Sergio Cipolla","Tom Tryfonidis","Mike Gran","Chris Leonard","Richard Allen","Simone Karin Lehmann","Jehan","Elle Stone","Liam Quin","Clayton Walker","Daniel Winzen","Wouter","taijuin","Rafael Ferreira","Peter Mr\u00e1z","Ionutz Borcoman"],"email":["neo@src.gnome.org","sopwith@src.gnome.org","gnomecvs@src.gnome.org","erich@src.gnome.org","adrian@src.gnome.org","yosh@src.gnome.org","raph@src.gnome.org","amundson@src.gnome.org","film@src.gnome.org","unammx@src.gnome.org","scott","darkwing@src.gnome.org","otaylor@src.gnome.org","timj@src.gnome.org","lewing@src.gnome.org","federico@bananoid.nuclecu.unam.mx","pancho@nuclecu.unam.mx","nether@src.gnome.org","federico@nuclecu.unam.mx","lewing@gimp.org","lewing@gimp.org","pancho@nuclecu.unam.mx","adrian@gimp.org","che@src.gnome.org","msw@src.gnome.org","msw@gimp.org","rockwalru@src.gnome.org","msw@gimp.org","msw@gimp.org","jirka@src.gnome.org","rhlabs","marc@redhat.com","msw@gimp.org","srn@src.gnome.org","frb@src.gnome.org","adrian@gimp.org","yosh@gimp.org","adrian@gimp.org","clahey@src.gnome.org","amundson@gimp.org","lewing@gimp.org","mvachhar@src.gnome.org","tigert@src.gnome.org","adrian@gimp.org","sjburges@src.gnome.org","lewing@gimp.org","jaycox@src.gnome.org","johnsonm@src.gnome.org","johnsonm@redhat.com","adam@src.gnome.org","johnsonm@redhat.com","gregm@src.gnome.org","harinath@src.gnome.org","timg@src.gnome.org","pavlov@src.gnome.org","ttarrant@src.gnome.org","adam@gimp.org","alt@src.gnome.org","alt@picnic.demon.co.uk","ville@src.gnome.org","adrian@gimp.org","namsh@src.gnome.org","adam@gimp.org","vinc@src.gnome.org","alt@picnic.demon.co.uk","austin@src.gnome.org","austin@greenend.org.uk","pcg@src.gnome.org","pcg@goof.com","alt@picnic.demon.co.uk","adrian@gimp.org","adrian@gimp.org","jaycox@earthlink.net","austin@greenend.org.uk","amundson@gtk.org","nuke@bayside.net","nakai@src.gnome.org","bansz@src.gnome.org","alt@picnic.demon.co.uk","kloczek@src.gnome.org","teichman@src.gnome.org","adam@gimp.org","austin@greenend.org.uk","stric@src.gnome.org","adam@gimp.org","mandrake@mandrake.net","tml@src.gnome.org","amundson@gimp.org","adrian@gimp.org","sipan@src.gnome.org","mitch@src.gnome.org","adrian@gimp.org","pavel@src.gnome.org","adam@gimp.org","asbjoer@src.gnome.org","alt@gimp.org","adam@gimp.org","austin@gimp.org","martin@src.gnome.org","kmaraas@src.gnome.org","sven@gimp.org","sven@gimp.org","alikins@redhat.com","msw@gimp.org","msw@gimp.org","mitchell@src.gnome.org","mitchell@gimp.org","kelly@src.gnome.org","caro","alikins@redhat.com","austin@gimp.org","amundson@gimp.org","vidar@src.gnome.org","pablo@src.gnome.org","olofk@src.gnome.org","jamesh@src.gnome.org","mitchell@gimp.org","nicklamb@src.gnome.org","xach@src.gnome.org","chyla@src.gnome.org","olof@frozenriver.com","olof@gimp.org","Simon.Budig@unix-ag.org","utx@src.gnome.org","austin@gimp.org","olof@gimp.org","yasuhiro@src.gnome.org","garo@src.gnome.org","olof@gimp.org","gregm@comstar.net","adrian@gimp.org","alt@gimp.org","adam@gimp.org","sdh@src.gnome.org","rasta@src.gnome.org","monniaux@src.gnome.org","ahyden@src.gnome.org","gregm@comstar.net","austin@gimp.org","jfell@src.gnome.org","joaquim@hrnet.fr","kelly@poverty.bloomington.in.us","rbrady@src.gnome.org","joaquim@hrnet.fr","birger@src.gnome.org","adam@gimp.org","gertd@src.gnome.org","frob@src.gnome.org","jtl@src.gnome.org","alt@gimp.org","barreiro@src.gnome.org","kenneth@src.gnome.org","alt@gimp.org","adrian@gimp.org","austin@gimp.org","adam@gimp.org","egger@suse.de","jesusb@src.gnome.org","docsbr@src.gnome.org","austin@gimp.org","utx@penguin.cz","ruy@src.gnome.org","acapnotic@src.gnome.org","austin@gimp.org","halcyon@src.gnome.org","alastairmck@src.gnome.org","seanc@src.gnome.org","menthos@src.gnome.org","chrisime@src.gnome.org","redfox@src.gnome.org","andrew@src.gnome.org","simon@gimp.org","rhult@src.gnome.org","kabalak@src.gnome.org","syngin@src.gnome.org","bolsh@src.gnome.org","mandreiana@src.gnome.org","olau@src.gnome.org","timar@gnome.hu","emese@gnome.hu","baddog@src.gnome.org","carlos@src.gnome.org","almer@src.gnome.org","menesis@src.gnome.org","mantelis@centras.lt","yosh@gimp.org","yosh@gimp.org","adrighem@src.gnome.org","rmo@src.gnome.org","dnloreto@src.gnome.org","simos@src.gnome.org","stano@src.gnome.org","visnovsky@nenya.ms.mff.cuni.cz","yosh@gimp.org","minmax@src.gnome.org","bolsh@gimp.org","cyber@src.gnome.org","hans@src.gnome.org","jberkman@src.gnome.org","rock@gimp.org","raphael@src.gnome.org","pgimeno@src.gnome.org","pggimeno@wanadoo.es","adam@gimp.org","adam@gimp.org","keld@src.gnome.org","shyue@src.gnome.org","mathieu@src.gnome.org","tommy@src.gnome.org","lark@src.gnome.org","dindinx@src.gnome.org","rjp@mail.tele.dk","vasif@src.gnome.org","jjranta@src.gnome.org","gorkem@src.gnome.org","jimmac@src.gnome.org","cyba@gnome.pl","maurits@src.gnome.org","marcel@src.gnome.org","carton@src.gnome.org","cneumair@src.gnome.org","doml@src.gnome.org","JanneM@src.gnome.org","yacob@src.gnome.org","mbukovjan@src.gnome.org","yosh@gimp.org","jan.moren@lucs.lu.se","gdvieira@zaz.com.br","pablodc@src.gnome.org","pablodc@bigfoot.com","maddog@linux.org.hk","gns@src.gnome.org","mitr@src.gnome.org","evandrofg@src.gnome.org","aihana@src.gnome.org","aihana@gnome.gr.jp","dmitrym@src.gnome.org","danilo@src.gnome.org","dubhthach@src.gnome.org","stojmir@src.gnome.org","brix@src.gnome.org","mdamt@src.gnome.org","Helvetix@src.gnome.org","cwryu@src.gnome.org","sajith_vk@src.gnome.org","drc@src.gnome.org","frolix68@src.gnome.org","dolfin@src.gnome.org","marcoc@src.gnome.org","sebol@src.gnome.org","aflinta@src.gnome.org","delacko@src.gnome.org","dsrogers@src.gnome.org","pablodc@bigfoot.com","jordim@src.gnome.org","dov@src.gnome.org","schumaml@src.gnome.org","serrador@cvs.gnome.org","rsedak@src.gnome.org","adamw@src.gnome.org","sigurd@src.gnome.org","fwang@src.gnome.org","zygis@src.gnome.org","gowen@src.gnome.org","karunakar@src.gnome.org","dooteo@src.gnome.org","dooteo@euskalgnu.org","sammi@src.gnome.org","mdziumanenko@src.gnome.org","mvd@mylinux.com.ua","ke@src.gnome.org","plafleur@src.gnome.org","romanofski@src.gnome.org","ldvornik@src.gnome.org","weskaggs@src.gnome.org","dlodge@src.gnome.org","laurenti@src.gnome.org","aman@src.gnome.org","weskaggs@primate.ucdavis.edu","shlomif@src.gnome.org","halfline@src.gnome.org","tvainika@src.gnome.org","carol@src.gnome.org","kcozens@src.gnome.org","raphaelh@src.gnome.org","hebra@src.gnome.org","ok@src.gnome.org","scizzo@src.gnome.org","caiqian@src.gnome.org","peterisk@src.gnome.org","mwh@src.gnome.org","herzi@src.gnome.org","ash@contact.bg","ituohela@src.gnome.org","smurphy@src.gnome.org","joseppc@src.gnome.org","aattar@src.gnome.org","lkanter@src.gnome.org","plaes@src.gnome.org","hendrikr@src.gnome.org","caiqian@gnome.org","akkana@src.gnome.org","kdelvare@src.gnome.org","bcicek@src.gnome.org","pachimho@src.gnome.org","gpastore@src.gnome.org","clyties@src.gnome.org","jseidel@src.gnome.org","icq@src.gnome.org","ankitp@src.gnome.org","rranjan@src.gnome.org","arangela@src.gnome.org","bdejean@src.gnome.org","nshmyrev@src.gnome.org","jfriedl@src.gnome.org","tthurman@src.gnome.org","sven@gimp.org","vsichi@src.gnome.org","kristian@src.gnome.org","pclouds@src.gnome.org","muks@src.gnome.org","m.rijk@chello.nl","hboom@src.gnome.org","sookokev@src.gnome.org","pedroaf@src.gnome.org","jovanna@src.gnome.org","pgeyleg@src.gnome.org","pkst@src.gnome.org","tkaroonb@src.gnome.org","alexandre.prokoudine@gmail.com","yairhr@src.gnome.org","djihed@src.gnome.org","kelemeng@src.gnome.org","kelemeng@gnome.hu","jmas@src.gnome.org","stephaner@src.gnome.org","jsbueno@src.gnome.org","gwidion@mpc.com.br","rayoster@src.gnome.org","algol@src.gnome.org","roozbeh@src.gnome.org","martinn@src.gnome.org","telemaco@src.gnome.org","csaavedra@src.gnome.org","wadimd@src.gnome.org","ymarcheg@src.gnome.org","jorgegonz@src.gnome.org","dnylande@src.gnome.org","dooteo@zundan.com","gintas@src.gnome.org","ulfehlert@src.gnome.org","axelw@src.gnome.org","claudep@src.gnome.org","rdejus@src.gnome.org","nphilipp@src.gnome.org","maticz@src.gnome.org","gforcada@src.gnome.org","jhardlin@orange.fr","leonardof@src.gnome.org","gwidion@mpc.com.br","yaneti@src.gnome.org","tjyrinki@src.gnome.org","pwithnall@src.gnome.org","aasmunds@src.gnome.org","larsc@src.gnome.org","iharh@src.gnome.org","mugurelu@src.gnome.org","aurisj@src.gnome.org","danedde@src.gnome.org","khem@src.gnome.org","chliao@src.gnome.org","alesnk@src.gnome.org","grakic@src.gnome.org","aronxu@src.gnome.org","kennethn@src.gnome.org","pmkovar@src.gnome.org","wbolster@src.gnome.org","ifelix@src.gnome.org","janimo@src.gnome.org","ogmaciel@src.gnome.org","snavin@src.gnome.org","alexiadeath@gmail.com","dumol@localhost","tobiasmue@src.gnome.org","sprasad@src.gnome.org","kappa8086@gmail.com","ftsamis@gmail.com","scgmk4@hotmail.com","roe@excu.se","agnihot3@gmail.com","xiphmont@gmail.com","tksmashiw@gmail.com","xiphmont@gmail.com","njdoyle@gmail.com","lundbymads@gmail.com","p_kongstad@op.pl","ml.nishibori.kiyotaka@gmail.com","jieding@src.gnome.org","zhzzf_0808@hotmail.com","sixtysix@inwind.it","zhzzf_0808@hotmail.com","mason_thomas@hotmail.com","lightningismyname@gmail.com","darnaud@src.gnome.org","alan.monfort@free.fr","choward@indicium.us","jorgegonz@svn.gnome.org","paconet.org@gmail.com","dominikowski@gmail.com","radhermit@gmail.com","375gnu@gmail.com","khaledhosny@eglug.org","alex@weej.com","cristi@secarica.ro","taltr@inbox.com","shirakawa.devel@gmail.com","kolbjoern@stuestoel.no","annajonna@gmail.com","sveinki@nett.is","bcowan@fastmail.co.uk","vasilisk@ics.forth.gr","p.tournaris@gmail.com","mpopovic@src.gnome.org","jjardon@gnome.org","kappa8086@gmail.com","someone_else@exhalus.net","fiedler@medienkompanie.de","david.planella@gmail.com","lucian.grijincu@gmail.com","xsdg@xsdg.org","adi@roiban.ro","kretynofil@gazeta.pl","jononor@gmail.com","rkyaw@yahoo.com","mahfiaz gmail com","daniel.hornung@gmx.de","rudolfs.mazurs@gmail.com","jbaker@gimpthoughts.com","Christian.Kirbach@googlemail.com","agnihot3@gmail.com","mateju@svn.gnome.org","miles@filmsi.net","andika@gmail.com","olle@paalalinn.com","mihhkel@gmail.com","gilles.rochefort@gmail.com","naoliv@debian.org","public@bloke.com","thorsten@thvo.de","gumaraa@gmail.com","xandru@softastur.org","rsimamoto@src.gnome.org","fcorreia.mail@gmail.com","batolettre@gmail.com","rpwh@gmx.de","andywyatt@onetel.com","lucian.grijincu@gmail.com","00ai99@gmail.com","ml.nishibori.kiyotaka@gmail.com","deejay1@srem.org","vasudeven@git.gnome.org","gforcada@gnome.org","KermiDT@KermiDTs-MacBook.local","bootch@nc.rr.com","aalam@users.sf.net","thebodzio@gmail.com","phorgan1@gmail.com","baurthefirst@gmail.com","Kontakt-Programming@CerebrosuS.de","joedalton2@yahoo.dk","carles.ferrando@gmail.com","mikachu@gmail.com","rob.antonishen@gmail.com","mike2718@gmail.com","tryneeds@gmail.com","almufadado@gmail.com","gang65@poczta.onet.pl","daniel.mustieles@gmail.com","abominable-snowman@yandex.ru","martinxyz@gmx.ch","peter@mmiworks.net","gimp@lumenssolutions.com","saulgoode@flashingtwelve.brickfilms.com","ted.korostiled@gmail.com","samsagax@gmail.com","enni.schroeder@gmail.com","agnihot3@gmail.com","wzssyqa@gmail.com","Christian.Kirbach@googlemail.com","kristjan.schmidt@googlemail.com","yamma-ma@users.sourceforge.jp","laviddichterman@gmail.com","massimo@mars.central","epetoumenou@gmail.com","dmtrs32@gmail.com","lakonfrariadelavila@gmail.com","enni.schroeder@gmail.com","epetoumenou@gmail.com","Alexander.Haemmerle@gmx.de","bruno.gurgel@gmail.com","piotrdrag@gmail.com","fran@openhost.es","gpopac@gmail.com","jernej@ena.si","silvia@softcatala.cat","epetoumenou@gmail.com","daniel.mustieles@gmail.com","pillum@msn.com","annoa.b@gmail.com","eulaliapages@gmail.com","mariobl@gnome.org","mail2ipn@gmail.com","vuhung16plus@gmail.com","alexiswilhelm@gmail.com","ak099@mail.ru","benjavalero@gmail.com","ubuntu_fanboy@ubuntu-vn.org","riki357@gmail.com","michmela44@gmail.com","karthikdevel@gmail.com","victormatheus@gmail.com","jmatsuzawa@src.gnome.org","lakonfrariadelavila@gmail.com","noguer@gmail.com","muhammet.k@gmail.com","mma-95@hotmail.com","marek@manet.cz","mma-95@hotmail.com","aurisc4@gmail.com","mail2ipn@gmail.com","fordfrog@fordfrog.name","francisco.vila@hispalinux.es","swecha@swechabox","daniel@A200.(none)","embassyhill@gmail.com","malay.keshav@gmail.com","pravi.a@gmail.com","rdbowers@g.cofc.edu","darkcircle.0426@gmail.com","sebastian@pipping.org","contato@rodrigopadula.com","dmtrs32@gmail.com","vane.gomesl@gmail.com","chavakiran@suravara.com","Unknown","mikehenning@eclipse.net","sebuls@gmail.com","jihui.choi@gmail.com","DanielSabo@gmail.com","eulaliapages@gmail.com","gimp@mazzoo.de","jlieskov@redhat.com","sandeeps@src.gnome.org","swkothar@src.gnome.org","mgiri@mgiri.csb","pau@somgnu.cat","secipolla@gmail\u00b7com","tomtryf@gmail.com","spk121@yahoo.com","cjl@laptop.org","rsaxvc@gmail.com","sikale@web.de","jehan@girinstud.io","l.elle.stone@gmail.com","liam@w3.org","blender3dartist@gmail.com","d@winzen4.de","Wouter Bolsterlee uws@xs4all.nl","taijuin@gmail.com","rafael.f.f1@gmail.com","etkinator@gmail.com","iborco@gmail.com"],"actions":[10326,33,3,10,86,1498,20,4,338,5,67,2,29,25,7,2,2,61,4,2,8,1,2,5,28,12,93,10,1,1,2,1,19,5,1,20,1,5,12,5,2,3,42,1,78,18,100,2,2,92,1,3,13,1,1,2,6,4,6,16,1,21,5,20,1,23,3,432,2,8,1,1,8,5,2,1,11,36,25,3,3,20,14,59,20,1,486,3,4,14,9387,2,1,13,99,45,10,9,3,177,2,8,1,4,4,1,3,26,3,6,7,1,17,44,11,20,5,77,15,47,3,1,495,167,1,3,79,39,2,2,1,9,7,1,137,60,3,1,1,8,1,3,1,1,2,1,3,83,5,1,1,54,14,1,1,4,202,8,15,3,1,18,13,1,4,7,1,90,3,60,3,2,1,34,10,28,5,94,28,9,69,1,3,4,1,1,1,57,1,79,11,2,51,4,5,140,4,65,1,7,138,1,53,1,1,2,1,1,1,16,275,9,2,7,7,98,4,132,30,1,16,8,109,17,3,2,1,9,1,80,7,5,103,7,77,9,29,91,2,12,73,3,73,28,1,29,14,4,464,17,28,6,1,22,22,2,92,68,1,155,21,29,96,10,2,47,24,3,28,7,3,53,86,9,456,21,4,38,9,43,1,1,21,278,3,59,173,1,7,16,2,2,24,36,2,22,1,1,47,13,2,19,51,1,25,1,34,2,29,8,10,8,2,11,236,3,1,3,3,23,552,1,28,8,7,21,12,2,1,154,2,36,2,79,2,28,3,11,1,1,2,1442,1,2,18,10,41,136,1,7,32,2,31,1,125,11,28,9,4,26,2,18,1,9,47,16,8,144,26,2,7,1,7,68,7,13,8,3,2,3,9,286,5,1,13,5,2,6,1,10,3,1,4,1,4,3,14,30,35,137,1,2,56,19,21,2,2,45,2,1,17,35,1,19,1,3,12,2,3,8,4,2,9,14,6,1,5,5,2,5,1,1,5,4,9,1,23,2,4,3,6,86,17,2,1,1,6,3,2,1,14,2,4,189,3,2,27,2,18,1,2,4,1,1,2,1,1,4,3,7,18,154,1,2,1,13,7,33,1,2,3,2,2,22,1,4,5,1,19,19,1,1,2,1,15,2,68,1,1,1,53,6,1,29,1,1,1,2,3,3,7,2,3,4,1,1,1,1,1,1,1,3,6,2,11,3,24,1,4,10,1,2,1,9,25,2,1,1,7,3,1,1,1,1,1,9,6,2,5,2,1,3,28,7,15,2,1,1,2,1,1,2,15,1,2,6,1,3,2,1,1,1],"firstdate":{"sec":[44,25,17,8,46,10,10,9,15,43,16,55,38,5,41,25,12,58,12,22,10,46,31,41,48,59,33,36,39,34,43,4,58,21,32,28,24,29,40,27,19,48,44,12,56,38,6,23,40,22,33,46,4,47,53,16,30,22,27,39,30,4,20,8,22,56,43,52,14,37,18,34,14,30,44,52,58,34,39,37,30,45,2,53,38,24,45,28,45,56,18,27,2,22,11,50,17,31,29,14,59,39,53,33,57,29,36,51,27,12,58,21,10,8,43,57,55,19,32,6,1,6,22,16,32,14,42,50,1,32,37,33,32,51,21,17,58,13,20,14,41,5,59,38,15,55,7,4,5,44,31,25,48,19,1,31,27,49,3,14,33,8,17,30,45,58,36,58,30,25,10,37,30,13,27,20,52,36,0,15,20,4,42,29,29,19,49,44,28,15,55,11,49,41,59,42,6,18,8,15,8,7,39,15,54,49,22,21,47,23,4,18,18,50,7,11,52,1,0,13,55,37,26,57,43,46,14,12,41,17,13,7,14,13,7,29,46,1,51,4,48,36,57,32,51,2,8,4,43,27,39,59,37,5,1,42,51,3,57,52,3,59,48,16,26,38,17,15,28,15,54,19,8,22,56,59,51,23,51,14,12,23,36,36,33,42,50,4,51,6,16,8,8,37,43,14,41,28,39,8,18,39,8,39,29,59,46,40,31,30,6,48,58,20,31,39,55,13,49,2,37,56,57,1,43,51,38,25,9,30,1,8,20,18,19,32,29,52,1,33,35,1,0,7,24,47,2,14,17,17,10,6,23,7,30,46,18,59,41,58,37,48,44,52,17,27,27,51,47,59,49,35,51,13,55,56,53,47,1,42,16,2,45,49,5,59,55,41,37,55,7,6,22,56,25,51,25,6,54,32,23,38,5,40,2,14,45,52,54,24,42,7,32,57,58,51,33,6,35,0,49,36,35,12,42,9,54,24,40,49,38,5,33,41,46,24,38,52,38,0,10,47,36,35,59,29,2,33,59,15,49,37,3,57,58,46,4,3,50,4,53,11,11,4,38,20,27,11,22,6,16,6,9,4,51,3,27,28,37,22,44,27,21,7,23,38,9,51,56,46,57,43,31,5,56,37,10,56,21,21,40,26,41,22,24,58,19,9,4,22,31,7,53,16,9,5,22,55,9,18,31,39,54,26,43,45,26,9,55,45,21,58,18,22,52,37,37,35,31,35,13,52,2,19,42,44,41,50,13,22,36,31,36,8,18,39,3,10,35,48,30,42,41,42,10,50,53,46,58,10,37,49],"min":[47,5,30,49,14,13,9,44,21,33,43,57,10,17,43,49,5,19,27,9,15,49,2,52,2,36,42,50,32,47,53,43,10,19,28,35,9,30,53,25,9,37,43,30,19,47,31,24,59,26,1,50,58,0,9,15,34,46,40,53,9,36,53,3,10,18,37,15,10,22,56,30,2,6,1,46,27,55,12,54,46,15,54,42,41,5,57,16,40,19,16,42,23,45,46,33,55,3,14,38,13,2,7,30,15,3,29,21,8,6,34,39,5,22,42,46,6,52,59,13,21,3,24,27,34,49,49,31,44,7,38,25,14,4,10,12,47,36,26,12,50,10,50,53,51,26,28,54,40,9,30,30,1,1,33,2,2,49,40,48,37,6,7,24,46,0,51,57,24,15,46,18,6,57,44,48,17,26,46,16,39,12,28,35,35,53,31,17,34,50,32,38,19,23,23,53,57,16,10,27,15,48,4,28,41,6,29,53,1,3,13,31,18,36,2,45,51,31,57,22,33,45,55,13,49,1,17,56,48,45,8,34,51,6,48,7,29,5,16,4,34,59,31,5,36,28,3,23,25,17,41,10,39,52,8,37,48,32,20,41,55,21,54,29,0,23,18,5,20,9,9,53,9,7,40,35,52,7,40,55,25,46,21,47,30,57,25,58,15,55,41,22,1,30,52,4,22,14,57,40,47,43,22,24,51,30,23,29,9,16,22,36,18,32,53,33,19,24,36,4,13,37,25,45,36,0,29,16,38,6,6,55,56,13,13,47,2,5,21,36,9,18,57,45,40,45,45,43,41,40,33,20,39,40,19,28,46,1,20,2,8,24,54,24,20,1,56,31,37,26,34,30,34,15,31,28,50,29,53,17,30,29,31,14,19,4,16,34,47,34,7,11,14,50,28,36,41,46,45,2,29,0,53,12,9,36,36,42,5,2,51,24,25,5,3,13,56,53,45,9,32,41,40,28,32,56,33,12,1,52,56,31,1,25,43,32,30,34,16,22,31,50,40,5,7,55,9,46,7,25,4,45,51,16,32,41,38,40,4,42,3,55,35,49,57,7,58,35,32,32,28,47,47,16,47,35,32,28,29,25,49,9,54,47,11,35,37,32,2,38,8,1,46,4,2,0,3,55,9,42,3,39,23,55,44,48,54,45,6,57,46,0,50,37,25,48,18,54,17,24,55,46,44,48,22,11,58,29,35,25,38,21,27,51,49,43,19,17,24,2,44,50,10,27,55,8,41,48,59,44,10,6,41,50,18,50,50,19,47,47,10,7,53,12,39,48,10,31,3,9,40,6],"hour":[16,22,19,19,20,1,22,1,0,4,4,20,17,1,23,1,4,10,23,0,8,4,23,3,1,21,5,5,4,10,20,14,3,10,0,22,2,5,6,2,20,15,18,0,22,15,5,11,1,22,23,23,22,8,2,15,20,22,0,19,6,11,11,14,21,22,20,19,19,16,19,1,23,20,23,6,5,20,0,21,8,20,21,3,22,1,0,18,4,5,17,0,13,22,18,23,14,23,1,21,18,2,5,2,6,3,2,23,18,6,14,4,21,12,14,15,2,0,13,17,21,17,23,16,22,20,23,20,19,17,20,20,17,7,9,19,17,21,22,11,17,3,14,19,19,13,21,23,22,13,9,23,23,23,18,12,22,20,16,22,18,18,5,17,21,15,5,15,10,10,21,17,9,18,0,11,11,23,6,16,7,20,16,0,0,17,22,2,4,0,17,12,11,4,12,21,10,1,2,7,17,11,21,18,18,12,1,22,14,7,2,11,16,16,10,19,11,12,11,13,20,2,14,5,10,19,21,17,14,20,10,3,22,8,3,7,4,14,15,11,19,6,22,18,14,16,13,19,14,23,5,18,23,20,15,17,23,12,14,1,23,11,17,1,10,19,15,2,11,19,18,2,20,12,15,21,17,1,18,15,19,19,6,21,13,22,19,23,4,20,14,1,7,6,19,15,14,8,15,17,10,0,16,8,7,5,14,20,9,4,8,17,20,10,19,2,19,21,11,5,13,13,20,19,23,19,5,9,4,22,22,19,19,0,17,17,21,16,19,20,17,0,0,21,10,19,14,13,21,11,16,12,13,9,14,17,19,7,14,3,10,14,19,13,20,22,15,20,17,3,6,10,21,5,20,23,14,10,16,14,18,20,21,20,5,16,18,15,13,15,21,21,12,21,23,23,22,0,15,17,7,22,17,5,5,11,19,5,16,23,13,3,20,23,23,21,21,0,0,23,14,14,0,9,15,20,22,22,19,12,1,9,9,18,21,14,0,12,11,17,11,7,12,7,7,20,11,11,22,20,17,18,14,13,19,20,18,16,0,18,18,23,19,21,22,8,13,9,22,17,0,15,21,16,19,18,16,19,22,15,18,15,18,10,19,19,14,2,13,19,20,20,20,14,19,20,16,10,22,15,21,3,21,3,21,10,10,11,12,19,13,15,9,12,0,16,21,0,23,18,19,21,17,17,10,10,16,20,23,0,19,17,13,15,20,16,17,20,2,19,6,9,1,11,19,22,1,0,22,22,20,12,7,10,18,19,15,3,22,11,23,17,23,20,0,23,22,14,14,12,23,19],"mday":[1,24,26,1,6,8,9,14,15,15,15,29,5,16,21,31,23,26,26,12,15,16,16,24,31,25,26,8,13,15,16,20,2,20,26,26,14,7,8,15,16,21,25,26,6,8,9,28,10,10,12,26,7,11,7,11,15,25,19,20,26,29,1,5,13,14,18,21,21,31,3,5,7,14,3,4,9,22,3,7,9,10,10,13,20,21,31,8,28,3,11,19,29,29,3,5,10,20,13,8,6,7,8,14,27,10,7,12,22,23,23,26,29,1,4,5,8,13,15,18,3,4,6,14,3,14,23,5,16,22,4,5,6,10,11,11,14,21,22,25,23,3,3,14,17,31,4,12,15,22,23,25,24,29,4,5,27,10,14,18,30,5,10,18,21,27,28,3,13,2,7,29,12,13,23,24,23,23,27,7,13,16,7,10,10,15,29,3,12,21,27,13,31,3,7,27,23,7,27,19,13,10,20,22,25,22,4,17,31,28,7,15,19,12,5,6,12,24,16,28,28,8,9,10,13,16,30,1,9,14,29,31,7,20,13,12,21,21,23,18,23,25,8,23,2,10,12,13,22,22,15,7,15,20,11,5,29,9,9,24,9,12,16,26,30,7,6,7,11,10,11,10,1,7,16,28,20,5,19,8,21,13,28,6,20,22,27,14,19,21,6,8,18,19,1,9,13,28,12,21,22,24,25,19,21,7,14,15,4,5,9,5,24,12,26,16,28,28,16,2,14,14,22,14,9,18,12,12,29,12,14,18,1,7,7,4,28,28,25,4,26,14,19,19,28,28,8,28,31,2,7,11,13,6,13,24,26,15,3,7,18,29,9,12,26,22,24,17,9,25,30,4,11,11,14,27,1,18,9,15,2,9,18,13,31,18,8,16,17,28,28,2,4,6,14,14,23,27,11,7,21,16,21,28,28,1,9,5,18,21,12,19,20,28,29,8,12,16,16,17,20,20,3,9,17,20,2,10,19,29,23,23,24,29,1,23,27,7,10,21,15,3,14,4,4,15,16,16,1,4,6,23,27,8,7,7,14,16,5,7,11,30,5,8,29,30,3,8,10,24,29,31,8,30,1,9,17,5,2,5,6,13,14,3,28,30,3,21,21,4,6,23,24,27,30,2,31,11,24,28,25,28,29,31,5,11,15,21,19,1,2,9,26,7,15,17,21,27,30,7,18,22,24,24,26,26,31,31,1,4,6,25,6,10,12,19,20,23,11,15,21,1,5,16,16,24,7,14,16,10,12,16,8,13,25,30,28,21,5,11,26,14,2,25,6,15,20,27,5,5,9,14],"mon":[0,10,10,11,11,11,11,11,11,11,11,11,0,0,0,0,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,4,4,4,4,2,5,5,5,5,5,5,5,6,6,6,7,6,6,6,6,7,7,8,8,8,2,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,11,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,3,3,3,3,4,5,6,6,6,2,2,7,7,7,2,7,7,7,7,8,8,8,8,8,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,3,3,3,3,3,3,4,4,5,5,5,6,6,6,6,7,7,7,7,7,7,8,8,9,10,11,1,2,3,3,2,6,6,7,7,8,5,9,9,9,10,11,11,11,11,2,0,1,4,4,5,1,8,11,1,3,3,1,2,3,5,6,7,8,9,10,11,0,2,2,3,4,6,7,7,9,10,10,10,10,10,11,0,0,0,0,1,1,8,3,4,4,4,5,5,5,6,6,7,7,7,7,7,7,8,10,10,10,11,0,0,1,1,1,2,2,2,2,2,8,3,3,11,3,4,5,6,6,5,6,7,6,5,6,6,7,8,9,9,9,9,10,10,10,0,0,0,1,3,3,3,3,4,5,5,5,5,6,6,7,7,7,8,8,8,9,0,1,3,2,2,2,4,6,6,6,6,7,7,7,8,8,8,9,9,10,9,11,0,1,3,1,0,8,3,2,2,2,4,5,6,6,6,7,7,7,7,8,8,8,8,9,10,0,1,1,2,2,4,4,4,5,5,7,7,8,8,9,9,9,10,11,1,1,2,2,2,3,2,3,4,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,11,11,11,0,0,0,0,1,1,1,2,2,2,2,3,3,4,4,4,4,4,5,5,5,5,5,7,6,6,6,6,7,7,7,8,8,8,8,8,9,9,9,9,9,9,11,11,0,0,0,4,1,1,1,1,1,2,2,2,3,3,3,4,4,4,4,5,5,6,4,6,6,6,7,7,7,7,8,8,8,3,8,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,11,9,11,0,0,0,0,1,1,1,1,1,1,2,2,2,3,3,3,3,3,4,4,4,5,5,7,3,3,4,2,6,6,8,8,8,9,10,10,11,4,4,4,8,10,10,11],"year":[97,97,97,97,97,97,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,99,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,99,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,102,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,102,102,102,102,101,102,101,102,102,103,104,103,101,101,101,101,101,101,101,101,101,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,104,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,104,104,104,104,104,104,104,104,104,104,105,104,104,106,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,106,106,105,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,107,106,107,107,108,107,105,106,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,109,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,109,109,109,110,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112],"wday":[3,1,3,1,6,1,2,0,1,1,1,1,1,5,3,6,1,4,4,4,0,1,1,2,2,3,4,3,1,3,4,1,6,3,2,2,0,0,1,1,2,0,4,5,1,3,4,5,5,5,0,0,5,2,1,5,2,4,6,0,6,2,4,1,2,3,0,3,3,6,2,4,6,6,4,5,3,2,0,4,6,0,0,3,3,4,0,1,0,3,4,5,1,1,6,1,6,2,4,2,2,3,4,0,6,2,6,4,5,1,1,4,0,3,6,0,3,1,3,6,0,1,3,4,3,0,2,0,4,3,2,3,4,1,2,2,5,5,6,2,0,4,4,1,5,5,2,3,6,6,0,2,3,1,0,1,2,1,5,2,0,6,4,5,1,0,1,0,3,1,2,5,1,2,1,2,5,1,5,2,1,0,4,3,3,1,4,1,3,5,4,3,4,0,2,0,0,3,5,4,4,6,0,4,0,0,1,2,5,5,0,4,3,6,2,3,5,5,2,3,3,2,6,0,3,6,6,0,5,2,3,5,5,4,6,6,3,3,5,3,1,3,2,3,6,0,2,3,5,5,1,5,6,4,4,1,4,1,1,2,2,5,2,5,2,3,2,3,1,6,2,4,4,3,3,3,5,1,6,4,3,5,2,3,3,5,3,0,5,0,4,6,2,6,5,6,3,4,4,2,3,5,6,2,4,0,0,1,0,1,5,3,2,0,2,4,2,2,2,0,5,5,6,1,3,5,2,2,5,4,6,6,1,4,0,0,1,3,2,1,4,3,1,1,1,4,0,6,2,4,2,6,1,4,4,1,3,1,6,1,1,5,0,3,1,4,6,2,1,1,6,4,4,6,2,1,6,4,1,0,1,1,3,1,2,6,5,6,0,4,4,2,4,6,0,0,2,6,6,2,2,4,2,2,2,6,0,3,2,5,6,6,0,1,2,4,1,5,5,6,2,2,2,1,2,5,3,4,6,2,6,6,0,5,1,2,6,0,3,0,1,6,3,2,2,6,0,0,2,5,0,3,0,0,3,3,3,5,4,6,3,4,0,3,3,4,0,5,0,0,5,0,3,4,6,0,1,4,3,6,0,0,1,4,1,3,0,4,4,3,5,1,2,1,4,6,2,1,0,4,4,0,1,3,1,0,4,4,1,6,0,0,3,1,2,4,1,0,3,3,0,4,6,6,1,1,6,6,0,3,5,3,1,5,0,0,1,4,0,4,3,0,4,1,1,2,1,1,3,0,2,4,3,1,1,2,4,6,3,2,3,0,5,0,4,2,0,0,3,1,5,5],"yday":[0,327,329,334,339,341,342,347,348,348,348,362,4,15,20,30,53,56,56,70,73,74,74,82,89,83,84,97,102,104,105,109,121,139,145,145,72,157,158,165,166,171,175,176,186,188,189,239,190,190,192,206,218,222,249,253,257,83,261,262,268,271,273,277,285,286,290,293,293,303,306,308,310,317,336,337,342,355,2,6,8,9,9,12,19,20,30,38,58,61,69,77,87,87,92,94,99,109,132,158,186,187,188,72,85,221,218,223,80,234,234,237,240,243,246,247,250,255,257,260,275,276,278,286,306,317,326,338,349,355,3,4,5,9,10,10,13,20,21,24,22,33,33,44,76,90,94,102,105,112,113,115,144,149,155,156,178,191,195,199,211,217,222,230,233,239,240,246,256,275,311,363,42,71,112,113,81,203,207,218,224,258,157,282,282,287,332,336,345,354,360,71,30,33,126,146,173,37,269,352,43,100,109,52,83,111,154,197,242,270,279,318,352,11,63,64,101,143,196,239,239,280,312,313,316,319,333,334,8,13,28,30,37,50,255,101,140,140,142,168,173,175,188,203,213,221,223,224,233,233,257,310,318,323,344,4,28,39,39,54,68,71,75,85,89,249,96,97,344,100,131,161,182,188,167,209,232,186,170,189,202,225,271,279,293,295,300,318,323,325,5,7,17,49,90,98,102,117,131,171,172,174,175,199,201,218,225,226,246,247,251,277,23,42,115,74,86,86,135,182,194,194,202,225,220,229,254,254,271,284,286,321,273,340,6,34,118,58,24,246,115,72,77,77,147,178,188,208,211,213,218,222,224,248,255,266,268,287,306,6,48,59,68,71,146,142,144,168,160,237,242,247,254,284,287,300,305,352,39,45,60,67,76,102,89,107,127,135,136,147,147,152,154,156,164,164,173,177,191,187,201,196,201,208,208,212,220,216,229,232,254,261,262,270,271,280,284,288,288,289,292,292,306,312,320,323,335,343,352,362,22,22,23,28,31,53,57,65,68,79,73,92,103,123,123,134,135,135,151,154,156,173,177,219,187,187,194,196,216,218,222,272,247,250,271,272,275,280,282,296,301,303,341,363,0,8,16,124,32,35,36,43,44,61,86,88,92,110,110,123,125,142,143,177,180,182,150,191,204,208,236,239,240,242,247,253,257,110,261,273,274,281,298,310,318,320,324,330,333,340,351,355,357,357,359,359,303,364,0,3,5,24,36,40,42,49,50,53,70,74,80,91,95,106,106,114,127,134,136,161,163,228,97,102,144,88,208,202,248,254,269,287,306,329,340,135,140,147,248,309,313,348],"isdst":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0]},"lastdate":{"sec":[34,56,17,19,55,15,53,11,39,1,54,31,51,9,44,59,55,25,4,48,13,46,13,21,25,35,11,54,39,34,1,4,52,23,32,52,24,17,58,54,21,59,35,12,28,37,59,39,20,11,33,18,39,47,53,30,29,28,6,3,30,16,57,51,22,52,14,41,30,39,18,34,44,41,50,52,35,53,31,34,9,49,9,23,43,24,29,51,34,25,33,58,2,47,35,56,32,56,28,27,52,49,53,25,36,29,41,41,53,55,34,21,57,2,40,22,10,12,19,39,56,6,13,12,32,54,44,53,2,56,37,10,17,51,45,28,26,13,20,51,41,37,59,38,36,55,42,57,14,44,31,35,44,19,1,0,1,25,3,40,33,47,50,30,40,9,36,46,38,28,13,23,30,11,17,51,6,14,17,52,1,4,52,55,29,19,49,31,28,2,58,51,35,6,18,48,2,13,8,48,19,7,56,15,54,35,22,21,47,16,39,6,9,43,12,22,43,17,1,13,51,47,30,10,50,8,14,44,41,50,26,29,55,44,31,4,50,41,27,39,15,9,26,43,51,7,42,34,31,49,23,36,37,36,51,14,58,46,57,37,45,25,6,51,42,13,13,42,47,53,49,45,43,39,30,15,10,45,33,26,12,23,31,10,56,44,38,4,17,18,15,11,14,18,30,4,41,28,11,25,39,14,10,39,27,59,48,5,7,23,9,12,25,14,35,10,55,29,45,36,57,56,25,26,47,35,29,54,9,35,52,21,27,11,15,0,42,0,1,33,30,58,0,22,58,35,1,3,17,46,28,39,15,7,4,51,13,21,51,18,5,46,44,51,2,56,33,43,51,28,58,35,54,51,29,27,46,55,33,16,25,5,20,49,57,2,41,34,37,36,16,6,6,56,6,17,35,26,46,43,23,44,10,40,36,54,40,2,36,24,2,31,32,29,58,34,24,7,6,9,10,49,10,51,4,9,14,41,46,35,38,5,54,30,56,24,27,29,29,7,7,57,29,0,59,29,35,16,59,15,50,12,15,56,14,46,17,16,23,4,20,33,11,4,45,20,27,45,47,39,42,0,9,37,51,40,47,37,37,18,20,16,57,27,23,25,31,51,20,53,57,43,31,5,17,53,23,56,21,21,44,5,41,46,24,58,19,54,11,30,48,30,34,39,9,5,22,55,9,18,31,24,49,56,0,48,25,9,43,46,21,31,18,58,50,36,37,35,21,12,13,52,2,19,42,15,44,17,24,11,36,28,33,24,19,41,3,10,39,48,30,22,13,42,3,43,53,32,56,10,37,49],"min":[7,3,34,7,17,53,57,30,55,0,44,33,4,10,48,40,24,16,35,15,6,49,42,58,56,57,35,16,32,47,51,43,22,42,28,23,9,11,42,20,17,41,53,30,28,47,1,3,17,24,1,10,7,0,9,16,14,33,47,4,9,51,23,16,10,29,39,16,17,8,56,30,57,41,13,46,20,20,57,19,28,22,10,51,0,5,22,24,27,54,30,10,23,42,42,47,57,28,24,33,43,14,7,29,26,3,23,57,16,15,5,39,7,48,40,47,58,32,1,3,17,3,4,23,34,55,44,40,44,19,38,50,51,4,0,18,52,36,26,39,50,47,50,53,15,26,20,23,11,9,30,19,28,1,33,52,22,34,1,28,37,2,8,24,27,22,51,44,6,25,22,19,6,50,46,12,27,4,48,24,13,12,56,48,35,53,31,31,34,51,27,0,49,58,0,14,43,30,10,27,48,48,11,28,41,52,29,53,1,59,4,54,52,5,0,45,57,15,55,22,59,45,38,45,8,50,17,38,48,39,43,27,38,21,57,59,56,3,23,9,59,51,24,22,36,52,7,38,7,53,20,19,39,47,27,10,19,30,20,46,43,52,49,54,21,32,56,31,57,32,42,22,46,5,1,12,21,16,53,8,25,46,0,43,39,12,54,58,39,48,8,26,50,9,34,34,22,14,4,42,7,22,44,24,6,30,40,28,21,28,2,44,18,51,48,44,19,55,58,2,7,37,50,42,29,14,30,9,38,36,0,50,57,27,1,59,25,11,21,36,45,12,57,29,5,1,58,28,41,2,4,20,54,40,3,44,26,59,13,2,15,54,54,36,33,22,36,29,17,51,55,30,58,42,30,57,39,26,59,15,59,11,39,14,22,20,19,27,47,2,12,11,15,50,25,29,5,8,51,2,29,9,54,42,36,7,2,7,9,2,7,1,25,5,3,25,47,58,44,51,38,41,51,21,9,56,15,23,2,53,56,31,41,17,56,32,52,27,31,46,32,39,3,10,7,55,37,55,7,25,17,25,15,13,26,42,22,11,22,42,5,32,35,49,39,7,58,46,17,31,23,18,47,21,47,52,58,10,29,22,21,15,55,21,11,21,10,32,4,27,8,1,46,4,11,52,47,55,9,42,15,22,23,17,44,48,54,22,14,47,44,0,50,51,25,48,18,54,17,24,55,7,55,57,7,12,0,29,25,17,38,25,27,42,37,14,19,17,8,0,44,50,10,27,55,23,40,49,54,56,10,7,10,28,48,0,50,19,52,47,10,10,48,12,42,59,10,17,13,9,40,6],"hour":[21,17,21,13,19,10,1,6,18,16,21,21,20,4,0,1,4,12,17,4,4,4,22,22,4,6,0,7,4,10,15,14,20,22,0,23,2,20,19,3,20,3,9,0,2,4,6,12,2,15,23,5,19,8,2,7,17,16,22,12,6,3,21,11,21,16,20,7,23,0,19,1,6,17,0,6,6,23,23,0,23,21,0,2,23,1,18,8,5,5,19,4,13,19,15,22,9,20,21,14,20,20,5,20,6,3,0,14,15,19,18,4,17,17,23,1,1,22,18,3,2,17,19,18,22,18,13,23,19,4,20,22,19,7,15,10,22,21,22,8,17,15,14,19,19,13,0,18,19,13,9,21,21,23,18,17,13,19,17,11,18,21,22,17,14,21,5,8,11,13,11,17,9,7,12,21,12,17,18,10,9,20,13,15,0,17,22,20,4,23,0,16,9,7,10,20,9,19,2,23,23,11,18,18,18,21,1,22,14,14,6,18,12,13,21,17,23,19,12,13,15,13,7,12,22,2,21,21,14,21,5,3,0,16,10,14,3,21,20,20,11,5,17,11,14,20,23,19,23,17,11,22,23,19,20,20,22,19,14,0,11,8,13,1,10,18,17,22,17,16,19,15,8,13,20,7,16,1,16,17,19,19,3,17,11,12,17,23,17,18,9,1,13,11,20,5,14,8,7,20,16,19,16,8,13,5,7,20,18,4,12,16,20,8,12,17,19,21,22,10,9,13,20,15,19,0,6,8,4,19,13,13,18,15,13,21,21,0,19,20,16,22,0,22,21,9,18,0,21,21,20,12,14,9,14,20,22,11,16,10,10,11,19,7,11,15,18,0,0,17,19,10,13,16,17,21,16,12,16,16,13,19,21,20,14,17,18,16,13,13,11,21,12,21,1,22,22,14,22,19,7,22,15,12,12,14,14,11,16,23,15,21,20,19,23,23,20,0,1,12,14,14,19,17,3,20,1,0,19,16,1,9,16,1,20,14,13,20,10,17,20,8,11,7,7,20,13,13,22,20,14,15,15,9,21,20,20,21,23,18,18,10,19,21,23,8,13,9,8,17,20,15,21,16,19,0,16,13,22,20,20,21,18,3,19,22,19,2,0,22,20,20,20,14,18,19,11,10,22,15,0,1,21,14,21,10,10,17,11,17,22,15,12,14,0,16,21,0,23,18,19,12,22,18,10,11,11,20,0,0,19,17,13,12,12,22,17,20,20,2,6,9,1,11,19,0,2,0,19,22,20,14,18,14,18,10,15,3,22,11,23,17,16,20,0,16,22,15,19,12,23,19],"mday":[4,18,28,31,9,21,10,18,27,1,16,31,3,7,29,14,23,12,15,2,20,16,21,29,2,9,19,30,13,15,20,20,5,23,26,14,14,24,23,24,21,23,18,26,13,2,4,28,10,12,12,21,18,11,7,14,28,2,21,20,26,26,4,10,13,18,18,16,22,24,3,5,22,12,20,4,10,13,2,4,4,11,11,3,30,21,27,25,28,24,18,22,29,21,28,28,26,17,11,9,6,30,8,14,31,10,14,27,28,9,5,26,15,8,21,31,29,3,9,14,4,4,29,5,3,20,30,1,16,23,4,11,15,10,10,7,12,21,22,3,23,28,3,14,1,31,5,10,18,22,23,21,21,29,4,30,27,20,4,25,30,27,22,18,29,21,28,3,2,29,12,29,12,13,25,21,20,25,20,2,10,16,28,11,10,15,29,3,12,12,20,20,1,3,1,31,24,3,27,15,22,10,24,22,25,20,4,17,31,17,20,14,22,20,22,3,7,29,28,28,9,2,18,9,8,7,30,14,9,26,5,15,6,7,4,20,25,29,30,22,14,30,17,13,2,21,8,13,10,7,9,20,15,12,8,11,29,2,9,30,13,16,28,20,15,15,16,10,3,24,11,15,13,13,14,16,3,7,3,24,21,13,27,14,18,29,22,14,8,4,4,8,27,6,1,31,13,28,4,16,12,4,30,19,27,7,15,21,26,26,16,19,7,18,7,8,28,28,9,27,5,14,9,17,23,7,21,24,29,23,17,19,8,6,12,5,28,27,25,4,5,10,19,19,8,3,25,16,31,21,9,11,9,6,29,26,27,19,26,15,18,26,9,24,27,8,11,2,5,3,30,4,14,7,18,27,27,2,9,15,20,22,22,13,15,28,8,1,17,28,28,2,4,6,21,17,24,16,24,15,21,16,8,14,14,2,1,5,18,21,5,4,20,14,29,8,8,16,16,5,20,20,26,17,21,20,4,14,19,21,23,23,22,18,29,23,29,13,17,21,22,16,20,4,4,15,18,19,1,4,20,31,27,18,6,7,2,20,3,7,11,9,5,8,28,30,3,8,13,18,25,20,8,30,1,24,26,16,2,8,6,12,14,29,28,24,19,21,13,6,6,23,24,27,26,1,21,11,24,28,10,22,29,19,5,11,15,18,10,24,29,9,7,25,15,17,21,27,30,7,18,12,10,24,9,26,26,31,8,9,6,25,6,21,13,19,20,23,15,5,21,1,5,16,16,22,22,14,8,10,12,20,10,27,28,31,28,21,5,11,26,14,12,25,6,8,20,27,10,5,9,14],"mon":[11,11,10,11,9,8,3,11,7,6,4,11,7,1,7,2,1,4,0,11,2,2,11,0,1,3,7,3,3,3,3,3,9,4,4,9,2,9,11,6,5,5,2,5,8,8,1,7,6,1,6,11,0,7,8,8,8,3,9,6,8,10,9,0,9,5,9,1,9,11,10,10,8,11,11,11,11,6,11,1,1,10,11,2,11,0,8,1,2,0,11,2,2,7,0,9,8,9,0,11,6,7,6,2,2,7,7,7,2,9,9,7,11,7,10,7,8,4,2,2,9,9,7,1,10,10,6,0,11,11,0,11,11,0,5,4,4,0,0,3,0,2,1,1,3,2,3,0,11,3,3,3,8,4,5,7,1,2,0,8,6,2,8,7,7,2,7,10,9,3,5,11,1,8,8,1,11,1,5,9,8,8,8,7,9,9,10,2,11,2,8,9,11,1,3,7,5,9,8,6,9,3,6,1,2,9,5,6,7,8,9,0,11,11,1,9,6,6,11,7,0,7,2,1,0,2,10,6,0,8,10,11,7,3,0,3,3,1,11,7,5,5,4,8,7,8,10,7,11,10,2,2,10,10,4,0,7,11,1,8,9,9,0,3,3,8,2,4,3,1,4,10,8,0,9,4,8,9,0,3,6,7,4,11,10,3,8,10,3,4,1,0,6,9,3,7,3,3,4,0,1,1,7,6,6,7,5,7,8,8,0,3,2,0,0,4,2,2,5,11,11,6,11,7,7,9,5,2,8,9,1,9,9,6,0,2,3,7,0,8,4,4,2,2,10,6,1,4,6,8,0,7,11,8,10,10,0,8,9,9,1,8,2,3,10,0,10,3,9,9,9,8,1,4,8,11,4,1,1,1,2,2,2,3,4,4,4,7,4,9,5,5,5,5,7,5,1,7,7,10,6,6,11,11,3,7,9,5,7,7,4,10,8,6,8,9,5,9,9,8,9,9,10,9,3,10,2,7,11,2,0,0,4,2,9,1,8,3,2,2,10,9,9,4,4,4,7,6,5,5,1,6,5,6,9,6,8,7,4,7,7,5,8,8,3,8,9,9,1,8,2,8,11,11,0,0,0,11,1,1,1,7,1,3,2,3,8,3,10,3,4,4,4,5,9,9,7,6,6,6,10,2,7,9,8,8,8,8,2,11,11,9,10,2,10,10,10,10,10,11,11,7,5,11,7,11,10,11,0,7,0,0,1,3,7,1,1,1,8,4,2,3,3,3,3,9,4,4,11,5,5,7,5,3,4,2,6,6,8,8,8,9,11,10,11,9,4,4,8,10,10,11],"year":[112,101,97,97,99,111,99,97,102,98,99,97,99,100,103,99,98,99,99,98,98,98,98,101,106,98,105,98,98,98,98,98,98,98,98,98,99,98,98,98,98,98,102,98,110,98,106,98,98,104,98,99,102,98,98,98,98,100,98,100,98,99,98,100,98,101,98,104,98,98,98,98,105,98,98,98,99,103,99,100,99,99,99,103,99,99,110,99,99,100,112,99,99,99,101,99,99,99,101,112,99,99,99,99,99,99,99,102,102,99,99,99,100,104,99,102,99,102,101,103,99,99,112,109,99,99,104,103,99,99,100,100,100,100,103,102,100,100,100,100,100,100,100,100,100,100,100,105,100,100,100,101,100,100,100,100,105,101,101,100,100,102,104,100,100,104,100,103,100,107,102,100,101,103,102,104,101,107,104,101,107,101,101,103,101,101,101,108,101,109,111,103,104,102,105,106,102,108,102,105,107,104,104,101,101,101,101,101,101,103,108,102,101,104,105,111,102,105,105,102,104,103,105,103,103,103,102,104,104,104,103,104,105,104,109,104,105,108,103,105,104,103,105,111,103,112,104,103,112,103,108,104,103,104,112,104,111,106,104,107,107,109,112,105,104,111,110,104,110,105,104,104,112,105,108,107,104,108,108,109,104,104,106,112,104,108,112,104,105,105,105,105,107,108,105,107,105,105,110,107,106,110,107,105,107,105,108,105,108,105,109,106,106,108,108,106,106,106,112,111,112,106,106,106,106,108,107,108,106,112,108,108,107,112,107,108,108,107,105,106,107,112,107,107,108,108,109,112,107,107,112,107,111,107,112,108,109,111,108,112,108,112,108,112,108,112,108,110,108,112,110,108,109,110,111,110,112,109,109,109,109,112,109,109,109,109,109,109,109,109,109,109,109,109,109,109,112,109,109,112,109,109,112,109,112,109,111,112,109,109,112,112,109,110,109,109,112,109,109,112,109,109,110,111,111,109,110,110,109,111,110,110,111,110,111,110,112,110,110,110,111,112,112,110,110,110,111,110,110,110,111,110,110,112,110,110,111,110,112,110,110,112,110,110,112,110,110,110,112,111,112,112,110,110,111,111,111,112,111,112,111,111,111,112,111,112,111,111,112,112,111,111,111,111,112,111,111,111,111,111,112,112,111,112,111,111,111,111,112,111,111,111,111,112,111,111,111,111,111,111,111,112,112,111,112,111,112,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,109,109,109,110,111,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112],"wday":[2,2,5,3,6,3,6,4,2,3,0,3,2,1,5,0,1,3,5,3,5,1,1,1,4,4,5,4,1,3,1,1,1,6,2,3,0,6,3,5,0,2,1,5,1,3,6,5,5,4,0,2,5,2,1,1,1,0,3,4,6,5,0,1,2,1,0,1,4,4,2,4,4,6,0,5,5,0,4,5,4,4,6,1,4,4,1,4,0,1,2,1,1,6,0,4,0,0,4,0,2,1,4,0,3,2,6,2,4,6,2,4,5,0,0,6,3,5,5,5,1,1,3,4,3,6,5,3,4,4,2,1,5,1,2,2,5,5,6,1,0,2,4,1,6,5,3,1,1,6,0,6,4,1,0,3,0,2,4,1,0,3,3,5,2,0,1,1,1,0,3,5,1,6,3,6,4,0,0,2,1,0,5,1,3,1,4,1,3,4,2,1,3,0,5,4,1,5,5,5,1,6,6,4,0,6,1,2,5,3,1,1,6,1,2,1,0,5,3,3,5,6,5,0,3,5,6,3,5,0,3,3,6,3,0,2,1,5,2,1,1,1,2,2,6,5,1,3,1,5,0,6,6,5,2,0,1,6,1,0,6,5,6,3,4,4,2,1,6,4,2,1,4,4,2,3,5,2,4,5,3,5,6,5,4,2,6,0,5,3,5,6,5,1,5,5,3,4,2,2,0,4,4,2,5,0,0,0,5,1,5,3,2,5,1,1,2,2,6,2,3,5,6,4,3,2,4,1,5,2,0,0,1,5,5,3,1,1,2,1,6,4,1,1,6,4,3,3,2,5,1,6,5,4,4,3,2,1,0,1,1,3,0,2,4,0,2,5,0,3,6,4,6,5,0,1,0,1,1,0,5,4,0,1,5,4,5,6,0,3,0,2,4,6,5,3,5,0,1,4,2,4,6,1,6,0,6,2,2,5,6,0,0,3,2,4,5,5,5,3,2,2,5,1,4,5,4,6,6,1,6,6,0,4,6,2,6,2,3,0,2,2,6,2,2,6,4,1,2,5,0,6,0,3,3,3,5,5,4,6,3,6,0,3,6,4,0,5,1,0,0,4,3,4,6,1,3,0,3,3,0,5,1,0,1,2,1,4,2,5,5,1,2,1,5,6,0,1,0,4,6,4,1,5,1,0,4,0,6,6,4,0,1,0,2,4,1,0,3,3,0,0,0,6,4,1,1,6,0,4,5,3,1,6,1,0,1,4,6,6,3,0,4,1,1,1,2,1,6,0,2,1,3,1,4,3,4,6,3,2,3,0,3,0,4,1,0,0,1,1,5,5],"yday":[338,351,331,364,281,263,99,351,238,181,135,364,214,37,240,72,53,131,14,335,78,74,354,28,32,98,230,119,102,104,109,109,277,142,145,286,72,296,356,204,171,173,76,176,255,244,34,239,190,42,192,354,17,222,249,256,270,92,293,201,268,329,276,9,285,168,290,46,294,357,306,308,264,345,353,337,343,193,335,34,34,314,344,61,363,20,269,55,86,23,352,80,87,232,27,300,268,289,10,343,186,241,188,72,89,221,225,238,86,281,277,237,349,220,324,242,271,122,67,72,276,276,241,35,306,323,211,0,349,356,3,345,349,9,160,126,132,20,21,93,22,87,33,44,91,90,95,9,352,112,113,110,264,149,155,242,57,78,3,268,211,85,265,230,241,80,240,306,275,118,162,363,42,255,267,51,353,55,171,274,252,258,270,222,282,287,332,62,345,70,262,292,335,33,90,242,174,276,269,195,294,100,205,52,83,292,154,197,242,259,293,13,355,354,52,275,187,209,361,239,8,213,76,39,7,65,333,195,8,269,308,349,217,97,3,110,114,59,363,233,165,180,136,255,213,264,312,224,344,310,68,79,318,316,128,10,240,335,39,272,285,288,27,109,105,257,74,130,92,54,131,319,256,12,287,135,246,280,2,113,202,225,146,348,322,119,265,318,97,123,34,7,207,279,90,242,102,117,123,15,42,34,241,199,207,218,166,232,269,268,15,108,65,17,6,127,86,86,160,360,339,194,342,228,234,280,171,83,271,296,47,292,280,187,11,64,118,238,24,246,124,130,77,77,312,184,55,136,211,263,8,222,342,248,333,330,26,261,299,288,48,269,68,114,331,7,315,91,278,276,302,247,44,126,260,360,147,32,39,45,78,81,80,102,134,147,127,212,136,300,178,152,154,156,232,167,54,227,235,319,201,196,342,347,104,213,273,156,229,232,125,308,262,194,271,280,159,288,288,248,292,292,329,289,110,323,62,225,352,79,22,22,141,76,301,53,272,102,75,79,325,289,293,123,123,134,229,199,151,154,50,211,177,199,278,187,244,231,123,218,222,160,247,250,118,272,275,280,43,260,84,263,341,363,0,23,25,350,32,38,36,223,44,119,86,114,261,110,317,96,125,142,143,177,299,273,232,191,204,208,314,81,240,292,247,253,257,260,69,357,362,281,310,84,318,320,324,330,333,340,351,224,161,357,221,359,330,364,7,221,5,24,36,111,225,49,50,53,258,125,80,91,95,106,106,295,142,134,342,161,163,232,160,116,147,89,208,202,248,254,269,287,346,329,340,281,140,147,253,309,313,348],"isdst":[0,0,0,0,1,1,1,0,1,1,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,1,1,1,0,1,1,0,1,0,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,1,1,0,1,1,1,0,1,0,1,1,1,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1,0,1,0,1,1,1,1,0,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,1,0,0,1,0,1,1,1,1,0,1,1,0,1,1,1,0,0,1,1,0,1,1,1,0,0,0,1,0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,0,0,0,1,1,1,1,1,0,1,1,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,1,0,0,0,0,1,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,0,0]},"stay":[5816,1485,2,30,672,5035,486,4,1717,198,518,2,575,752,2045,407,0,440,323,265,5,0,280,1043,2865,14,2703,22,0,0,4,0,157,4,0,141,0,140,199,39,5,2,1362,0,4451,56,2767,0,0,2043,0,512,1260,0,0,3,13,374,33,669,0,423,3,462,0,978,0,1944,1,53,0,0,2510,28,16,0,366,1664,334,392,27,305,334,1510,344,0,4258,17,28,327,5031,3,0,145,666,206,169,180,610,4933,0,55,0,1,4,0,7,1111,6,48,43,0,474,1803,78,1090,21,964,541,1272,0,0,4711,3402,0,6,1711,1123,0,0,0,341,344,0,1246,847,119,0,0,69,0,54,0,0,15,0,0,1734,247,0,0,361,120,0,0,86,1706,253,174,69,0,599,1505,0,8,1302,0,1156,19,2400,582,0,0,913,521,1033,272,2043,1060,56,2219,0,113,671,0,0,0,2283,0,2639,3553,586,1035,0,1060,1922,1,2796,0,940,1712,0,461,0,0,181,0,0,0,719,2570,60,3,1073,1085,3498,87,1162,1261,0,499,298,860,91,56,110,0,591,0,621,280,684,910,412,1940,374,705,1745,221,796,357,5,679,2974,0,3330,454,0,3398,77,1637,134,0,358,3071,6,2769,1027,0,1314,1312,2044,2874,390,16,2199,2170,34,1209,320,0,159,2996,190,1581,1021,14,1555,1293,1751,0,0,606,2991,29,1285,2887,0,141,164,29,0,920,1325,0,874,0,0,1818,574,235,1687,796,0,736,0,1036,6,1118,21,1225,196,42,705,986,54,0,0,2216,2004,2336,0,140,3,14,780,282,559,0,2203,491,701,7,2039,5,395,0,179,0,0,9,1885,0,0,530,371,598,1753,0,50,1616,0,1579,0,1904,429,489,1435,358,1743,0,1671,0,1504,185,1326,171,653,117,1501,792,0,156,573,1069,791,1303,46,0,0,18,1109,4,0,45,40,0,77,0,153,31,0,0,0,67,3,976,51,44,1227,0,0,1236,139,991,1,783,1035,0,0,966,1143,0,289,0,0,970,0,0,1054,0,0,389,707,519,0,91,246,0,447,0,0,483,47,635,0,946,37,7,0,617,927,920,0,0,0,459,64,0,0,259,38,0,710,91,0,415,35,638,0,0,617,0,0,577,0,0,0,490,329,514,690,0,0,0,14,9,591,0,368,0,180,0,423,0,391,169,0,572,338,0,0,0,0,484,91,82,0,0,0,442,207,0,415,0,0,0,150,173,84,88,0,12,139,0,0,0,0,0,0,0,234,169,0,227,0,1122,0,6,218,0,0,0,71,183,0,0,0,189,50,0,0,0,0,0,180,15,0,206,0,0,4,63,14,3,1,0,0,0,0,0,0,40,0,0,146,0,0,5,0,0,0]}} \ No newline at end of file diff --git a/test/jasmine/data/json/its-evolutionary.json b/test/jasmine/data/json/its-evolutionary.json new file mode 100644 index 00000000..e9790a79 --- /dev/null +++ b/test/jasmine/data/json/its-evolutionary.json @@ -0,0 +1 @@ +{"id":[24127,24128,24129,24130,24131,24132,24133,24134,24135,24136,24137,24138,24139,24140,24141,24142,24143,24144,24145,24146,24147,24148,24149,24150,24151,24152,24153,24154,24155,24156,24157],"year":[2010,2010,2010,2010,2010,2010,2011,2011,2011,2011,2011,2011,2011,2011,2011,2011,2011,2011,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2013],"month":[7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1],"date":["Jul 2010","Aug 2010","Sep 2010","Oct 2010","Nov 2010","Dec 2010","Jan 2011","Feb 2011","Mar 2011","Apr 2011","May 2011","Jun 2011","Jul 2011","Aug 2011","Sep 2011","Oct 2011","Nov 2011","Dec 2011","Jan 2012","Feb 2012","Mar 2012","Apr 2012","May 2012","Jun 2012","Jul 2012","Aug 2012","Sep 2012","Oct 2012","Nov 2012","Dec 2012","Jan 2013"],"opened":[774,92,122,112,96,65,150,167,268,192,136,145,94,132,109,148,103,48,116,99,100,78,101,91,99,141,105,105,90,115,12],"openers":[9,8,8,7,7,9,11,13,20,14,13,15,11,15,9,13,12,10,13,16,13,13,12,12,15,19,11,13,19,22,5],"closed":[0,0,0,0,0,0,0,0,18,151,95,104,71,89,64,100,100,44,48,59,91,74,70,68,86,83,98,66,52,8,0],"closers":[0,0,0,0,0,0,0,0,6,9,7,9,7,9,9,9,9,8,11,10,9,12,11,9,9,10,6,8,11,2,0],"changed":[6,0,0,0,0,0,0,2,150,1093,715,788,545,872,654,736,771,308,455,500,550,589,426,548,617,665,695,530,359,179,4],"changers":[2,0,0,0,0,0,0,1,11,15,12,13,11,15,12,14,13,10,17,13,11,16,15,13,12,14,8,12,17,13,3]} \ No newline at end of file diff --git a/test/jasmine/data/json/its-people.json b/test/jasmine/data/json/its-people.json new file mode 100644 index 00000000..b8162e1a --- /dev/null +++ b/test/jasmine/data/json/its-people.json @@ -0,0 +1 @@ +{"id":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179],"name":["sf-overlords","nobody","mramm","spiffk","pfalcon","rick446","brondsem","yesjustwolf","ctsai","beret","wdavison","jwh","n_oostendorp","kadams54","scrogson","burley","gwoo","elizabethn","hinojosa","pavieethra","jowens81","fdrake","None","None","None","None","None","ghollfel","None","None","None","ceverest","None","None","wladid","None","brondsem2","testuser008","None","None","None","larryhoward","vansteenburgh","warjan","None","None","tesch","None","None","None","nhruby","rosslagerwall","algorithms","mandriver","brousch","None","takedap","jonathanbeard","None","cweiske","None","scoop","None","None","darthflatus","None","None","None","driedfruit","None","apocalyptech","None","geoffreyvanwyk","cohadar","None","bprew","kambi","None","rbowen","None","bollwyvl","None","None","None","masterbunnyfu","msmeeks","None","rvantuyl","None","lcanas","None","None","nhnb","None","celsius813","None","None","None","lsproc","roggan87","brov","None","barrywhart","None","None","humbedooh","fwenzel","None","None","jnewsome","jardev","rvesse","bernhold","None","marclaporte","leotrubach","sechastain","None","wilx","None","acs2","None","ttencate","scuttlemonkey","peterhartmann","orexx","None","None","nijel","bigrixx","steveebersole","slice2009","maxst","alonmishne","kharazi","zeromus","laha","dkls","None","bryandam","None","tfry","sf-editor","counting_pine","nh11","None","astrand","ulf82","sguergachi","None","jpschewe","johnpeterson","javierpaniza","None","None","None","stefanoinve","None","yellowjug","None","None","None","gomidori","t_hoffmann","None","None","frog23","None","shlomif","malat","None","None","vampire0","kazzmir","None","None","None","None","dts12"],"email":["None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None","None"],"user_id":["4c337ecdb9363c411b000020","None","4bf460870594ca372a000019","4bf460731be1ce3e2f000023","4c4eff921be1ce40fb0011a7","4bf2eb681be1ce0f9a00000e","4bf69ef01be1ce1b03000084","4be313801be1ce2983000021","4c1fa6b50594ca5bc2000069","4bf42bccb9363c1b53000046","4bf820f51be1ce4408000026","4c4f00f7b9363c08a70024ef","4bf2eb661be1ce0f9d000010","4bf42ca01be1ce18bd000067","4d656b69b9363c2b00000044","4bf414f6b9363c1b53000028","4bf562e51be1ce3e2f0002d8","4c3e258d0594ca653a0003b4","4c1a70d20594ca5951000051","4d7f3fb11be1ce43720002cc","4d7db5dab9363c2e18000536","4d89fdb30594ca6b630003f2","Rick Cop\u00e9land","Wolf","David Brondsema","Dave Brondsema","Jenny Steele","4d904e170594ca6d8d000bfa","mramm","John Hoffmann","Kyle Adams","4bf414ff1be1ce18bd00003f","Chris Everest","Paul Sokolovsky","4cab241c0594ca4ca200010e","Christopher Tsai","4c8686450594ca0c3b000113","4dac8e8e0594ca653f000ec9","Test User 008","Wayne Davison","Tim Van Steenburgh","4d8b6b760594ca4b810004af","4db588bf0594ca3204000b63","4dd1944e1be1ce7d10000961","Wayne Witzel III","Waldemar Derr","4d7e93ccb9363c11220000a3","Matt","Rick Copeland \u2615","John Hoffmann \u2620","4bf460021be1ce3e2f000007","4e082c321be1ce779300071a","4db3b0e70594ca320a000071","4d1a16331be1ce13f30003e7","4daf1e990594ca726c0001e7","David Burley","4e20c9a71be1ce7258000e10","4bf432e61be1ce2757000009","Jonathan T. Beard","4c5516a50594ca7247000027","Marcin \"apotheon\" Ponikierski","4c601bc81be1ce3a6b000016","Patrick Lenz","scrogson","4d7e3c011be1ce1f1800086a","Dmitry Shachnev","Mark Ramm","karsten","4e2d17f30594ca7f79000af9","driedfruit","4d4191300594ca7bef00037c","CJ Kucera","4d9a23600594ca614e000057","4e2b06a90594ca63ef0003bb","cohadar","4ddc296d0594ca3ef5000254","4cade2590594ca022f0000e3","Merlijn S. van Deen","4e959bcc1be1ce5833000670","Rich Bowen","4e307a821be1ce4755000114","SourceForge Editorial Staff","Cory Johns","Master Bunny Fu","4efe4a33b9363c1b7f0008fe","4f2aad871be1ce3d99000375","Michael S. Meeks","4efce134b9363c3ab1000ba0","RVT888","4c3f73470594ca65a3000622","\u2e18Dave Brondsema\u203d","Dave\u2423Brondsema","4c55ca46b9363c66910000a0","Kyle Adams \u265e","4e15b1991be1ce5665000ede","\u15ebave \u1656rondsema","Dave Brondsema!","Wayne Witzel \u2778","4c551d62b9363c6693000027","4f1de311b9363c48a3000b78","4e5294e41be1ce78ad000914","Dave Brondsema\u2026","4fb0759d1be1ce64490009ad","Yaroslav Luzin","Dave Brondsema\u237e","4d83a25e0594ca6bfc0002c8","4fe0e4550594ca1a1a0000a7","UI Button Investigator","Fred Wenzel","4fd63d330594ca44f30001aa","4f05bb7b1be1ce4ef2000f32","4d6cfaa51be1ce3e5000032e","4edfb43db9363c4735000b9d","David E. Bernholdt","4cea6a2bb9363c6ff0000535","5012c4bb1be1ce67cb0001d0","4f5e5914b9363c3115000c53","Jim Newsome","4c3f1a2db9363c5db40003c4","Chris Tsai","4f396d711be1ce75340007c5","Igor Bondarenko","4d8465e50594ca6e1400007d","4bfd41f6b9363c6431000049","4fb7e8221be1ce7a7d000171","4d85e76a0594ca1a0500035d","Daniel Gruno","Hendrik Brummermann","4d6e0658b9363c1623000a50","4f1d69e7b9363c638f000d68","4dd5527ab9363c08fc00079b","504c32201be1ce7e2ae50eb9","4cc911831be1ce313900017e","4ec19efbb9363c2075000589","502969e60594ca46cf350723","4d3e20a2b9363c6f770000d2","4f30fdefb9363c4af90005f9","4c557b0a1be1ce35be0000a1","Dave Brondsema\u269b","4cb5db210594ca6ef50000b5","Dave Br\u25f7ndsema","4d64bf241be1ce436c0008e4","4ecd2afd0594ca201c000e08","4df7ea6c1be1ce71c8000a41","4f367571b9363c52710009c8","nh11","4cf60e221be1ce67870001fa","4e5bf172b9363c1e2c0005e8","4d0fa8270594ca7d320005f1","Sammy Guergachi","4cede2a2b9363c476f000691","4f2a56ee0594ca16010003eb","4d2d81831be1ce0e440002d0","Javier Paniza","Michal \u010ciha\u0159","u\u01dd\u028doq \u0265\u0254\u0131\u0279","4f8970520594ca17b300056a","Stefano","4e68759b1be1ce4fb60003fd","Jon Schewe","helen grace fernandez","Bryan Dam","4f425decb9363c5fb8000d1a","4ec1cde00594ca7d27000155","Tim Hoffmann","sf robot","502ab62771b75b50f278e698","Michalis Kamburelis","4f5872c40594ca554a000578","4c66507f1be1ce49f5000070","Midori Harris","Rony G. Flatscher","4d067bf90594ca7bc2000770","4c4878c81be1ce60410014a0","Alvaro del Castillo","Bj\u00f6rn Kautler","Peter Hartmann","Mathieu Malaterre","4f684ac91be1ce7b5400024d"]} \ No newline at end of file diff --git a/test/jasmine/data/json/its-static.json b/test/jasmine/data/json/its-static.json new file mode 100644 index 00000000..6df3101a --- /dev/null +++ b/test/jasmine/data/json/its-static.json @@ -0,0 +1 @@ +{"tickets":4205,"openers":102,"first_date":"2010-07-07","last_date":"2013-01-07","closers":39,"changers":74,"opened":4205,"changed":2236,"closed":1569,"url":"http://sourceforge.net/rest/p/allura/tickets","type":"allura"} \ No newline at end of file diff --git a/test/jasmine/data/json/its-top.json b/test/jasmine/data/json/its-top.json new file mode 100644 index 00000000..4c28842e --- /dev/null +++ b/test/jasmine/data/json/its-top.json @@ -0,0 +1 @@ +{"closers.":{"developer":["Dave Brondsema","Tim Van Steenburgh","Jenny Steele","Cory Johns","John Hoffmann \u2620","Kyle Adams","Wolf","Rick Copeland \u2615","Wayne Witzel III","Patrick Lenz"],"closed":[539,195,149,131,95,81,60,58,46,45]},"closers.last year":{"developer":["Dave Brondsema","Cory Johns","Tim Van Steenburgh","Jenny Steele","Kyle Adams \u265e","Patrick Lenz","Wayne Witzel \u2778","Chris Tsai","Wayne Witzel III","Kyle Adams"],"closed":[254,131,107,77,38,36,19,17,16,16]},"closers.last month":{"developer":["Dave Brondsema","Tim Hoffmann"],"closed":[2,1]}} \ No newline at end of file diff --git a/test/jasmine/data/json/markers.json b/test/jasmine/data/json/markers.json new file mode 100644 index 00000000..52d1a064 --- /dev/null +++ b/test/jasmine/data/json/markers.json @@ -0,0 +1 @@ +{"date" :["Jun 2012"], "marks":["Starting incubation"]} diff --git a/test/jasmine/data/json/mls--emails-evolutionary.json b/test/jasmine/data/json/mls--emails-evolutionary.json new file mode 100644 index 00000000..0557a097 --- /dev/null +++ b/test/jasmine/data/json/mls--emails-evolutionary.json @@ -0,0 +1 @@ +{"id":[24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24157,24157,24157,24157,24157],"year":[2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2013,2013,2013,2013,2013],"month":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,1,1,1],"date":["Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Jan 2013","Jan 2013","Jan 2013","Jan 2013","Jan 2013"],"email_address":["brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","wwitzel3@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","joes@apache.org","buildbot@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","buildbot@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","buildbot@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","buildbot@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","buildbot@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","joes@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","buildbot@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","rbowen@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","buildbot@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","stefanoinve@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","stefanoinve@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","buildbot@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","peterhartmann@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","buildbot@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","rbowen@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","peterhartmann@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","stefanoinve@apache.org","brondsem@apache.org","johnsca@apache.org","rbowen@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","acs@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","stefanoinve@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","peterhartmann@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","peterhartmann@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","stefanoinve@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","peterhartmann@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","peterhartmann@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","stefanoinve@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","acs@apache.org","wwitzel3@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","peterhartmann@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","stefanoinve@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","rbowen@apache.org","brondsem@apache.org","acs@apache.org","wwitzel3@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","peterhartmann@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","wwitzel3@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","peterhartmann@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","peterhartmann@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","acs@apache.org","peterhartmann@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","brondsem@apache.org","johnsca@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","johnsca@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","acs@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","tvansteenburgh@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","brondsem@apache.org","brondsem@apache.org","johnsca@apache.org","tvansteenburgh@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org","brondsem@apache.org"]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--evolutionary.json b/test/jasmine/data/json/mls--evolutionary.json new file mode 100644 index 00000000..378b7b43 --- /dev/null +++ b/test/jasmine/data/json/mls--evolutionary.json @@ -0,0 +1 @@ +{"id":[24153,24154,24155,24156,24157],"year":[2012,2012,2012,2012,2013],"month":[9,10,11,12,1],"date":["Sep 2012","Oct 2012","Nov 2012","Dec 2012","Jan 2013"],"sent":[127,446,264,543,5],"senders":[3,5,8,8,1]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--static.json b/test/jasmine/data/json/mls--static.json new file mode 100644 index 00000000..865f501c --- /dev/null +++ b/test/jasmine/data/json/mls--static.json @@ -0,0 +1 @@ +{"messages":2770,"first_date":"2012-09-19","last_date":"2013-01-02","people":11} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--emails-evolutionary.json b/test/jasmine/data/json/mls--emails-evolutionary.json new file mode 100644 index 00000000..d1678d8a --- /dev/null +++ b/test/jasmine/data/json/mls--emails-evolutionary.json @@ -0,0 +1 @@ +{"id":[24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24151,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24152,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24153,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24154,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24155,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156,24156],"year":[2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012],"month":[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12],"date":["Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Jul 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Sep 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Oct 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Nov 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012"],"email_address":["dbrondsema@geek.net","rbowen@rcbowen.com","acs@bitergia.com","dbrondsema@geek.net","rbowen@rcbowen.com","rbowen@rcbowen.com","acs@bitergia.com","rick@arborian.com","rbowen@rcbowen.com","rbowen@rcbowen.com","gstein@gmail.com","rbowen@rcbowen.com","dbrondsema@geek.net","rbowen@rcbowen.com","dbrondsema@geek.net","rgardler@opendirective.com","rbowen@rcbowen.com","rbowen@rcbowen.com","dbrondsema@geek.net","dbrondsema@geek.net","dbrondsema@geek.net","acs@bitergia.com","rbowen@rcbowen.com","stefano.invernizzi88@gmail.com","eric@sourcegear.com","dbrondsema@geek.net","dave@brondsema.net","dave@brondsema.net","dave@brondsema.net","mailbox.tec@gmail.com","rick@arborian.com","tvansteenburgh@geek.net","dave@brondsema.net","dave@brondsema.net","rony@apache.org","gstein@gmail.com","gstein@gmail.com","stefano.invernizzi88@gmail.com","jsteele@geek.net","olemis@gmail.com","dave@brondsema.net","dbrondsema@geek.net","mailbox.tec@gmail.com","rbowen@rcbowen.com","mailbox.tec@gmail.com","gary.martin@wandisco.com","dave@brondsema.net","rony@apache.org","dave@brondsema.net","gstein@gmail.com","gstein@gmail.com","dave@brondsema.net","dave@brondsema.net","rgardler@opendirective.com","gary.martin@wandisco.com","mailbox.tec@gmail.com","leotrubach@gmail.com","mailbox.tec@gmail.com","dave@brondsema.net","rony@apache.org","gstein@gmail.com","gstein@gmail.com","gstein@gmail.com","johnsca@geek.net","dave@brondsema.net","wwitzel3@gmail.com","gary.martin@wandisco.com","dave@brondsema.net","sscroggin@geek.net","eric@sourcegear.com","dave@brondsema.net","rony@apache.org","gstein@gmail.com","gstein@gmail.com","gstein@gmail.com","mailbox.tec@gmail.com","gary.martin@wandisco.com","wwitzel3@gmail.com","dave@brondsema.net","rick@arborian.com","dave@brondsema.net","dave@brondsema.net","dave@brondsema.net","wwitzel3@gmail.com","gstein@gmail.com","gstein@gmail.com","rbowen@rcbowen.com","rbowen@rcbowen.com","rbowen@rcbowen.com","acs@bitergia.com","dave@brondsema.net","rbowen@rcbowen.com","dave@brondsema.net","dave@brondsema.net","rbowen@rcbowen.com","rbowen@rcbowen.com","acs@bitergia.com","dave@brondsema.net","dave@brondsema.net","no-reply@apache.org","rbowen@rcbowen.com","wwitzel3@gmail.com","acs@bitergia.com","dave@brondsema.net","shockeyk@gmail.com","rbowen@rcbowen.com","jgb@bitergia.com","dave@brondsema.net","dave@brondsema.net","rbowen@rcbowen.com","jgb@bitergia.com","dave@brondsema.net","rbowen@rcbowen.com","tias@fosdem.org","mailbox.tec@gmail.com","rbowen@rcbowen.com","simone.gatti88@gmail.com","rbowen@rcbowen.com","rgardler@opendirective.com","rgardler@opendirective.com","rbowen@rcbowen.com","jgb@bitergia.com","rbowen@rcbowen.com","rbowen@rcbowen.com","rgaloppini@geek.net","dave@brondsema.net","dave@brondsema.net","johnsca@geek.net","simone.gatti88@gmail.com","rbowen@rcbowen.com","rgaloppini@geek.net","dave@brondsema.net","dave@brondsema.net","simone.gatti88@gmail.com","rbowen@rcbowen.com","acs@bitergia.com","rbowen@rcbowen.com","rbowen@rcbowen.com","rbowen@rcbowen.com","dave@brondsema.net","rgaloppini@geek.net","dave@brondsema.net","stefano.invernizzi88@gmail.com","rbowen@rcbowen.com","buildbot@apache.org","rbowen@rcbowen.com","rbowen@rcbowen.com","acs@bitergia.com","dave@brondsema.net","dave@brondsema.net","stefano.invernizzi88@gmail.com","johnsca@geek.net","buildbot@apache.org","rbowen@rcbowen.com","rbowen@rcbowen.com","rbowen@rcbowen.com","rbowen@rcbowen.com","acs@bitergia.com","nick.bollweg@gmail.com","dave@brondsema.net","gstein@gmail.com","dave@brondsema.net","jgb@bitergia.com","stefano.invernizzi88@gmail.com","mailbox.tec@gmail.com","rbowen@rcbowen.com","jgb@bitergia.com","dave@brondsema.net","dave@brondsema.net","rbowen@rcbowen.com","acs@bitergia.com","nick.bollweg@gmail.com","mailbox.tec@gmail.com","rbowen@rcbowen.com","simone.gatti88@gmail.com","rbowen@rcbowen.com","acs@bitergia.com","johnsca@geek.net","dave@brondsema.net","no-reply@apache.org","acs@bitergia.com","jgb@bitergia.com","acs@bitergia.com","dave@brondsema.net","no-reply@apache.org","rgardler@opendirective.com","rgardler@opendirective.com","rbowen@rcbowen.com","rbowen@rcbowen.com","rbowen@rcbowen.com","acs@bitergia.com","jgb@bitergia.com","acs@bitergia.com","johnsca@geek.net","olemis@gmail.com","mailbox.tec@gmail.com","no-reply@apache.org","rbowen@rcbowen.com","dbrondsema@geek.net","rgardler@opendirective.com","rbowen@rcbowen.com","acs@bitergia.com","jgb@bitergia.com","acs@bitergia.com","simone.gatti88@gmail.com","mailbox.tec@gmail.com","dbrondsema@geek.net","rbowen@rcbowen.com","wwitzel3@gmail.com","rbowen@rcbowen.com","jgb@bitergia.com","acs@bitergia.com","stefano.invernizzi88@gmail.com","acs@bitergia.com","dave@brondsema.net","dave@brondsema.net","rgardler@opendirective.com","rbowen@rcbowen.com","acs@bitergia.com","rbowen@rcbowen.com","jgb@bitergia.com"]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--evolutionary.json b/test/jasmine/data/json/mls--evolutionary.json new file mode 100644 index 00000000..8b46c4be --- /dev/null +++ b/test/jasmine/data/json/mls--evolutionary.json @@ -0,0 +1 @@ +{"id":[24151,24152,24153,24154,24155,24156],"year":[2012,2012,2012,2012,2012,2012],"month":[7,8,9,10,11,12],"date":["Jul 2012","Aug 2012","Sep 2012","Oct 2012","Nov 2012","Dec 2012"],"sent":[23,63,27,46,17,45],"senders":[6,18,7,13,9,13]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--static.json b/test/jasmine/data/json/mls--static.json new file mode 100644 index 00000000..414a819a --- /dev/null +++ b/test/jasmine/data/json/mls--static.json @@ -0,0 +1 @@ +{"messages":469,"first_date":"2012-07-05","last_date":"2012-12-28","people":32} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--emails-evolutionary.json b/test/jasmine/data/json/mls--emails-evolutionary.json new file mode 100644 index 00000000..6382bce7 --- /dev/null +++ b/test/jasmine/data/json/mls--emails-evolutionary.json @@ -0,0 +1 @@ +{"id":[24151,24152,24152,24152,24152,24152,24153,24153,24154,24154,24154,24156,24156,24156,24156,24156,24156,24156,24156,24156],"year":[2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012],"month":[7,8,8,8,8,8,9,9,10,10,10,12,12,12,12,12,12,12,12,12],"date":["Jul 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Aug 2012","Sep 2012","Sep 2012","Oct 2012","Oct 2012","Oct 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012","Dec 2012"],"email_address":["rgaloppini@geek.net","tvansteenburgh@geek.net","dbrondsema@geek.net","object.rexx@gmail.com","tvansteenburgh@geek.net","object.rexx@gmail.com","dave@brondsema.net","cliff.evans@rulefinancial.com","dave@brondsema.net","ilim@research.att.com","ilim@research.att.com","rbowen@rcbowen.com","jpschewe@gmail.com","mathieu.malaterre@gmail.com","jpschewe@mtu.net","dave@brondsema.net","jpschewe@gmail.com","tvansteenburgh@gmail.com","rbowen@rcbowen.com","jpschewe@gmail.com"]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--evolutionary.json b/test/jasmine/data/json/mls--evolutionary.json new file mode 100644 index 00000000..74cf9287 --- /dev/null +++ b/test/jasmine/data/json/mls--evolutionary.json @@ -0,0 +1 @@ +{"id":[24151,24152,24153,24154,24155,24156],"year":[2012,2012,2012,2012,0,2012],"month":[7,8,9,10,0,12],"date":["Jul 2012","Aug 2012","Sep 2012","Oct 2012","0","Dec 2012"],"sent":[1,5,2,3,0,9],"senders":[1,3,2,2,0,6]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls--static.json b/test/jasmine/data/json/mls--static.json new file mode 100644 index 00000000..21ef2dce --- /dev/null +++ b/test/jasmine/data/json/mls--static.json @@ -0,0 +1 @@ +{"messages":40,"first_date":"2012-07-05","last_date":"2012-12-17","people":13} \ No newline at end of file diff --git a/test/jasmine/data/json/mls-evolutionary.json b/test/jasmine/data/json/mls-evolutionary.json new file mode 100644 index 00000000..9b8cfecf --- /dev/null +++ b/test/jasmine/data/json/mls-evolutionary.json @@ -0,0 +1 @@ +{"id":[24151,24152,24153,24154,24155,24156,24157],"year":[2012,2012,2012,2012,2012,2012,2013],"month":[7,8,9,10,11,12,1],"date":["Jul 2012","Aug 2012","Sep 2012","Oct 2012","Nov 2012","Dec 2012","Jan 2013"],"sent":[24,68,156,495,281,597,5],"senders":[7,19,11,18,17,25,1]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls-lists.json b/test/jasmine/data/json/mls-lists.json new file mode 100644 index 00000000..2d6ddafa --- /dev/null +++ b/test/jasmine/data/json/mls-lists.json @@ -0,0 +1 @@ +{"mailing_list":["","",""]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls-people.json b/test/jasmine/data/json/mls-people.json new file mode 100644 index 00000000..9d43e143 --- /dev/null +++ b/test/jasmine/data/json/mls-people.json @@ -0,0 +1 @@ +{"id":["acs@apache.org","acs@bitergia.com","allura-commits@incubator.apache.org","allura-dev@incubator.apache.org","allura-users@incubator.apache.org","bloodhound-dev@incubator.apache.org","brondsem@apache.org","buildbot@apache.org","cliff.evans@rulefinancial.com","dave@brondsema.net","dbrondsema@geek.net","devrooms@fosdem.org","eric@sourcegear.com","gary.martin@wandisco.com","gstein@gmail.com","ilim@research.att.com","jgb@bitergia.com","joes@apache.org","johnsca@apache.org","johnsca@geek.net","jpschewe@gmail.com","jpschewe@mtu.net","jsteele@geek.net","leotrubach@gmail.com","mailbox.tec@gmail.com","mathieu.malaterre@gmail.com","nick.bollweg@gmail.com","no-reply@apache.org","object.rexx@gmail.com","olemis@gmail.com","peterhartmann@apache.org","rbowen@apache.org","rbowen@rcbowen.com","rgaloppini@geek.net","rgardler@opendirective.com","rick@arborian.com","rony@apache.org","secretary@apache.org","shockeyk@gmail.com","simone.gatti88@gmail.com","sscroggin@geek.net","stefano.invernizzi88@gmail.com","stefanoinve@apache.org","tias@fosdem.org","tvansteenburgh@apache.org","tvansteenburgh@geek.net","tvansteenburgh@gmail.com","wwitzel3@apache.org","wwitzel3@gmail.com"],"email_address":["acs@apache.org","acs@bitergia.com","allura-commits@incubator.apache.org","allura-dev@incubator.apache.org","allura-users@incubator.apache.org","bloodhound-dev@incubator.apache.org","brondsem@apache.org","buildbot@apache.org","cliff.evans@rulefinancial.com","dave@brondsema.net","dbrondsema@geek.net","devrooms@fosdem.org","eric@sourcegear.com","gary.martin@wandisco.com","gstein@gmail.com","ilim@research.att.com","jgb@bitergia.com","joes@apache.org","johnsca@apache.org","johnsca@geek.net","jpschewe@gmail.com","jpschewe@mtu.net","jsteele@geek.net","leotrubach@gmail.com","mailbox.tec@gmail.com","mathieu.malaterre@gmail.com","nick.bollweg@gmail.com","no-reply@apache.org","object.rexx@gmail.com","olemis@gmail.com","peterhartmann@apache.org","rbowen@apache.org","rbowen@rcbowen.com","rgaloppini@geek.net","rgardler@opendirective.com","rick@arborian.com","rony@apache.org","secretary@apache.org","shockeyk@gmail.com","simone.gatti88@gmail.com","sscroggin@geek.net","stefano.invernizzi88@gmail.com","stefanoinve@apache.org","tias@fosdem.org","tvansteenburgh@apache.org","tvansteenburgh@geek.net","tvansteenburgh@gmail.com","wwitzel3@apache.org","wwitzel3@gmail.com"],"name":["","Alvaro del Castillo","","","","","","","Cliff Evans","Dave Brondsema","Dave Brondsema","","Eric Sink","Gary Martin","Greg Stein","LIM, IVY S (IVY S)","Jesus M. Gonzalez-Barahona","","","Cory Johns","Jon Schewe","Jon Schewe","Jenny Steele","Leo Trubach","Peter Hartmann","Mathieu Malaterre","Nicholas Bollweg","Marvin","Rick McGuire","Olemis Lang","","","Rich Bowen","Roberto Galoppini","Ross Gardler","Rick Copeland","Rony G. Flatscher (Apache)","secretary@apache.org Secretary","Kevin Shockey","Simone Gatti","Sonny Scroggin","Stefano Invernizzi","","Tias Guns","","Tim Van Steenburgh","Tim Van Steenburgh","","Wayne Witzel III"],"username":["acs","acs","allura-commits","allura-dev","allura-users","bloodhound-dev","brondsem","buildbot","cliff.evans","dave","dbrondsema","devrooms","eric","gary.martin","gstein","ilim","jgb","joes","johnsca","johnsca","jpschewe","jpschewe","jsteele","leotrubach","mailbox.tec","mathieu.malaterre","nick.bollweg","no-reply","object.rexx","olemis","peterhartmann","rbowen","rbowen","rgaloppini","rgardler","rick","rony","secretary","shockeyk","simone.gatti88","sscroggin","stefano.invernizzi88","stefanoinve","tias","tvansteenburgh","tvansteenburgh","tvansteenburgh","wwitzel3","wwitzel3"]} \ No newline at end of file diff --git a/test/jasmine/data/json/mls-static.json b/test/jasmine/data/json/mls-static.json new file mode 100644 index 00000000..f4de133a --- /dev/null +++ b/test/jasmine/data/json/mls-static.json @@ -0,0 +1 @@ +{"sent":1626,"first_date":"2012-07-05","last_date":"2013-01-02","senders":49,"url":"."} \ No newline at end of file diff --git a/test/jasmine/data/json/mls-top.json b/test/jasmine/data/json/mls-top.json new file mode 100644 index 00000000..26acd673 --- /dev/null +++ b/test/jasmine/data/json/mls-top.json @@ -0,0 +1 @@ +{"senders.":{"developer":["allura-commits@incubator.apache.org","johnsca@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","allura-dev@incubator.apache.org","rbowen@rcbowen.com","dave@brondsema.net","peterhartmann@apache.org","rbowen@apache.org","acs@bitergia.com"],"sent":[1385,560,467,243,217,53,46,34,32,31]},"senders.last year":{"developer":["allura-commits@incubator.apache.org","johnsca@apache.org","brondsem@apache.org","tvansteenburgh@apache.org","allura-dev@incubator.apache.org","rbowen@rcbowen.com","dave@brondsema.net","peterhartmann@apache.org","rbowen@apache.org","acs@bitergia.com"],"sent":[1385,560,467,243,217,53,46,34,32,31]},"senders.last month":{"developer":["allura-commits@incubator.apache.org","tvansteenburgh@apache.org","brondsem@apache.org","johnsca@apache.org","allura-dev@incubator.apache.org","peterhartmann@apache.org","acs@apache.org","acs@bitergia.com","rbowen@rcbowen.com","allura-users@incubator.apache.org"],"sent":[548,193,169,121,44,32,26,21,11,9]}} \ No newline at end of file diff --git a/test/jasmine/data/json/scm-demographics-2012.json b/test/jasmine/data/json/scm-demographics-2012.json new file mode 100644 index 00000000..08e19ffe --- /dev/null +++ b/test/jasmine/data/json/scm-demographics-2012.json @@ -0,0 +1 @@ +{"date":"2012-10-01","persons":{"id":[1,2,3,6,8,9,10,11,12,14,17,19,25,26,30,34,37,41,42,43,45,47,49,53,56,59,60,62,63,68,70,71,75,76,81,82,84,87,95,96,97,98,99,102,107,108,111,113,118,125,126,135,136,138,141,144,145,147,148,150,155,157,160,162,166,178,179,186,187,189,192,193,199,204,205,209,217,219,226,231,238,241,249,258,259,261,264,269,273,281,282,289,302,306,310,314,315,319,321,331,336,339,352,354,357,358,359,361,364,368,370,372,378,386,387,388,397,398,415,416,419,426,451,452,455,458,465,468,472,474,494,496,498,503,511,517,527,560,570,571,572,574,575,576,580,588,609,610,611,620,625,642,645,646,654,662,664,693,704,709,713,715,722,753,762,771,775,792,793,812,834,868,873,879,889,890,894,904,929,936,943,947,949,985,1006,1015,1019,1026,1036,1039,1064,1069,1083,1090,1119,1152,1158,1169,1180,1185,1192,1208,1210,1211,1223,1224,1225,1238,1239,1270,1279,1286,1287,1290,1293,1295,1296,1317,1352,1354,1357,1364,1368,1369,1370,1371,1392,1400,1419,1424,1432,1435,1460,1472,1487,1500,1533,1537,1549,1555,1556,1558,1575,1576,1579,1587,1605,1616,1639,1648,1665,1683,1703,1710,1716,1722,1757,1759,1770,1778,1785,1801,1830,1835,1840,1889,1890,1915,1926,1938,1943,1947,1956,1962,1968,2025,2032,2035,2049,2053,2056,2069,2077,2093,2097,2101,2104,2123,2124,2152,2193,2199,2212,2214,2224,2226,2239,2246,2250,2253,2260,2286,2291,2296,2357,2364,2371,2395,2397,2431,2438,2441,2461,2471,2490,2505,2506,2509,2516,2534,2535,2537,2539,2554,2555,2559,2574,2576,2591,2631,2636,2643,2658,2666,2677,2688,2716,2724,2745,2748,2752,2757,2772,2807,2819,2820,2824,2833,2837,2847,2864,2873,2889,2891,2904,2927,2963,2966,2975,2977,2984,2994,2999,3006,3018,3025,3029,3031,3047,3062,3067,3087,3090,3114,3157,3163,3175,3183,3197,3204,3205,3216,3225,3228,3234,3236,3239,3247,3262,3277,3290,3292,3293,3295,3298,3303,3304,3318,3325,3335,3350,3391,3398,3405,3410,3426,3429,3437,3450,3452,3454,3460,3461,3466,3503,3509,3512,3523,3529,3545,3556,3557,3562,3571,3579,3582,3592,3596,3609,3626,3633,3645,3654,3658,3674,3690,3709,3714,3718,3755,3775,3790,3799,3833,3846,3864,3869,3881,3888,3890,3905,3906,3926,3932,3941,3976,3986,3996,4017,4018,4056,4059,4061,4075,4078,4085,4088,4094,4097,4106,4131,4138,4143,4146,4148,4150,4153,4189,4209,4214,4227,4249,4253,4255,4267,4268,4292,4311,4341,4360,4361,4366,4375,4394,4400,4406,4423,4449,4466,4469,4483,4494,4495,4532,4534,4541,4562,4585,4586,4592,4593,4609,4623,4629,4638,4639,4643,4644,4647,4660,4685,4695,4723,4727,4738,4739,4740,4753,4778,4784,4793,4810,4821,4838,4841,4848,4855,4870,4901,4913,4915,4931,4933,4934,4935,4960,4971,4973,4975,4983,4995,4998,5001,5023,5024,5029,5030,5037,5052,5057,5065,5079,5093,5104,5113,5121,5133,5167,5171,5183,5190,5191,5206,5215,5219,5221,5232,5245,5249,5265,5267,5273,5283,5293,5331,5339,5347,5368,5382,5383,5387,5417,5424,5454,5455,5492,5494,5503,5519,5532,5549,5553,5561,5566,5589,5613,5620,5640,5660,5677,5689,5690,5697,5699,5704,5710,5749,5755,5762,5768,5782,5788,5794,5802,5810,5812,5818,5819,5827,5846,5853,5864,5871,5872,5879,5898,5902,5909,5913,5920,5925,5938,5947,5953,5971,5993,6000,6027,6031,6039,6043,6044,6064,6078,6080,6092,6122,6148,6156,6201,6218,6229,6230,6231,6240,6249,6250,6256,6266,6276,6278,6288,6300,6313,6316,6328,6334,6336,6342,6346,6350,6352,6356,6364,6372,6387,6412,6418,6420,6433,6439,6467,6474,6482,6484,6487,6491,6533,6539,6540,6544,6586,6600,6604,6609,6614,6625,6635,6641,6645,6670,6696,6703,6705,6706,6720,6766,6776,6782,6792,6798,6801,6817,6818,6821,6835,6841,6845,6846,6848,6849,6854,6865,6871,6873,6890,6896,6897,6909,6912,6914,6955,6969,6976,6978,7014,7015,7034,7036,7042,7043,7047,7048,7049,7051,7056,7058,7069,7093,7113,7118,7124,7125,7132,7143,7144,7147,7148,7149,7193,7202,7208,7216,7221,7222,7244,7255,7263,7276,7282,7287,7295,7307,7309,7314,7317,7319,7333,7336,7342,7346,7367,7380,7381,7386,7390,7418,7419,7420,7424,7427,7445,7451,7459,7478,7490,7491,7500,7519,7529,7537,7567,7577,7580,7612,7635,7638,7641,7648,7658,7670,7671,7672,7676,7688,7705,7707,7710,7715,7733,7740,7741,7746,7753,7756,7759,7761,7763,7767,7773,7779,7787,7791,7805,7834,7840,7845,7852,7856,7863,7866,7877,7886,7893,7894,7897,7905,7922,7937,7938,7939,7952,7963,7969,7970,7989,7992,7994,7997,8005,8006,8016,8017,8020,8023,8034,8055,8074,8076,8079,8083,8103,8117,8122,8128,8146,8147,8148,8157,8200,8215,8217,8230,8248,8260,8263,8264,8277,8285,8293,8297,8305,8309,8335,8336,8343,8354,8358,8362,8367,8372,8385,8388,8400,8410,8417,8427,8431,8441,8453,8464,8474,8477,8478,8480,8491,8511,8516,8528,8529,8537,8545,8548,8554,8570,8586,8594,8605,8607,8608,8609,8625,8631,8634,8637,8638,8645,8648,8659,8661,8664,8690,8693,8698,8707,8727,8729,8732,8736,8743,8748,8749,8755,8756,8764,8779,8782,8784,8789,8799,8800,8809,8812,8817,8820,8836,8838,8839,8844,8868,8875,8887,8891,8904,8907,8913,8914,8921,8923,8930,8937,8947,8948,8952,8961,8971,8994,9010,9012,9016,9044,9053,9054,9061,9064,9068,9081,9083,9087,9090,9092,9093,9097,9100,9102,9112,9114,9123,9143,9148,9149,9159,9160,9190,9192,9207,9218,9220,9222,9223,9228,9243,9248,9249,9252,9255,9265,9268,9269,9272,9276,9281,9298,9303,9311,9312,9314,9315,9316,9319,9326,9329,9349,9351,9352,9354,9366,9369,9371,9374,9397,9407,9410,9413,9417,9422,9424,9431,9432,9439,9443,9447,9452,9453,9454,9456,9458,9462,9464,9470,9471,9473,9479,9481,9489,9491,9498,9500,9501,9513,9520,9528,9534,9537,9538,9540,9541,9543,9544,9554,9562,9563,9568,9571,9578,9582,9583,9594,9598,9602,9603,9604,9605,9606,9609,9618,9621,9624,9625,9626,9630,9644,9645,9656,9668,9676,9680,9686,9693,9701,9702,9707],"name":["Linus Torvalds","Christoph Lameter","Neil Brown","James Bottomley","David S. Miller","James Morris","Dave Airlie","Jeff Moyer","Andrea Arcangeli","Arnaldo Carvalho de Melo","Paul Mackerras","Benjamin Herrenschmidt","Anton Blanchard","Olof Johansson","Andi Kleen","Pavel Machek","Jens Axboe","Christoph Hellwig","Bernard Blackham","Jan Kara","Dave Hansen","Paul E. McKenney","Magnus Damm","Lennert Buytenhek","Russell King","Roland Dreier","Sean Hefty","Michael S. Tsirkin","NeilBrown","Geert Uytterhoeven","David Howells","Ingo Molnar","Greg KH","Nishanth Aravamudan","Alan Stern","Flavio Leitner","Jesper Juhl","Jean Delvare","Hugh Dickins","YOSHIFUJI Hideaki","Thomas Graf","Stephen Hemminger","Al Viro","Tony Luck","John W. Linville","Michael Chan","Andrew Morton","Ben Greear","Deepak Saxena","Patrick Boettcher","Marcelo Tosatti","Robin Holt","Alex Williamson","Suresh Siddha","Jesse Barnes","Brian Haley","Neil Horman","Dave Jones","Nicolas Dichtel","Steve French","Serge Hallyn","David Woodhouse","Nicolas Pitre","Sascha Hauer","KAMEZAWA Hiroyuki","H. Peter Anvin","john stultz","Martin Schwidefsky","Heiko Carstens","Michael Holzheu","Cornelia Huck","Daniel Drake","Stephen Rothwell","Corey Minyard","Andreas Schwab","Ian Kent","Jeff Garzik","Dave Kleikamp","Rolf Eike Beer","Ian Abbott","Eric Sandeen","Rafael J. Wysocki","Matt Porter","Tobias Klauser","Andrew Vasquez","Andreas Herrmann","Jiri Benc","Greg Kroah-Hartman","Dmitry Torokhov","Rik van Riel","Randy Dunlap","Julian Anastasov","Bartlomiej Zolnierkiewicz","Dan Williams","Michael Ellerman","Alan Cox","Len Brown","Takashi Iwai","Clemens Ladisch","Ville Syrjala","Shaohua Li","Paul Mundt","Jan Beulich","Ping Cheng","Greg Ungerer","Nathan Lynch","Francois Romieu","Gerald Schaefer","Bjorn Helgaas","Trond Myklebust","Mike Frysinger","Olaf Hering","Ralf Baechle","Oliver Neukum","Tejun Heo ","Catalin Marinas","Steffen Klassert","Pekka Enberg","Arnd Bergmann","Hannes Reinecke","Alexey Kuznetsov","Darren Hart","J. Bruce Fields","Andreas Gruenbacher","Chuck Lever","Eric Dumazet","Andy Whitcroft","Ian Campbell","Oleg Nesterov","Robert Love","Chris Zankel","Mauro Carvalho Chehab","Michael Krufky","Jiri Slaby","Christian Borntraeger","Eric W. Biederman","Maciej W. Rozycki","Tony Lindgren","Dietmar Eggemann","Maxime Bizon","Vlad Yasevich","Jeff Mahoney","Prarit Bhargava","Eric Paris","Raphael Assenat","Mark Fasheh","Ben Collins","Thomas Gleixner","Josh Boyer","David Vrabel","Sean Young","Matthieu Castet","Robert Moore","Sonny Rao","Rusty Russell","Steven Rostedt","Gleb Natapov","Simon Horman","Matthew Garrett","Michael Kerrisk","Simon Derr","Marcel Holtmann","Steven Whitehouse","Pablo Neira Ayuso","Liam Girdwood","Jouni Malinen","Kalle Valo","Hans-Frieder Vogt","Jim Cromie","Bruce Allan","Bob Moore","Jun'ichi Nomura","Zach Brown","Willy Tarreau","adam radford","Chris Mason","David Hardeman","Pantelis Antoniou","Paul Gortmaker","Jack Morgenstein","Diego Calleja","Ursula Braun","Wade Farnsworth","Jayachandran C","Sven Schnelle","Akinobu Mita","Borislav Petkov","Khalid Aziz","Steven J. Hill","Lee Schermerhorn","Guennadi Liakhovetski","Kirill Smelkov","Wei Ni","Andrew Lunn","Hans Verkuil","Ondrej Zary","Stefan Richter","Jacob Shin","Jesse Brandeburg","Bernhard Rosenkraenzer","Nicolas Kaiser","Stanislaw Gruszka","Egbert Eich","Thomas Renninger","Jozsef Kadlecsik","David Stevens","Johannes Berg","Jason Wessel","Paul Walmsley","Kees Cook","Kailang Yang","Peter Korsgaard","Larry Finger","Jan Glauber","David Teigland","Darrick J. Wong","Dimitri Sivanich","Dotan Barak","Ben Gardner","Sergei Shtylyov","Michael Neuling","Kevin Hilman","Jon Maloy","Joe Perches","Eli Cohen","Ishai Rabinovitz","Graham Gower","Andy Adamson","Mikael Pettersson","Manuel Lauss","Chris Ball","Martin Michlmayr","Samuel Ortiz","Joshua Kinard","Marc Zyngier","Mark Brown","Or Gerlitz","Tilman Schmidt","Rick Jones","Mike Galbraith","Wu Fengguang","James Smart","Grant Likely","Kim Phillips","Luca Tettamanti","Theodore Ts'o","Fenghua Yu","Jason Gunthorpe","Satoru Takeuchi","Nathan Fontenot","Linus Walleij","Tim Chen","Luck, Tony","Imre Deak","Jeremy Kerr","Wei Yongjun","Thomas Bogendoerfer","Chad Reese","Marcin Juszkiewicz","Eric Leblond","Vu Pham","HighPoint Linux Team","Hans de Goede","Matthias Fuchs","Peter Zijlstra","Milan Broz","Jonathan Brassow","Josh Triplett","Peter Ujfalusi","Chris Boot","Daniel Mack","David Miller","Kristen Carlson Accardi","Jan Kiszka","Tetsuo Handa","Suleiman Souhlal","Nobuhiro Iwamatsu","Andres Salomon","Takashi YOSHII","H\u00e5vard Skinnemoen","Scott Wood","Paul Moore","Andy Shevchenko","Doug Ledford","Sukadev Bhattiprolu","Robert P. J. Day","David Rientjes","Mel Gorman","Sonic Zhang","Hiroshi DOYU","Thomas Hellstrom","Thomas Petazzoni","Marek Vasut","Tony Breeds","Paul Clements","Laurent Pinchart","Benjamin Marzinski","Jiri Kosina","Timur Tabi","Aneesh Kumar K.V","Joerg Roedel","Jan Luebbe","Yinghai Lu","Anton Vorontsov","Christian Lamparter","Matthew McClintock","Yan Burman","Jun Chen","Avi Kivity","Boaz Harrosh","Dan Carpenter","Dhaval Giani","Ang Way Chuang","Philipp Zabel","Lars Ellenberg","Artem Bityutskiy","Stefan Roese","Adrian Hunter","David Milburn","Zhang Rui","Corentin Chary","Cesar Eduardo Barros","YOSHIFUJI Hideaki / \u5409\u85e4\u82f1\u660e","Philipp Reisner","Joe Jin","Jiri Bohac","Gregor Jasny","Seth Forshee","Alexandre Bounine","Stuart Yoder","Uwe Kleine-K\u00f6nig","Dmitry Adamushko","Antti Palosaari","Florian Fainelli","Florian Zumbiehl","Cyrill Gorcunov","Johannes Weiner","Simon Arlott","Taku Izumi","Stefan Haberland","Janusz Krzysztofik","Matthias Kaehlcke","Jarod Wilson","Bart Van Assche","Mark Langsdorf","Bryan Wu","Nicolas Ferre","Martin K. Petersen","Matt Carlson","Jeff Layton","Josef Bacik","John Johansen","Roland Stigge","Fengguang Wu","David Sterba","Sakari Ailus","Domenico Andreoli","Oliver Hartkopp","Tim Gardner","Luis R. Rodriguez","Javier Cardona","Jean-Christian de Rivaz","Julian Stecklina","Florian Westphal","Alexander Graf","Aristeu Rozanski","Dave Young","Bob Peterson","Imre Kaloz","Michal Marek","Nitin Gupta","Patrice Vilchez","York Sun","Dmitry Monakhov","Yasuaki Ishimatsu","Alessio Igor Bogani","Zhenyu Wang","Herton Ronaldo Krzesinski","Miao Xie","Jussi Kivilinna","Moni Shoua","Minchan Kim","Zhao Yakui","Nick Bowler","Pavel Emelyanov","Shane Huang","Denis V. Lunev","Ortwin Gl\u00fcck","Paul Bolle","Feng Tang","Andrew Gallatin","Daniel Lezcano","Jesper Dangaard Brouer","Tomas Winkler","Ryan Mallon","Denys Vlasenko","trem","Felipe Balbi","Sarah Sharp","Amit Shah","Joe Carnuccio","Felix Fietkau","Adrian Knoth","Philipp Marek","Ohad Ben-Cohen","David Daney","Dirk Hohndel","Jiri Olsa","Julia Lawall","Jesper Nilsson","Helmut Schaa","Mikulas Patocka","Heiko Schocher","Charles Hardin","Adam Jackson","Gregory CLEMENT","David Dillow","Jonas Bonn","David Fries","Michel Lespinasse","Tao Ma","Marcin Slusarz","Sebastian Ott","Arve Hj\u00f8nnev\u00e5g","Bastien Nocera","Thomas Betker","Rami Rosen","Emmanuel Grumbach","Robert Richter","Zhang Xiantao","Rabin Vincent","Vasily Khoruzhick","Maarten Lankhorst","Shan Wei","Paul Chavent","Casey Schaufler","Sven Wegener","Thadeu Lima de Souza Cascardo","Kirill A. Shutemov","KOSAKI Motohiro","Marc Gauthier","Glauber Costa","Wolfram Sang","Emil Tantilov","Alex Deucher","Anatolij Gustschin","Lai Jiangshan","Mike Snitzer","Daniel Wagner","Ben Hutchings","Nick Kossifidis","Assaf Krauss","Mark Asselstine","Cyril Brulebois","Pawel MOLL","Richard Genoud","Ming Lei","John Linn","Ivan Vecera","Steve Glendinning","Eduardo Valentin","Kalle Jokiniemi","Andrew Price","Chen Gong","Lothar Wa\u00dfmann","Bruno Pr\u00e9mont","Colin Ian King","Octavian Purdila","Jonathan Cameron","Steve Hodgson","Daniel J Blueman","Huacai Chen","Shane McDonald","Andrey Vagin","Dave Chinner","Jiri Pirko","Hendrik Brueckner","Wolfgang Grandegger","Yaniv Rosner","Alexander Duyck","Jean-Francois Moine","Henrik Rydberg","Stefano Stabellini","Amir Vadai","Huang Ying","Alexander Holler","Simon Wunderlich","Krzysztof Ha\u0142asa","Jerome Glisse","Marc Kleine-Budde","Salman Qazi","Daisuke Nishimura","Gaetan Carlier","Stefan Raspl","Claudio Scordino","Frederic Weisbecker","Vasanthakumar Thiagarajan","Jean PIHET","Marco Stornelli","Mimi Zohar","Alexey Klimov","Sebastian Andrzej Siewior","Shinya Kuribayashi","SangSu Park","Ajay Kumar Gupta","Philip Rakity","Youquan Song","Jens Taprogge","Lennart Sorensen","Kuninori Morimoto","Matt Fleming","Mark Salter","Jason Cooper","walimis","Liming Wang","Tero Kristo","Stefano Babic","Julien Boibessot","Giuseppe Cavallaro","Baruch Siach","Misael Lopez Cruz","Stefan Assmann","Don Skidmore","Nicolas Palix","Santosh Shilimkar","Fabio Estevam","Valentin Longchamp","Vaibhav Hiremath","Nishanth Menon","Dmitry Eremin-Solenikov","Sathya Perla","Peter Popovec","Anisse Astier","Yan","Sage Weil","Markus Trippelsdorf","Mischa Jonker","Dan Magenheimer","Aaro Koskinen","Chris Wilson","Jamie Lentin","Josh Hunt","Zlatko Calusic","Ed Cashin","Paul Turner","Bj\u00f8rn Mork","Xiaotian Feng","Michael Spang","Justin P. Mattock","Yi Zou","Christoph Paasch","Jani Nikula","Joonyoung Shim","Andre Przywara","Gabor Juhos","Andy Grover","Bing Zhao","Nathan Williams","Ma Ling","Thierry Reding","Tomi Valkeinen","Martin Fuzzey","H Hartley Sweeten","Sergey Senozhatsky","Daniel Vetter","Adam Buchbinder","Mark Einon","Fred Brooks","Bill Pemberton","Giridhar Malavali","Yegor Yefremov","Kevin Cernekee","Michal Simek","Ajit Khaparde","Johan Hedberg","Russell King - ARM Linux","Roger Quadros","Ben Skeggs","Andy Lutomirski","Marek Szyprowski","Alessandro Rubini","Manuel Traut","Amerigo Wang","Jean-Christophe PLAGNIOL-VILLARD","Peter Huewe","Max Filippov","Hauke Mehrtens","Jon Hunter","Sergei Trofimovich","Huang Shijie","InKi Dae","Yang Li","Forest Bond","Tom Mingarelli","Barry Song","Xiao Guangrong","Lars-Peter Clausen","Peng Tao","Vince Weaver","Javier Martin","Florian Tobias Schandinat","Haojian Zhuang","Jeff Liu","Rajendra Nayak","Peter Meerwald","Sarveshwar Bandi","Marcos Chaparro","Simon Guinot","Andrzej Hajda","Haiyang Zhang","Harald Krapfenbauer","Alex Elder","Michal Hocko","Paolo Bonzini","Sekhar Nori","Phil Edworthy","Rodrigo Vivi","Bob Liu","George Spelvin","Donald Dutile","Yan, Zheng","Thomas Abraham","John Fastabend","Sven Eckelmann","Stephen Boyd","Tommi Rantala","David Jeffery","Johan Hovold","David Henningsson","Kukjin Kim","Gustavo Maciel Dias Vieira","Rafa\u0142 Mi\u0142ecki","Mike Turquette","Paul Parsons","Andrei Emeltchenko","K.Prasad","Shmulik Ladkani","Igor Grinberg","Lydia Wang","Amitkumar Karwar","Marek Lindner","Denis Kirjanov","Mika Kuoppala","Harro Haan","Davidlohr Bueso","Konrad Rzeszutek Wilk","Michal Nazarewicz","chas williams - CONTRACTOR","Mika Westerberg","Balaji T K","Naoya Horiguchi","Steven J. Magnani","Haicheng Li","Marek Ol\u0161\u00e1k","Eric Millbrandt","Masanari Iida","David Sharp","Guenter Roeck","Jason Wang","Murali Karicheri","Will Deacon","Greg Rose","Daniel Borkmann","Liu Yu-B13201","Rob Herring","Eddie Wai","Ulrich Weber","Rob Clark","Mike Dunn","Takuya Yoshikawa","James Hogan","Linus L\u00fcssing","Chihau Chau","Lee, Chun-Yi","Veaceslav Falico","Sachin Prabhu","Christoph Fritz","Ian Munsie","Krishna Gudipati","Joachim Eastwood","Carolyn Wyborny","Greg Thelen","Axel Lin","viresh kumar","Pavel Shilovsky","Dinh Nguyen","Alan Ott","Prasad Joshi","Stefan Hajnoczi","Cyril Chemparathy","Javier Martinez Canillas","Pierre-Louis Bossart","Tom Herbert","Dmitry Kravkov","Richard Cochran","Marco Porsch","Nishant Sarmukadam","Benoit Cousson","Stefan Achatz","Christian K\u00f6nig","Dmitry Kasatkin","Johan Meiring","Matthias Brugger","K. Y. Srinivasan","Jonas Aaberg","Eric Northup","Chris Metcalf","Marek Belisko","Peter Hurley","Shubhrajyoti Datta","Konstantin Khlebnikov","MyungJoo Ham","Rajkumar Manoharan","Doug Goldstein","Chanwoo Choi","Dmytro Milinevskyy","Sony Chacko","Henrique Camargo","Chad Dupuis","Mukesh Rathor","Abhilash Kesavan","Dave Martin","Omar Ramirez Luna","Antonio Quartulli","Shubhrajyoti D","Bryan Schumaker","Mathias Nyman","Archit Taneja","Afzal Mohammed","Colin Cross","Namhyung Kim","Richard Weinberger","Brian Norris","Andreas Bie\u00dfmann","Lino Sanfilippo","Sylwester Nawrocki","Venkatraman S","Jerry Huang","Stephen Warren","Will Drewry","Mat Martineau","Jovi Zhang","Dimitris Papastamos","Yuchung Cheng","Kevin Liu","Saurav Kashyap","Nicholas Bellinger","Peter Chen","steven miao","Rasesh Mody","Jerry Chu","Eliad Peller","Joseph Gasparakis","Ido Yariv","Mohammed Shafi Shajakhan","Jesse Gross","Benjamin Poirier","Hillf Danton","Kishon Vijay Abraham I","Kenneth Graunke","Martin Peres","Yuanhan Liu","Bryan Freed","sjur.brandeland@stericsson.com","Wen Congyang","Lukas Czerner","Jaehoon Chung","Hein Tibosch","Malcolm Priestley","Alexander Stein","Shawn Guo","Sangbeom Kim","Frank Li","Sjur Br\u00e6ndeland","Alexey Khoroshilov","Josh Wu","Arne Jansen","Arend van Spriel","Danny Huang","Bala Shanmugam","Sujith Manoharan","Slava Pestov","David Ahern","Sh\u00e9rab","Jeremy Eder","Szymon Janc","Arik Nemtsov","Jingoo Han","Shiraz Hashim","Ben Gardiner","Vincent Guittot","Deepak Sikri","Rajeev Kumar","Pali Roh\u00e1r","Benjamin Tissoires","Jarkko Sakkinen","Wang Sheng-Hui","Stanislav Kinsbursky","Mike Marciniszyn","hayeswang","Seiji Aguchi","Mathias Krause","Alexander Sverdlin","Sumit Semwal","Amit Daniel Kachhap","Tsutomu Itoh","liubo","Christian Gmeiner","Manjunathappa, Prakash","Vaibhav Bedia","Hiroaki SHIMODA","Antony Pavlov","Prabhakar Kushwaha","Boris Ostrovsky","huajun li","Padmanabh Ratnakar","Ariel Elior","Jeongtae Park","Damian Hobson-Garcia","Parikh, Neerav","Gwenhael Goavec-Merou","Subhasish Ghosh","Lee Jones","Inderpal Singh","R Sricharan","Ulf Hansson","David Herrmann","Bo Shen","Vivien Didelot","Vincent Palatin","Durgadoss R","Marc Dietrich","Qing Xu","Kamil Debski","Patrice Chotard","Ilija Hadzic","Robin Dong","Weston Andros Adamson","Heiko Stuebner","Mahesh Rajashekhara","Liu Bo","Varun Sethi","Guan Xuetao","Wanlong Gao","Jonas Gorski","Vitalii Demianets","John Crispin","Alexey Kardashevskiy","Nithin Nayak Sujir","Yogesh Ashok Powar","Daniel Walter","Waldemar Rymarkiewicz","Thomas Pedersen","Bharat Bhushan","Duan Jiong","Scott Jiang","Armando Visconti","Franky Lin","anish kumar","Vikram Narayanan","Mark Rutland","Ben Widawsky","Ricardo Neri","Laszlo Ersek","Sasha Levin","Jonghwan Choi","Jan Schmidt","Manjunath Hadli","Neerav Parikh","Weiping Pan","Jim Rees","Padmavathi Venna","Tushar Behera","Rafael Aquini","Srinivas KANDAGATLA","Michal Kubecek","Maciej Patelczyk","Maxime Ripard","Seungwon Jeon","Raghavendra D Prabhu","Zefir Kurtisi","Olivier Sobrie","ShuoX Liu","Vaibhav Nagarnaik","Tomasz Stanislawski","Dong Aisheng","Miguel Vadillo","Ajay Kumar","Fabio Baltieri","Daniel Kurtz","Juergen Lock","Bastian Hecht","Lan Tianyu","Willem de Bruijn","Aaron Lu","jhbird.choi@samsung.com","Namjae Jeon","Al Cooper","Doug Anderson","Jason Gerecke","Marcos Paulo de Souza","Jurgen Kramer","Gao feng","kuninori.morimoto.gx@renesas.com","Heiko St\u00fcbner","Kautuk Consul","Raja Mani","Ying Xue","Jacob Keller","Akeem G. Abodunrin","Sam Leffler","Srivatsa S. Bhat","Hui Wang","Kevin McKinney","Johannes Thumshirn","Andrew Vagin","Harvey Yang","Ludovic Desroches","Ashish Chavan","Liu, Jinsong","Michael Olbrich","Li Haifeng","Richard Kuo","Tatyana Nikolova","Stephan Gatzka","Peter De Schrijver","Matthijs Kooijman","Sachin Kamat","venu byravarasu","Tomasz Figa","Mihai Caraman","Deepthi Dharwar","Carlos Maiolino","Zhenzhong Duan","Xi Wang","Bart Westgeest","Wei Liu","majianpeng","Ashish Jangam","Paulo Zanoni","Cong Wang","Stanislav Yakovlev","Neal Cardwell","Aarthi Thiruvengadam","Matthew Vick","Barak Witkowski","Pontus Fuchs","Avinash Patil","Jakub Kici\u0144ski","Jia Hongtao","Li Zhong","Andy Gross","Devendra Naga","Zheng Liu","Laxman Dewangan","Ramakrishna Pallala","Kim, Milo","Shimoda, Yoshihiro","Omair Mohammed Abdullah","Johan Rudholm","Ganesan Ramalingam","Chandrabhanu Mahapatra","Alfredo Jes\u00fas Delaiti","Gianluca Gennari","Stefan Behrens","Albert Pool","Mitch A Williams","Yuval Mintz","Igor Murzov","Dylan Reid","Jiang Liu","Shuah Khan","Stephane Grosjean","Kent Overstreet","li.rui27@zte.com.cn","Alban Bedel","Vipul Pandya","Lorenzo Pieralisi","Gustavo Padovan","Kelvin Cheung","Cyril Roelandt","Tushar Dave","Martin Hundeb\u00f8ll","Ashok Nagarajan","David Spinadel","Merav Sicron","Mugunthan V N","Kyoungil Kim","AnilKumar Ch","Gavin Shan","Claudiu Manoil","Sebastien Guiriec","Sean Paul","Eunchul Kim","Sachin Bhamare","Ezequiel Garc\u00eda","Eunki Kim","Toshi Kani","Vipin Kumar","Yang Bai","Emil Goode","Jonathan Austin","Zhi Yong Wu","Alexander Shiyan","Davide Ciminaghi","Eldad Zack","Oleg Matcovschi","Alexander Block","Ansis Atteka","Josh Cartwright","Bernhard Kohl","Vitaly Andrianov","Ronald Wahl","Eric Lapuyade","Michal Kazior","Wei Yang","John Soni Jose","Luis Alves","Ivo Sieben","Xiaobing Tu","Rajanikanth H.V","Oleksij Rempel","Samuel Iglesias Gonsalvez","Jim Kukunas","Liu Ying","Syam Sidhardhan","Christoffer Dall","Jason J. herne","Philippe De Swert","Allen Martin","Pasi Savanainen","Joonsoo Kim","Anatol Pomozov","Sagi Grimberg","Vincent Bernat","Wanpeng Li","Ben Chan","Brian Foster","Mark Tinguely","Martin Blumenstingl","Alexandre Pereira da Silva","Hebbar, Gururaja","Prathyush K","Vipul Kumar Samar","Jonghwa Lee","Yadwinder Singh Brar","Jonathan Kliegman","Sebastian Hesselbarth","Tony Prisk","Fabio Porcedda","Chad Williamson","Christian Herzig","Li RongQing","Mahesh Palivela","Vladimir Kondratiev","Erik Hugne","Steffen Trumtrar","Denis Efremov","Guo Chao","Lokesh Vutla","Vivek Gautam","Cruz Julian Bishop","Michael Walle","Sourav Poddar","Nicolas Royer","Anand Jain","G.Shark Jeong","Philip, Avinash","Tetsuyuki Kobayashi","Vikram Mulukutla","Vyacheslav Dubeyko","Peter Senna Tschudin","Filipe Brandenburger","Jenny TC","Pritesh Raithatha","Lad, Prabhakar","Nicolas THERY","Xishi Qiu","Alexander Lyakas","Michael Wang","Palmer Cox","Felix Kaechele","Paolo Valente","St\u00e9phane Marchesin","Maxim Mikityanskiy","Mengdong Lin","Idan Kedar","Damien Lespiau","Jianpeng Ma","sreekanth.reddy@lsi.com","Alexis R. Cortes","Hante Meuleman","Thomas Kavanagh","Jianguo Wu","Gang Wei","T Makphaibulchoke","Andreas Larsson","Zhao Hongjiang","Matthew Leach","Yanchuan Nian","Suzuki K. Poulose","Irina Tirdea","Lance Ortiz","Tekkaman Ninja","Macpaul Lin","Radhesh Fadnis","YAMANE Toshiaki","Chuansheng Liu","Rene Buergel","Sudeep KarkadaNagesha","Loic PALLARDY","Joseph Lo","Chander Kashyap","Leela Krishna Amudala","Shaik Ameer Basha","Hila Gonen","Daniel Golle","Piotr Haber","Pandiyarajan Pitchaimuthu","Thierry Escande","Josh","Ashley Lai","Xiaoyan Zhang","Andreas Pretzsch","Wang Dongsheng","Frank Sch\u00e4fer","Yoshihiro YUNOMAE","Lv Zheng","Charles Keepax","m-karicheri2@ti.com","Christian Daudt","Dave Reisner"],"email":["torvalds@ppc970.osdl.org","clameter@engr.sgi.com","neilb@cse.unsw.edu.au","James.Bottomley@SteelEye.com","davem@davemloft.net","jmorris@redhat.com","airlied@linux.ie","jmoyer@redhat.com","andrea@suse.de","acme@conectiva.com.br","paulus@samba.org","benh@kernel.crashing.org","anton@samba.org","olof@austin.ibm.com","ak@suse.de","pavel@ucw.cz","axboe@suse.de","hch@lst.de","bernard@blackham.com.au","jack@suse.cz","haveblue@us.ibm.com","paulmck@us.ibm.com","damm@opensource.se","buytenh@wantstofly.org","rmk+lkml@arm.linux.org.uk","roland@topspin.com","sean.hefty@intel.com","mst@mellanox.co.il","neilb@cse.unsw.edu.au","geert@linux-m68k.org","dhowells@redhat.com","mingo@elte.hu","gregkh@suse.de","nacc@us.ibm.com","stern@rowland.harvard.edu","fbl@conectiva.com.br","juhl-lkml@dif.dk","khali@linux-fr.org","hugh@veritas.com","yoshfuji@linux-ipv6.org","tgraf@suug.ch","shemminger@osdl.org","viro@parcelfarce.linux.theplanet.co.uk","tony.luck@intel.com","linville@tuxdriver.com","mchan@broadcom.com","akpm@osdl.org","greearb@candelatech.com","dsaxena@net.rmk.(none)","patrick.boettcher@desy.de","marcelo.tosatti@cyclades.com","holt@sgi.com","alex.williamson@hp.com","suresh.b.siddha@intel.com","jbarnes@sgi.com","Brian.Haley@hp.com","nhorman@redhat.com","davej@redhat.com","nicolas.dichtel@6wind.com","smfrench@austin.rr.com","serue@us.ibm.com","dwmw2@shinybook.infradead.org","nico@org.rmk.(none)","sascha@de.rmk.(none)","kamezawa.hiroyu@jp.fujitsu.com","hpa@zytor.com","johnstul@us.ibm.com","schwidefsky@de.ibm.com","heiko.carstens@de.ibm.com","holzheu@de.ibm.com","cohuck@de.ibm.com","dsd@gentoo.org","sfr@canb.auug.org.au","minyard@acm.org","schwab@suse.de","raven@themaw.net","jgarzik@pobox.com","shaggy@austin.ibm.com","eike-hotplug@sf-tec.de","abbotti@mev.co.uk","sandeen@sgi.com","rjw@sisk.pl","mporter@kernel.crashing.org","tklauser@nuerscht.ch","andrew.vasquez@qlogic.com","aherrman@de.ibm.com","jbenc@suse.cz","gregkh@suse.de","dtor_core@ameritech.net","riel@redhat.com","rdunlap@xenotime.net","ja@ssi.bg","bzolnier@elka.pw.edu.pl","dcbw@redhat.com","michael@ellerman.id.au","alan@lxorguk.ukuu.org.uk","lenb@toshiba.hsd1.ma.comcast.net","tiwai@suse.de","clemens@ladisch.de","syrjala@sci.fi","shaohua.li@intel.com","lethal@Linux-SH.ORG","jbeulich@novell.com","pingc@wacom.com","gerg@snapgear.com","ntl@pobox.com","romieu@fr.zoreil.com","geraldsc@de.ibm.com","bjorn.helgaas@hp.com","Trond.Myklebust@netapp.com","vapier@org.rmk.(none)","olh@suse.de","ralf@linux-mips.org","oliver@neukum.org","htejun@gmail.com","catalin.marinas@com.rmk.(none)","klassert@mathematik.tu-chemnitz.de","penberg@cs.helsinki.fi","arnd@arndb.de","hare@suse.de","kuznet@ms2.inr.ac.ru","dvhltc@us.ibm.com","bfields@citi.umich.edu","agruen@suse.de","cel@netapp.com","dada1@cosmosbay.com","apw@shadowen.org","icampbell@arcom.com","oleg@tv-sign.ru","rml@novell.com","czankel@tensilica.com","mchehab@brturbo.com.br","mkrufky@m1k.net","xslaby@fi.muni.cz","cborntra@de.ibm.com","ebiederm@xmission.com","macro@linux-mips.org","tony@atomide.com","dietmar.eggemann@gmx.de","mbizon@freebox.fr","vladislav.yasevich@hp.com","jeffm@suse.com","prarit@sgi.com","eparis@parisplace.org","raph@raphnet.net","mark.fasheh@oracle.com","bcollins@debian.org","tglx@mtd.linutronix.de","jdub@us.ibm.com","dvrabel@arcom.com","sean@mess.org","castet.matthieu@free.fr","robert.moore@intel.com","sonny@burdell.org","rusty@rustcorp.com.au","rostedt@goodmis.org","glebn@voltaire.com","horms@valinux.co.jp","mjg59@srcf.ucam.org","mtk-manpages@gmx.net","Simon.Derr@bull.net","marcel@holtmann.org","steve@chygwyn.com","pablo@eurodev.net","liam.girdwood@wolfsonmicro.com","jkmaline@cc.hut.fi","Kalle.Valo@iki.fi","hfvogt@gmx.net","jim.cromie@gmail.com","bwa@us.ibm.com","robert.moore@intel.com","j-nomura@ce.jp.nec.com","zach.brown@oracle.com","willy@w.ods.org","aradford@gmail.com","mason@suse.com","david@2gen.com","pantelis.antoniou@gmail.com","p_gortmaker@yahoo.com","jackm@mellanox.co.il","diegocg@gmail.com","braunu@de.ibm.com","wfarnsworth@mvista.com","jchandra@digeo.com","svens@gmx.de","mita@miraclelinux.com","bbpetkov@yahoo.de","khalid.aziz@hp.com","sjhill@realitydiluted.com","lee.schermerhorn@hp.com","g.liakhovetski@gmx.de","kirr@mns.spb.ru","Wei.Ni@uli.com.tw","andrew@lunn.ch","hverkuil@xs4all.nl","linux@rainbow-software.org","stefanr@s5r6.in-berlin.de","jacob.shin@amd.com","jesse.brandeburg@intel.com","bero@arklinux.org","nikai@nikai.net","stf_xl@wp.pl","eich@suse.de","trenn@suse.de","kadlec@blackhole.kfki.hu","dlstevens@us.ibm.com","johannes@sipsolutions.net","jason.wessel@windriver.com","paul@booyaka.com","kees@outflux.net","kailang@realtek.com.tw","jacmet@sunsite.dk","Larry.Finger@lwfinger.net","jan.glauber@de.ibm.com","teigland@redhat.com","djwong@us.ibm.com","sivanich@sgi.com","dotanb@mellanox.co.il","gardner.ben@gmail.com","sshtylyov@dev.rtsoft.ru","mikey@neuling.org","kevin@hilman.org","jon.maloy@ericsson.com","joe@perches.com","eli@mellanox.co.il","ishai@mellanox.co.il","graham.gower@gmail.com","andros@citi.umich.edu","mikpe@csd.uu.se","mano@roarinelk.homelinux.net","cjb@mrao.cam.ac.uk","tbm@cyrius.com","samuel.ortiz@nokia.com","kumba@gentoo.org","maz@misterjones.org","broonie@sirena.org.uk","ogerlitz@voltaire.com","tilman@imap.cc","rick.jones2@hp.com","efault@gmx.de","wfg@mail.ustc.edu.cn","James.Smart@Emulex.Com","grant.likely@secretlab.ca","kim.phillips@freescale.com","kronos.it@gmail.com","tytso@mit.edu","fenghua.yu@intel.com","jgunthorpe@obsidianresearch.com","takeuchi_satoru@jp.fujitsu.com","nfont@austin.ibm.com","triad@df.lth.se","tim.c.chen@linux.intel.com","tony.luck@intel.com","imre.deak@nokia.com","jk@ozlabs.org","weiyj@soft.fujitsu.com","tsbogend@alpha.franken.de","creese@caviumnetworks.com","openembedded@hrw.one.pl","eric@inl.fr","vu@mellanox.com","linux@highpoint-tech.com","j.w.r.degoede@hhs.nl","matthias.fuchs@esd-electronics.com","a.p.zijlstra@chello.nl","mbroz@redhat.com","jbrassow@redhat.com","josh@freedesktop.org","peter.ujfalusi@nokia.com","bootc@bootc.net","daniel@caiaq.de","davem@davemloft.net","kristen.c.accardi@intel.com","jan.kiszka@web.de","from-linux-kernel@i-love.sakura.ne.jp","ssouhlal@FreeBSD.org","hemamu@t-base.ne.jp","dilinger@debian.org","takasi-y@ops.dti.ne.jp","hskinnemoen@atmel.com","scottwood@freescale.com","paul.moore@hp.com","andy@smile.org.ua","dledford@redhat.com","sukadev@us.ibm.com","rpjday@mindspring.com","rientjes@cs.washington.edu","mel@csn.ul.ie","sonic.adi@gmail.com","Hiroshi.DOYU@nokia.com","thomas@tungstengraphics.com","thomas.petazzoni@enix.org","marek.vasut@gmail.com","tony@bakeyournoodle.com","paul.clements@steeleye.com","laurent.pinchart@skynet.be","bmarzins@redhat.com","jikos@jikos.cz","timur@freescale.com","aneesh.kumar@gmail.com","joro-lkml@zlug.org","jluebbe@lasnet.de","yinghai.lu@amd.com","cbou@ru.rmk.(none)","chunkeey@web.de","msm@freescale.com","burman.yan@gmail.com","jimcgnu@yahoo.com","avi@qumranet.com","bharrosh@panasas.com","error27@gmail.com","dhaval.giani@gmail.com","wcang@nrg.cs.usm.my","philipp.zabel@gmail.com","Lars.Ellenberg@linbit.com","dedekind@infradead.org","ml@stefan-roese.de","ext-adrian.hunter@nokia.com","dmilburn@redhat.com","rui.zhang@intel.com","corentincj@iksaif.net","cesarb@cesarb.net","yoshfuji@linux-ipv6.org","philipp.reisner@linbit.com","joe.jin@oracle.com","jbohac@suse.cz","gjasny@web.de","seth.forshee@gmail.com","Alexandre.Bounine@tundra.com","b08248@freescale.com","ukleinek@informatik.uni-freiburg.de","dmitry.adamushko@gmail.com","crope@iki.fi","florian.fainelli@int-evry.fr","florz@gmx.de","gorcunov@gmail.com","hannes-kernel@saeurebad.de","simon@fire.lp0.eu","izumi2005@soft.fujitsu.com","stefan.haberland@de.ibm.com","jkrzyszt@tis.icnet.pl","matthias.kaehlcke@gmail.com","jwilson@redhat.com","bart.vanassche@gmail.com","mark.langsdorf@amd.com","bryan.wu@analog.com","nicolas.ferre@rfo.atmel.com","martin.petersen@oracle.com","mcarlson@broadcom.com","jlayton@redhat.com","jwhiter@redhat.com","jjohansen@suse.de","stigge@antcom.de","fengguang.wu@gmail.com","dave@jikos.cz","sakari.ailus@nokia.com","cavokz@gmail.com","socketcan@hartkopp.net","tim.gardner@ubuntu.com","mcgrof@gmail.com","javier@cozybit.com","jc@eclis.ch","der_julian@web.de","fw@strlen.de","agraf@suse.de","arozansk@redhat.com","hidave.darkstar@gmail.com","rpeterso@redhat.com","kaloz@openwrt.org","mmarek@suse.cz","nitingupta910@gmail.com","patrice.vilchez@rfo.atmel.com","yorksun@freescale.com","dmonakhov@sw.ru","isimatu.yasuaki@jp.fujitsu.com","abogani@texware.it","zhenyu.z.wang@intel.com","herton@mandriva.com.br","miaox@cn.fujitsu.com","jussi.kivilinna@mbnet.fi","monisonlists@gmail.com","minchan.kim@gmail.com","yakui.zhao@intel.com","nbowler@ellipticsemi.com","xemul@openvz.org","shane.huang@amd.com","den@openvz.org","odi@odi.ch","pebolle@tiscali.nl","feng.tang@intel.com","gallatin@myri.com","dlezcano@fr.ibm.com","hawk@comx.dk","tomas.winkler@intel.com","ryan@bluewatersys.com","vda.linux@googlemail.com","tremyfr@yahoo.fr","felipe.lima@indt.org.br","sarah.a.sharp@intel.com","amit.shah@qumranet.com","joe.carnuccio@qlogic.com","nbd@openwrt.org","adi@drcomp.erfurt.thur.de","philipp.marek@bmlv.gv.at","ohad@bencohen.org","ddaney@avtrex.com","hohndel@linux.intel.com","olsajiri@gmail.com","julia@diku.dk","jesper.nilsson@axis.com","hschaa@suse.de","mikulas@artax.karlin.mff.cuni.cz","heiko.schocher@invitel.hu","chardin@2wire.com","ajax@redhat.com","gclement00@gmail.com","dillowda@ornl.gov","jonas.bonn@gmail.com","david@fries.net","walken@zoy.org","tao.ma@oracle.com","marcin.slusarz@gmail.com","sebott@de.ibm.com","arve@android.com","hadess@hadess.net","thomas.betker@5etech.eu","ramirose@gmail.com","emmanuel.grumbach@intel.com","robert.richter@amd.com","xiantao.zhang@intel.com","rabin@rab.in","anarsoul@gmail.com","m.b.lankhorst@gmail.com","shanwei@cn.fujitsu.com","paul.chavent@free.fr","casey@schaufler-ca.com","sven.wegener@stealer.net","cascardo@minaslivre.org","k.shutemov@gmail.com","kosaki.motohiro@jp.fujitsu.com","marc@gums.hq.tensilica.com","gcosta@redhat.com","w.sang@pengutronix.de","emil.s.tantilov@intel.com","alexdeucher@gmail.com","agust@denx.de","laijs@cn.fujitsu.com","snitzer@gmail.com","wagi@monom.org","bhutchings@solarflare.com","mickflemm@gmail.com","assaf.krauss@intel.com","mark.asselstine@windriver.com","cyril.brulebois@kerlabs.com","pawel.moll@st.com","richard.genoud@gmail.com","tom.leiming@gmail.com","john.linn@xilinx.com","ivecera@redhat.com","steve.glendinning@smsc.com","eduardo.valentin@indt.org.br","ext-kalle.jokiniemi@nokia.com","andy@andrewprice.me.uk","g.chen@freescale.com","LW@KARO-electronics.de","bonbons@linux-vserver.org","colin.king@canonical.com","opurdila@ixiacom.com","jic23@cam.ac.uk","shodgson@solarflare.com","daniel.blueman@gmail.com","huacai.chen@intel.com","mcdonald.shane@gmail.com","avagin@parallels.com","david@fromorbit.com","jpirko@redhat.com","brueckner@linux.vnet.ibm.com","wg@grandegger.com","yanivr@broadcom.com","alexander.h.duyck@intel.com","moinejf@free.fr","rydberg@euromail.se","stefano.stabellini@eu.citrix.com","amirv@mellanox.co.il","ying.huang@intel.com","holler@ahsoftware.de","siwu@hrz.tu-chemnitz.de","khc@pm.waw.pl","glisse@freedesktop.org","mkl@pengutronix.de","sqazi@google.com","nishimura@mxp.nes.nec.co.jp","gcpatch@gmail.com","raspl@linux.vnet.ibm.com","claudio@evidence.eu.com","fweisbec@gmail.com","vasanth@atheros.com","jpihet@mvista.com","marco.stornelli@gmail.com","zohar@linux.vnet.ibm.com","klimov.linux@gmail.com","bigeasy@linutronix.de","skuribay@ruby.dti.ne.jp","sangsu@gmail.com","ajay.gupta@ti.com","prakity@yahoo.com","youquan.song@intel.com","jens.taprogge@taprogge.org","lsorense@csclub.uwaterloo.ca","morimoto.kuninori@renesas.com","mjf@gentoo.org","msalter@redhat.com","jason@lakedaemon.net","walimisdev@gmail.com","liming.wang@windriver.com","tero.kristo@nokia.com","sbabic@denx.de","julien.boibessot@free.fr","peppe.cavallaro@st.com","baruch@tkos.co.il","mesak82@gmail.com","sassmann@suse.de","donald.c.skidmore@intel.com","npalix@diku.dk","santosh.shilimkar@ti.com","fabio.estevam@freescale.com","valentin.longchamp@epfl.ch","hvaibhav@ti.com","nm@ti.com","dbaryshkov@gmail.com","sathyap@serverengines.com","popovec@oko.fei.tuke.sk","anisse@astier.eu","yanzheng@21cn.com","sage@newdream.net","markus@trippelsdorf.de","mischa.jonker@nxp.com","dan.magenheimer@oracle.com","Aaro.Koskinen@nokia.com","chris@chris-wilson.co.uk","jm@lentin.co.uk","josh@scalex86.org","zlatko.calusic@iskon.hr","ecashin@coraid.com","pjt@google.com","bjorn@mork.no","Xiaotian.Feng@windriver.com","mspang@csclub.uwaterloo.ca","justinmattock@gmail.com","yi.zou@intel.com","christoph.paasch@gmail.com","ext-jani.1.nikula@nokia.com","jy0922.shim@samsung.com","andre.przywara@amd.com","juhosg@openwrt.org","andy.grover@oracle.com","bzhao@marvell.com","nathan@traverse.com.au","ling.ma@intel.com","thierry.reding@avionic-design.de","tomi.valkeinen@nokia.com","mfuzzey@gmail.com","hsweeten@visionengravers.com","sergey.senozhatsky@mail.by","daniel@biene.ffwll.ch","adam.buchbinder@gmail.com","mark.einon@gmail.com","nsaspook@nsaspook.com","wfp5p@virginia.edu","giridhar.malavali@qlogic.com","yegorslists@googlemail.com","kpc.mtd@gmail.com","monstr@monstr.eu","ajitk@serverengines.com","johan.hedberg@nokia.com","linux@arm.linux.org.uk","ext-roger.quadros@nokia.com","bskeggs@redhat.com","amluto@gmail.com","m.szyprowski@samsung.com","rubini@gnudd.com","manut@linutronix.de","amwang@redhat.com","plagnioj@jcrosoft.com","peterhuewe@gmx.de","jcmvbkbc@gmail.com","hauke@hauke-m.de","jon-hunter@ti.com","slyfox@inbox.ru","shijie8@gmail.com","daeinki@gmail.com","leoli@freescale.com","forest@alittletooquiet.net","thomas.mingarelli@hp.com","barry.song@analog.com","xiaoguangrong@cn.fujitsu.com","lars@metafoo.de","bergwolf@gmail.com","vince@deater.net","jmartinj@iname.com","FlorianSchandinat@gmx.de","haojian.zhuang@marvell.com","jeff.liu@oracle.com","rnayak@ti.com","pmeerw@cosy.sbg.ac.at","sarveshwarb@serverengines.com","nitrousnrg@gmail.com","sguinot@lacie.com","andrzej.hajda@wp.pl","haiyangz@microsoft.com","Harald.Krapfenbauer@bluetechnix.at","aelder@sgi.com","mhocko@suse.cz","bonzini@gnu.org","nsekhar@ti.com","phil.edworthy@renesas.com","rodrigo.vivi@openbossa.org","yjfpb04@gmail.com","linux@horizon.com","ddutile@redhat.com","zheng.yan@oracle.com","thomas.ab@samsung.com","john.r.fastabend@intel.com","sven.eckelmann@gmx.de","bebarino@gmail.com","tt.rantala@gmail.com","djeffery@redhat.com","jhovold@gmail.com","launchpad.web@epost.diwic.se","kgene.kim@samsung.com","gustavo@sagui.org","zajec5@gmail.com","mturquette@gmail.com","lost.distance@yahoo.com","andrei.emeltchenko@nokia.com","prasad@linux.vnet.ibm.com","shmulik.ladkani@gmail.com","grinberg@compulab.co.il","lydiawang@viatech.com.cn","akarwar@marvell.com","lindner_marek@yahoo.de","kirjanov@gmail.com","mika.kuoppala@nokia.com","hrhaan@yahoo.com","dave@gnu.org","konrad.wilk@oracle.com","m.nazarewicz@samsung.com","chas@cmf.nrl.navy.mil","ext-mika.1.westerberg@nokia.com","balajitk@ti.com","n-horiguchi@ah.jp.nec.com","steve@digidescorp.com","haicheng.li@linux.intel.com","maraeo@gmail.com","emillbrandt@dekaresearch.com","standby24x7@gmail.com","dhsharp@google.com","guenter.roeck@ericsson.com","jasowang@redhat.com","mkaricheri@gmail.com","will.deacon@arm.com","gregory.v.rose@intel.com","danborkmann@googlemail.com","Yu.Liu@freescale.com","r.herring@freescale.com","waie@broadcom.com","uweber@astaro.com","rob@ti.com","mikedunn@newsguy.com","yoshikawa.takuya@oss.ntt.co.jp","james@albanarts.com","linus.luessing@web.de","chihau@gmail.com","jlee@novell.com","vfalico@redhat.com","sprabhu@redhat.com","chf.fritz@googlemail.com","imunsie@au.ibm.com","kgudipat@brocade.com","joachim.eastwood@jotron.com","carolyn.wyborny@intel.com","gthelen@google.com","axel.lin@gmail.com","viresh.kumar@st.com","piastryyy@gmail.com","Dinh.Nguyen@freescale.com","alan@signal11.us","prasadjoshi124@gmail.com","stefanha@linux.vnet.ibm.com","cyril@ti.com","martinez.javier@gmail.com","pierre-louis.bossart@intel.com","therbert@google.com","dmitry@broadcom.com","richardcochran@gmail.com","marco.porsch@siemens.com","nishants@marvell.com","b-cousson@ti.com","erazor_de@users.sourceforge.net","deathsimple@vodafone.de","dmitry.kasatkin@nokia.com","johanmeiring@gmail.com","mensch0815@googlemail.com","ksrinivasan@novell.com","jonas.aberg@stericsson.com","digitaleric@google.com","cmetcalf@tilera.com","marek.belisko@open-nandra.com","phurley@charter.net","shubhrajyoti@ti.com","khlebnikov@openvz.org","myungjoo.ham@samsung.com","rmanoharan@atheros.com","cardoe@gentoo.org","cw00.choi@samsung.com","milinevskyy@gmail.com","sony.chacko@qlogic.com","henrique.camargo@ensitec.com.br","chad.dupuis@qlogic.com","mukesh.rathor@oracle.com","a.kesavan@samsung.com","dave.martin@linaro.org","omar.ramirez@ti.com","ordex@ritirata.org","shubhrajyoti@ti.com","bjschuma@netapp.com","mathias.nyman@nokia.com","archit@ti.com","lazfamam@gmail.com","ccross@android.com","namhyung@gmail.com","richard@nod.at","norris@broadcom.com","biessmann@corscience.de","LinoSanfilippo@gmx.de","s.nawrocki@samsung.com","svenkatr@ti.com","Chang-Ming.Huang@freescale.com","swarren@nvidia.com","wad@chromium.org","mathewm@codeaurora.org","bookjovi@gmail.com","dp@opensource.wolfsonmicro.com","ycheng@google.com","kliu5@marvell.com","saurav.kashyap@qlogic.com","nab@linux-iscsi.org","peter.chen@freescale.com","realmz6@gmail.com","rmody@brocade.com","hkchu@google.com","eliad@wizery.com","joseph.gasparakis@intel.com","ido@wizery.com","mshajakhan@atheros.com","jesse@nicira.com","benjamin.poirier@polymtl.ca","dhillf@gmail.com","kishon@ti.com","kenneth@whitecape.org","martin.peres@ensi-bourges.fr","yuanhan.liu@intel.com","bfreed@chromium.org","sjur.brandeland@stericsson.com","wency@cn.fujitsu.com","lczerner@redhat.com","jh80.chung@samsung.com","hein_tibosch@yahoo.es","tvboxspy@gmail.com","alexander.stein@informatik.tu-chemnitz.de","shawn.gsc@gmail.com","sbkim73@samsung.com","Frank.Li@freescale.com","sjur.brandeland@stericsson.com","khoroshilov@ispras.ru","josh.wu@atmel.com","sensille@gmx.net","arend@broadcom.com","dahuang@nvidia.com","sbalashanmugam@atheros.com","Sujith.Manoharan@atheros.com","slavapestov@google.com","daahern@cisco.com","Sebastien.Hinderer@ens-lyon.org","jeder@redhat.com","szymon@janc.net.pl","arik@wizery.com","jg1.han@samsung.com","shiraz.hashim@st.com","bengardiner@nanometrics.ca","vincent.guittot@stericsson.com","deepak.sikri@st.com","rajeev-dlh.kumar@st.com","pali.rohar@gmail.com","benjamin.tissoires@enac.fr","ext-jarkko.2.sakkinen@nokia.com","crosslonelyover@gmail.com","skinsbursky@parallels.com","mike.marciniszyn@qlogic.com","hayeswang@realtek.com","seiji.aguchi@hds.com","minipli@googlemail.com","subaparts@yandex.ru","sumit.semwal@ti.com","amit.daniel@samsung.com","t-itoh@jp.fujitsu.com","liubo2009@cn.fujitsu.com","christian.gmeiner@gmail.com","prakash.pm@ti.com","vaibhav.bedia@ti.com","shimoda.hiroaki@gmail.com","antony@niisi.msk.ru","prabhakar@freescale.com","boris.ostrovsky@amd.com","huajun.li.lee@gmail.com","padmanabh.ratnakar@emulex.com","ariele@broadcom.com","jtp.park@samsung.com","dhobsong@igel.co.jp","neerav.parikh@intel.com","gwenhael.goavec-merou@armadeus.com","subhasish@mistralsolutions.com","lee.jones@linaro.org","inderpal.s@samsung.com","r.sricharan@ti.com","ulf.hansson@stericsson.com","dh.herrmann@googlemail.com","voice.shen@atmel.com","vivien.didelot@savoirfairelinux.com","vpalatin@chromium.org","durgadoss.r@intel.com","marvin24@gmx.de","qingx@marvell.com","k.debski@samsung.com","patrice.chotard@sfr.fr","ihadzic@research.bell-labs.com","sanbai@taobao.com","dros@netapp.com","heiko@sntech.de","Mahesh_Rajashekhara@pmc-sierra.com","liubo2009@cn.fujitsu.com","Varun.Sethi@freescale.com","gxt@mprc.pku.edu.cn","wanlong.gao@gmail.com","jonas.gorski@gmail.com","vitas@nppfactor.kiev.ua","blogic@openwrt.org","aik@au1.ibm.com","nsujir@broadcom.com","yogeshp@marvell.com","sahne@0x90.at","waldemar.rymarkiewicz@tieto.com","thomas@cozybit.com","r65777@freescale.com","djduanjiong@gmail.com","scott.jiang@analog.com","armando.visconti@st.com","frankyl@broadcom.com","anish198519851985@gmail.com","vikram186@gmail.com","mark.rutland@arm.com","ben@bwidawsk.net","ricardo.neri@ti.com","lersek@redhat.com","levinsasha928@gmail.com","jhbird.choi@samsung.com","list.btrfs@jan-o-sch.net","manjunath.hadli@ti.com","Neerav.Parikh@intel.com","panweiping3@gmail.com","rees@umich.edu","padma.v@samsung.com","tushar.behera@linaro.org","aquini@linux.com","srinivas.kandagatla@st.com","mkubecek@suse.cz","maciej.patelczyk@intel.com","maxime.ripard@free-electrons.com","tgih.jun@samsung.com","rprabhu@wnohang.net","zefir.kurtisi@neratec.com","olivier@sobrie.be","shuox.liu@intel.com","vnagarnaik@google.com","t.stanislaws@samsung.com","b29396@freescale.com","vadillo@ti.com","ajaykumar.rs@samsung.com","fabio.baltieri@gmail.com","djkurtz@chromium.org","nox@jelal.kn-bremen.de","hechtb@googlemail.com","tianyu.lan@intel.com","willemb@google.com","Aaron.Lu@amd.com","jhbird.choi@samsung.com","linkinjeon@gmail.com","alcooperx@gmail.com","dianders@chromium.org","killertofu@gmail.com","marcos.mage@gmail.com","gtmkramer@xs4all.nl","gaofeng@cn.fujitsu.com","kuninori.morimoto.gx@renesas.com","heiko@sntech.de","consul.kautuk@gmail.com","rmani@qca.qualcomm.com","ying.xue@windriver.com","jacob.e.keller@intel.com","akeem.g.abodunrin@intel.com","sleffler@chromium.org","srivatsa.bhat@linux.vnet.ibm.com","jason77.wang@gmail.com","klmckinney1@gmail.com","morbidrsa@googlemail.com","avagin@openvz.org","harvey.huawei.yang@gmail.com","ludovic.desroches@atmel.com","ashish.chavan@kpitcummins.com","jinsong.liu@intel.com","m.olbrich@pengutronix.de","omycle@gmail.com","rkuo@codeaurora.org","Tatyana.E.Nikolova@intel.com","stephan@gatzka.org","pdeschrijver@nvidia.com","matthijs@stdin.nl","sachin.kamat@linaro.org","vbyravarasu@nvidia.com","tomasz.figa@gmail.com","mihai.caraman@freescale.com","deepthi@linux.vnet.ibm.com","cmaiolino@redhat.com","zhenzhong.duan@oracle.com","xi.wang@gmail.com","bart@elbrys.com","wei.liu2@citrix.com","majianpeng@gmail.com","ashish.jangam@kpitcummins.com","paulo.r.zanoni@intel.com","amwang@redhat.com","stas.yakovlev@gmail.com","ncardwell@google.com","athiruve@qca.qualcomm.com","matthew.vick@intel.com","barak@broadcom.com","pontus.fuchs@gmail.com","patila@marvell.com","kubakici@wp.pl","B38951@freescale.com","zhong@linux.vnet.ibm.com","andy.gross@ti.com","devendra.aaru@gmail.com","wenqing.lz@taobao.com","ldewangan@nvidia.com","ramakrishna.pallala@intel.com","Milo.Kim@ti.com","yoshihiro.shimoda.uh@renesas.com","omair.m.abdullah@intel.com","johan.rudholm@stericsson.com","ganesanr@netlogicmicro.com","cmahapatra@ti.com","alfredodelaiti@netscape.net","gennarone@gmail.com","sbehrens@giantdisaster.de","albertpool@solcon.nl","mitch.a.williams@intel.com","yuvalmin@broadcom.com","intergalactic.anonymous@gmail.com","dgreid@chromium.org","liuj97@gmail.com","shuahkhan@gmail.com","s.grosjean@peak-system.com","kent.overstreet@gmail.com","li.rui27@zte.com.cn","albeu@free.fr","vipul@chelsio.com","Lorenzo.Pieralisi@arm.com","gustavo@padovan.org","keguang.zhang@gmail.com","tipecaml@gmail.com","tushar.n.dave@intel.com","martin@hundeboll.net","ashok@cozybit.com","david.spinadel@intel.com","meravs@broadcom.com","mugunthanvnm@ti.com","ki0351.kim@samsung.com","anilkumar@ti.com","shangw@linux.vnet.ibm.com","claudiu.manoil@freescale.com","s-guiriec@ti.com","seanpaul@chromium.org","chulspro.kim@samsung.com","sbhamare@panasas.com","elezegarcia@gmail.com","eunki_kim@samsung.com","toshi.kani@hp.com","vipin.kumar@st.com","hamo.by@gmail.com","emilgoode@gmail.com","Jonathan.Austin@arm.com","wuzhy@linux.vnet.ibm.com","shc_work@mail.ru","ciminaghi@gnudd.com","eldad@fogrefinery.com","oleg.matcovschi@ti.com","ablock84@googlemail.com","aatteka@nicira.com","joshc@linux.com","Riedel-und-Kohl@t-online.de","vitalya@ti.com","ronald.wahl@raritan.com","eric.lapuyade@linux.intel.com","michal.kazior@tieto.com","weiyang@linux.vnet.ibm.com","sony.john-n@emulex.com","ljalvs@gmail.com","meltedpianoman@gmail.com","xiaobing.tu@intel.com","rajanikanth.hv@stericsson.com","bug-track@fisher-privat.net","siglesias@igalia.com","james.t.kukunas@linux.intel.com","Ying.Liu@freescale.com","s.syam@samsung.com","c.dall@virtualopensystems.com","jjherne@us.ibm.com","philippedeswert@gmail.com","amartin@nvidia.com","ext-pasi.m.savanainen@nokia.com","js1304@gmail.com","anatol.pomozov@gmail.com","sagig@mellanox.co.il","bernat@luffy.cx","liwp@linux.vnet.ibm.com","benchan@chromium.org","bfoster@redhat.com","tinguely@sgi.com","martin.blumenstingl@googlemail.com","aletes.xgr@gmail.com","gururaja.hebbar@ti.com","prathyush.k@samsung.com","vipulkumar.samar@st.com","jonghwa3.lee@samsung.com","yadi.brar01@gmail.com","kliegs@chromium.org","sebastian.hesselbarth@googlemail.com","linux@prisktech.co.nz","fabio.porcedda@gmail.com","chad@dahc.us","christian.herzig@keymile.com","roy.qing.li@gmail.com","maheshp@posedge.com","qca_vkondrat@qca.qualcomm.com","erik.hugne@ericsson.com","s.trumtrar@pengutronix.de","yefremov.denis@gmail.com","yan@linux.vnet.ibm.com","lokeshvutla@ti.com","gautam.vivek@samsung.com","cruz@massive-dynamics.biz","michael@walle.cc","sourav.poddar@ti.com","nicolas@eukrea.com","anand.jain@oracle.com","gshark.jeong@gmail.com","avinashphilip@ti.com","koba@kmckk.co.jp","markivx@codeaurora.org","slava@dubeyko.com","peter.senna@gmail.com","filbranden@gmail.com","jenny.tc@intel.com","praithatha@nvidia.com","prabhakar.lad@ti.com","nicolas.thery@st.com","qiuxishi@huawei.com","alex.bolshoy@gmail.com","wangyun@linux.vnet.ibm.com","p@lmercox.com","felix@fetzig.org","paolo.valente@unimore.it","marcheu@chromium.org","maxtram95@gmail.com","mengdong.lin@intel.com","idank@tonian.com","damien.lespiau@intel.com","majianpeng@gmail.com","sreekanth.reddy@lsi.com","alexis.cortes@ti.com","meuleman@broadcom.com","tkavanagh@juniper.net","wujianguo@huawei.com","gang.wei@intel.com","tmac@hp.com","andreas@gaisler.com","zhaohongjiang@huawei.com","matthew.leach@arm.com","ycnian@gmail.com","suzuki@in.ibm.com","irina.tirdea@gmail.com","lance.ortiz@hp.com","tekkamanninja@gmail.com","macpaul@gmail.com","radhesh.fadnis@ti.com","yamanetoshi@gmail.com","chuansheng.liu@intel.com","rene.buergel@sohard.de","Sudeep.KarkadaNagesha@arm.com","loic.pallardy@st.com","josephl@nvidia.com","chander.kashyap@linaro.org","l.krishna@samsung.com","shaik.ameer@samsung.com","hila.gonen@intel.com","dgolle@allnet.de","phaber@broadcom.com","c_ppitch@qca.qualcomm.com","thierry.escande@linux.intel.com","joshua.taylor0@gmail.com","adlai@linux.vnet.ibm.com","xiaoyan.zhang@intel.com","apr@cn-eng.de","Dongsheng.Wang@freescale.com","fschaefer.oss@googlemail.com","yoshihiro.yunomae.ez@hitachi.com","lv.zheng@intel.com","ckeepax@opensource.wolfsonmicro.com","m-karicheri2@ti.com","csd@broadcom.com","dreisner@archlinux.org"],"age":[2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2724,2723,2723,2723,2722,2722,2722,2722,2722,2722,2721,2721,2721,2721,2720,2715,2719,2719,2716,2716,2715,2717,2714,2715,2715,2715,2715,2713,2713,2712,2712,2712,2711,2708,2711,2711,2710,2710,2710,2710,2710,2710,2710,2710,2710,2710,2710,2710,2710,2708,2707,2707,2705,2705,2705,2705,2719,2719,2704,2694,2694,2694,2706,2691,2684,2695,2695,2684,2684,2682,2682,2682,2683,2682,2677,2677,2677,2677,2698,2675,2672,2672,2676,2672,2666,2664,2690,2663,2698,2698,2659,2659,2658,2658,2657,2657,2657,2657,2657,2679,2657,2657,2656,2656,2656,2656,2654,2654,2653,2651,2651,2651,2651,2650,2652,2650,2645,2642,2639,2688,2688,2687,2650,2638,2638,2656,2628,2623,2622,2639,2620,2617,2614,2612,2609,2589,2589,2698,2590,2583,2583,2580,2589,2578,2577,2577,2578,2575,2576,2573,2565,2560,2557,2554,2554,2532,2536,2529,2529,2568,2528,2528,2567,2520,2522,2520,2518,2517,2520,2512,2508,2507,2506,2497,2497,2497,2495,2494,2484,2477,2475,2462,2462,2460,2476,2460,2460,2460,2459,2459,2456,2455,2454,2453,2453,2452,2456,2453,2449,2447,2434,2434,2443,2432,2425,2418,2409,2403,2387,2386,2386,2385,2385,2395,2389,2383,2384,2383,2382,2381,2379,2374,2366,2357,2356,2364,2346,2336,2326,2309,2323,2297,2297,2305,2293,2299,2292,2289,2289,2285,2288,2274,2272,2272,2272,2270,2259,2223,2222,2212,2239,2206,2200,2200,2200,2199,2224,2198,2197,2196,2196,2197,2201,2192,2204,2191,2190,2189,2229,2187,2186,2182,2181,2175,2171,2168,2130,2167,2127,2125,2125,2120,2119,2119,2104,2098,2089,2171,2133,2090,2071,2116,2071,2064,2064,2062,2061,2061,2061,2061,2058,2053,2052,2060,2048,2054,2039,2034,2019,2015,1987,1983,1985,1985,1983,1998,1980,1979,2041,2030,1976,1976,1980,1973,1973,1973,1972,1972,1957,1956,1949,1949,1938,1938,1928,1926,1914,1910,1910,1911,1908,1905,1904,1903,1921,1902,1903,1898,1893,1888,1877,1874,1886,1866,1864,1862,1858,1858,1847,1847,1838,1824,1817,1817,1817,1817,1817,1817,1817,1815,1815,1815,1815,1811,1808,1808,1806,1798,1797,1790,1782,1791,1782,1770,1777,1774,1749,1744,1733,1718,1714,1710,1710,1710,1709,1709,1707,1707,1707,1707,1705,1705,1705,1704,1704,1704,1703,1700,1699,1698,1698,1693,1691,1689,1680,1671,1659,1651,1649,1642,1635,1631,1668,1668,1625,1623,1620,1621,1620,1620,1627,1616,1606,1606,1603,1590,1585,1594,1580,1579,1581,1573,1557,1550,1545,1545,1543,1540,1540,1574,1560,1550,1534,1530,1530,1531,1527,1536,1523,1530,1498,1490,1477,1469,1468,1458,1502,1459,1493,1490,1470,1449,1450,1448,1446,1444,1444,1443,1445,1432,1431,1433,1430,1420,1417,1417,1410,1404,1399,1399,1410,1397,1405,1545,1386,1397,1390,1384,1384,1371,1409,1363,1363,1411,1363,1861,1467,1367,1354,1347,1341,1330,1329,1323,1321,1320,1320,1309,1301,1298,1303,1301,1320,1363,1294,1286,1340,1312,1311,1293,1283,1284,1330,1280,1279,1277,1279,1280,1276,1276,1276,1277,1290,1275,1283,1266,1260,1262,1257,1255,1241,1234,1229,1223,1238,1252,1206,1257,1243,1248,1202,1202,1202,1203,1200,1196,1198,1187,1185,1176,1179,1167,1151,1171,1180,1164,1175,1144,1129,1147,1114,1111,1110,1124,1116,1133,1132,1111,1104,1104,1104,1134,1105,1111,1100,1095,1091,1091,1094,1087,1085,1070,1060,1059,1054,1049,1050,1216,1040,1081,1085,1089,1069,1036,1029,1036,1031,1089,1024,1027,1024,1022,1021,1021,1019,1012,1012,1009,998,971,964,969,958,994,991,984,963,948,948,950,943,944,939,942,942,938,933,934,932,930,941,937,926,930,923,926,919,901,888,880,888,878,874,874,929,913,902,914,898,864,923,891,882,874,873,870,867,866,860,858,866,857,861,818,816,803,804,807,798,790,796,788,791,797,830,815,801,786,790,787,787,787,785,783,791,787,784,786,782,782,783,781,783,752,766,734,733,756,745,710,710,769,762,741,739,734,726,711,711,708,738,741,737,724,713,704,704,704,708,708,711,760,710,711,701,697,689,684,679,681,662,669,668,670,661,683,683,672,684,650,647,661,650,684,681,643,656,663,629,649,629,629,627,673,661,629,627,623,622,620,611,605,598,569,567,564,573,573,566,565,564,580,573,570,566,573,569,563,588,567,559,558,578,573,559,559,558,560,559,556,564,557,553,551,547,536,509,506,501,522,519,545,534,521,508,509,509,554,500,524,500,496,499,509,500,507,495,493,507,496,495,492,490,487,485,473,482,467,456,446,438,447,487,447,450,474,438,444,449,438,437,452,431,431,445,418,414,432,410,405,390,401,381,379,375,405,405,378,418,379,368,361,380,353,403,404,370,363,389,340,354,371,371,397,335,361,380,353,334,364,331,377,353,329,328,319,313,309,300,305,291,290,303,326,308,324,301,299,304,292,270,312,271,297,293,287,272,310,271,265,283,263,298,273,311,311,284,255,255,251,250,243,240,235,241,235,229,218,208,208,199,250,216,237,227,209,206,195,195,205,254,205,198,229,258,195,194,206,201,185,188,188,178,168,172,165,169,182,149,149,174,146,139,136,174,171,170,147,159,133,165,174,165,144,144,131,173,145,175,136,144,158,152,146,158,117,115,113,111,102,101,105,108,94,77,85,119,111,72,70,74,83,94,83,84,94,90,79,72,72,89,69,76,83,69,75,82,69,69,67,101,62,62,104,66,105,103,62,62,61,61,61,59,55,53,56,41,51,59,45,60,40,25,25,16,20,13,17,9,9,25,26,25,25,37,4,19,10,10,20,17,39,26,26,10,54,23,25,19,6,12,4,26,39,39,9,18,17,2,10,3,1,1,22]}} \ No newline at end of file diff --git a/test/jasmine/data/json/scm-evolutionary.json b/test/jasmine/data/json/scm-evolutionary.json new file mode 100644 index 00000000..cc7f328f --- /dev/null +++ b/test/jasmine/data/json/scm-evolutionary.json @@ -0,0 +1 @@ +{"id":[24118,24119,24120,24121,24122,24123,24124,24125,24126,24127,24128,24129,24130,24131,24132,24133,24134,24135,24136,24137,24138,24139,24140,24141,24142,24143,24144,24145,24146,24147,24148,24149,24150,24151,24152,24153,24154,24155,24156,24157],"year":[2009,2009,2009,2010,2010,2010,2010,2010,2010,2010,2010,2010,2010,2010,2010,2011,2011,2011,2011,2011,2011,2011,2011,2011,2011,2011,2011,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2012,2013],"month":[10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,4,5,6,7,8,9,10,11,12,1],"date":["Oct 2009","Nov 2009","Dec 2009","Jan 2010","Feb 2010","Mar 2010","Apr 2010","May 2010","Jun 2010","Jul 2010","Aug 2010","Sep 2010","Oct 2010","Nov 2010","Dec 2010","Jan 2011","Feb 2011","Mar 2011","Apr 2011","May 2011","Jun 2011","Jul 2011","Aug 2011","Sep 2011","Oct 2011","Nov 2011","Dec 2011","Jan 2012","Feb 2012","Mar 2012","Apr 2012","May 2012","Jun 2012","Jul 2012","Aug 2012","Sep 2012","Oct 2012","Nov 2012","Dec 2012","Jan 2013"],"commits":[1,143,111,130,152,193,252,166,212,117,136,167,211,158,190,194,182,197,192,108,171,49,46,41,114,75,26,38,50,255,180,779,256,226,168,135,131,85,161,5],"committers":[1,5,4,6,5,5,6,7,7,4,3,4,5,4,4,6,7,7,8,8,7,7,7,7,7,6,3,6,7,9,6,11,10,8,8,2,3,7,9,1],"authors":[1,5,4,6,5,5,7,7,7,4,3,4,5,4,4,6,7,7,8,8,8,7,6,6,6,5,3,6,7,9,8,11,11,10,13,6,7,9,10,3],"files":[1,241,212,183,259,312,416,7323,308,255,632,382,3990,317,344,226,211,312,382,187,119,60,57,53,143,155,50,100,51,178,242,1010,328,214,145,272,166,174,7329,4],"branches":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,2,1,1,1,2,6,9,19,19,22,1,6,17,21,21,1],"repositories":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]} \ No newline at end of file diff --git a/test/jasmine/data/json/scm-people.json b/test/jasmine/data/json/scm-people.json new file mode 100644 index 00000000..bc8199c4 --- /dev/null +++ b/test/jasmine/data/json/scm-people.json @@ -0,0 +1 @@ +{"id":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"name":["Jonathan T. Beard","Mark Ramm","Wolf","Rick Copeland","root","Robin Luckey","Andy Verprauskus","Jenny Steele","Gary Bernhardt","Max Ischenko","mramm","Paul Sokolovsky","Dave Brondsema","John Hoffmann","Kyle Adams","Jamey Owens","Tim Van Steenburgh","Marat Nepomnyashy","Wayne Witzel III","Cory Johns","Yaroslav Luzin","Anton Kasyanov","bolkimen","Artem Dudarev for 42cc","Evgeny Ivanov","Eugene \u201cStilgar\u201c Gilewski","pill","Igor Bondarenko","Evgeniy Filatov","Denis Nikolskiy","Yuriy","Leo Trubach","Hendrik Brummermann","Patrick Lenz","Yuriy Arhipov","Peter Hartmann","Alvaro del Castillo","Stefano Invernizzi","Jon Schewe"],"email":["jbeard@corp.sourceforge.com","mark@dhcp-172.30.10.168.dxt.sourceforge.com","wolf@geek.net","rick446@legolas-vm.(none)","root@h2v2090.sb.sf.net","rluckey@geek.net","averprauskus@geek.net","jsteele@geek.net","gbernhardt@geek.net","mischenko@geek.net","mramm@gmail.com","psokolovsky@corp.sourceforge.com","dbrondsema@geek.net","jwh@geek.net","kyle@geek.net","jowens@Jamey-Owenss-MacBook-Pro.local","tvansteenburgh@geek.net","maratbn@gmail.com","wwitzel@geek.net","johnsca@geek.net","jardev@gmail.com","mind_master@ukr.net","bolkimen@yahoo.com","dudarev+42cc@gmail.com","jey@oneiric.(none)","developer@gilevski.name","pill.sv0@gmail.com","jetmind2@gmail.com","evgeniyfilatov@yandex.ru","fsdvn1@gmail.com","yuriyarhipovua@yandex.ru","leotrubach@gmail.com","nhnb@users.sourceforge.net","plenz@geek.net","yuriyarhipovua@yandex.ru","mailbox.tec@gmail.com","acs@barrapunto.com","stefanoinve@apache.org","jpschewe@mtu.net"]} \ No newline at end of file diff --git a/test/jasmine/data/json/scm-static.json b/test/jasmine/data/json/scm-static.json new file mode 100644 index 00000000..07bbceea --- /dev/null +++ b/test/jasmine/data/json/scm-static.json @@ -0,0 +1 @@ +{"commits":6203,"committers":36,"authors":39,"first_date":"2009-10-14","last_date":"2013-01-02","branches":120,"files":3801,"repositories":1,"actions":37964,"url":"git://git.apache.org/incubator-allura.git","type":"git","avg_commits_month":163.237,"avg_files_month":482.079,"avg_commits_author":159.051,"avg_authors_month":1.0263,"avg_committers_month":0.9474,"avg_files_author":469.718} \ No newline at end of file diff --git a/test/jasmine/data/json/scm-top.json b/test/jasmine/data/json/scm-top.json new file mode 100644 index 00000000..23869abb --- /dev/null +++ b/test/jasmine/data/json/scm-top.json @@ -0,0 +1 @@ +{"committers.":{"commits":[1116,907,885,843,514,457,342,327,212,124],"developer":["rick446@legolas-vm.(none)","jsteele@geek.net","jardev@gmail.com","dbrondsema@geek.net","wolf@geek.net","johnsca@geek.net","psokolovsky@corp.sourceforge.com","tvansteenburgh@geek.net","jbeard@corp.sourceforge.com","bolkimen@yahoo.com"]},"committers.last year":{"commits":[885,505,457,228,124,93,70,34,12,9],"developer":["jardev@gmail.com","dbrondsema@geek.net","johnsca@geek.net","tvansteenburgh@geek.net","bolkimen@yahoo.com","jsteele@geek.net","jetmind2@gmail.com","yuriyarhipovua@yandex.ru","rick446@legolas-vm.(none)","acs@barrapunto.com"]},"committers.last month":{"commits":[68,53,26,8,3,3,2,2,1],"developer":["johnsca@geek.net","dbrondsema@geek.net","tvansteenburgh@geek.net","acs@barrapunto.com","yuriyarhipovua@yandex.ru","mailbox.tec@gmail.com","wwitzel@geek.net","stefanoinve@apache.org","plenz@geek.net"]}} \ No newline at end of file diff --git a/test/jasmine/data/json/treemap.json b/test/jasmine/data/json/treemap.json new file mode 100644 index 00000000..a05a9485 --- /dev/null +++ b/test/jasmine/data/json/treemap.json @@ -0,0 +1,380 @@ +{ + "name": "flare", + "children": [ + { + "name": "analytics", + "children": [ + { + "name": "cluster", + "children": [ + {"name": "AgglomerativeCluster", "size": 3938}, + {"name": "CommunityStructure", "size": 3812}, + {"name": "HierarchicalCluster", "size": 6714}, + {"name": "MergeEdge", "size": 743} + ] + }, + { + "name": "graph", + "children": [ + {"name": "BetweennessCentrality", "size": 3534}, + {"name": "LinkDistance", "size": 5731}, + {"name": "MaxFlowMinCut", "size": 7840}, + {"name": "ShortestPaths", "size": 5914}, + {"name": "SpanningTree", "size": 3416} + ] + }, + { + "name": "optimization", + "children": [ + {"name": "AspectRatioBanker", "size": 7074} + ] + } + ] + }, + { + "name": "animate", + "children": [ + {"name": "Easing", "size": 17010}, + {"name": "FunctionSequence", "size": 5842}, + { + "name": "interpolate", + "children": [ + {"name": "ArrayInterpolator", "size": 1983}, + {"name": "ColorInterpolator", "size": 2047}, + {"name": "DateInterpolator", "size": 1375}, + {"name": "Interpolator", "size": 8746}, + {"name": "MatrixInterpolator", "size": 2202}, + {"name": "NumberInterpolator", "size": 1382}, + {"name": "ObjectInterpolator", "size": 1629}, + {"name": "PointInterpolator", "size": 1675}, + {"name": "RectangleInterpolator", "size": 2042} + ] + }, + {"name": "ISchedulable", "size": 1041}, + {"name": "Parallel", "size": 5176}, + {"name": "Pause", "size": 449}, + {"name": "Scheduler", "size": 5593}, + {"name": "Sequence", "size": 5534}, + {"name": "Transition", "size": 9201}, + {"name": "Transitioner", "size": 19975}, + {"name": "TransitionEvent", "size": 1116}, + {"name": "Tween", "size": 6006} + ] + }, + { + "name": "data", + "children": [ + { + "name": "converters", + "children": [ + {"name": "Converters", "size": 721}, + {"name": "DelimitedTextConverter", "size": 4294}, + {"name": "GraphMLConverter", "size": 9800}, + {"name": "IDataConverter", "size": 1314}, + {"name": "JSONConverter", "size": 2220} + ] + }, + {"name": "DataField", "size": 1759}, + {"name": "DataSchema", "size": 2165}, + {"name": "DataSet", "size": 586}, + {"name": "DataSource", "size": 3331}, + {"name": "DataTable", "size": 772}, + {"name": "DataUtil", "size": 3322} + ] + }, + { + "name": "display", + "children": [ + {"name": "DirtySprite", "size": 8833}, + {"name": "LineSprite", "size": 1732}, + {"name": "RectSprite", "size": 3623}, + {"name": "TextSprite", "size": 10066} + ] + }, + { + "name": "flex", + "children": [ + {"name": "FlareVis", "size": 4116} + ] + }, + { + "name": "physics", + "children": [ + {"name": "DragForce", "size": 1082}, + {"name": "GravityForce", "size": 1336}, + {"name": "IForce", "size": 319}, + {"name": "NBodyForce", "size": 10498}, + {"name": "Particle", "size": 2822}, + {"name": "Simulation", "size": 9983}, + {"name": "Spring", "size": 2213}, + {"name": "SpringForce", "size": 1681} + ] + }, + { + "name": "query", + "children": [ + {"name": "AggregateExpression", "size": 1616}, + {"name": "And", "size": 1027}, + {"name": "Arithmetic", "size": 3891}, + {"name": "Average", "size": 891}, + {"name": "BinaryExpression", "size": 2893}, + {"name": "Comparison", "size": 5103}, + {"name": "CompositeExpression", "size": 3677}, + {"name": "Count", "size": 781}, + {"name": "DateUtil", "size": 4141}, + {"name": "Distinct", "size": 933}, + {"name": "Expression", "size": 5130}, + {"name": "ExpressionIterator", "size": 3617}, + {"name": "Fn", "size": 3240}, + {"name": "If", "size": 2732}, + {"name": "IsA", "size": 2039}, + {"name": "Literal", "size": 1214}, + {"name": "Match", "size": 3748}, + {"name": "Maximum", "size": 843}, + { + "name": "methods", + "children": [ + {"name": "add", "size": 593}, + {"name": "and", "size": 330}, + {"name": "average", "size": 287}, + {"name": "count", "size": 277}, + {"name": "distinct", "size": 292}, + {"name": "div", "size": 595}, + {"name": "eq", "size": 594}, + {"name": "fn", "size": 460}, + {"name": "gt", "size": 603}, + {"name": "gte", "size": 625}, + {"name": "iff", "size": 748}, + {"name": "isa", "size": 461}, + {"name": "lt", "size": 597}, + {"name": "lte", "size": 619}, + {"name": "max", "size": 283}, + {"name": "min", "size": 283}, + {"name": "mod", "size": 591}, + {"name": "mul", "size": 603}, + {"name": "neq", "size": 599}, + {"name": "not", "size": 386}, + {"name": "or", "size": 323}, + {"name": "orderby", "size": 307}, + {"name": "range", "size": 772}, + {"name": "select", "size": 296}, + {"name": "stddev", "size": 363}, + {"name": "sub", "size": 600}, + {"name": "sum", "size": 280}, + {"name": "update", "size": 307}, + {"name": "variance", "size": 335}, + {"name": "where", "size": 299}, + {"name": "xor", "size": 354}, + {"name": "_", "size": 264} + ] + }, + {"name": "Minimum", "size": 843}, + {"name": "Not", "size": 1554}, + {"name": "Or", "size": 970}, + {"name": "Query", "size": 13896}, + {"name": "Range", "size": 1594}, + {"name": "StringUtil", "size": 4130}, + {"name": "Sum", "size": 791}, + {"name": "Variable", "size": 1124}, + {"name": "Variance", "size": 1876}, + {"name": "Xor", "size": 1101} + ] + }, + { + "name": "scale", + "children": [ + {"name": "IScaleMap", "size": 2105}, + {"name": "LinearScale", "size": 1316}, + {"name": "LogScale", "size": 3151}, + {"name": "OrdinalScale", "size": 3770}, + {"name": "QuantileScale", "size": 2435}, + {"name": "QuantitativeScale", "size": 4839}, + {"name": "RootScale", "size": 1756}, + {"name": "Scale", "size": 4268}, + {"name": "ScaleType", "size": 1821}, + {"name": "TimeScale", "size": 5833} + ] + }, + { + "name": "util", + "children": [ + {"name": "Arrays", "size": 8258}, + {"name": "Colors", "size": 10001}, + {"name": "Dates", "size": 8217}, + {"name": "Displays", "size": 12555}, + {"name": "Filter", "size": 2324}, + {"name": "Geometry", "size": 10993}, + { + "name": "heap", + "children": [ + {"name": "FibonacciHeap", "size": 9354}, + {"name": "HeapNode", "size": 1233} + ] + }, + {"name": "IEvaluable", "size": 335}, + {"name": "IPredicate", "size": 383}, + {"name": "IValueProxy", "size": 874}, + { + "name": "math", + "children": [ + {"name": "DenseMatrix", "size": 3165}, + {"name": "IMatrix", "size": 2815}, + {"name": "SparseMatrix", "size": 3366} + ] + }, + {"name": "Maths", "size": 17705}, + {"name": "Orientation", "size": 1486}, + { + "name": "palette", + "children": [ + {"name": "ColorPalette", "size": 6367}, + {"name": "Palette", "size": 1229}, + {"name": "ShapePalette", "size": 2059}, + {"name": "SizePalette", "size": 2291} + ] + }, + {"name": "Property", "size": 5559}, + {"name": "Shapes", "size": 19118}, + {"name": "Sort", "size": 6887}, + {"name": "Stats", "size": 6557}, + {"name": "Strings", "size": 22026} + ] + }, + { + "name": "vis", + "children": [ + { + "name": "axis", + "children": [ + {"name": "Axes", "size": 1302}, + {"name": "Axis", "size": 24593}, + {"name": "AxisGridLine", "size": 652}, + {"name": "AxisLabel", "size": 636}, + {"name": "CartesianAxes", "size": 6703} + ] + }, + { + "name": "controls", + "children": [ + {"name": "AnchorControl", "size": 2138}, + {"name": "ClickControl", "size": 3824}, + {"name": "Control", "size": 1353}, + {"name": "ControlList", "size": 4665}, + {"name": "DragControl", "size": 2649}, + {"name": "ExpandControl", "size": 2832}, + {"name": "HoverControl", "size": 4896}, + {"name": "IControl", "size": 763}, + {"name": "PanZoomControl", "size": 5222}, + {"name": "SelectionControl", "size": 7862}, + {"name": "TooltipControl", "size": 8435} + ] + }, + { + "name": "data", + "children": [ + {"name": "Data", "size": 20544}, + {"name": "DataList", "size": 19788}, + {"name": "DataSprite", "size": 10349}, + {"name": "EdgeSprite", "size": 3301}, + {"name": "NodeSprite", "size": 19382}, + { + "name": "render", + "children": [ + {"name": "ArrowType", "size": 698}, + {"name": "EdgeRenderer", "size": 5569}, + {"name": "IRenderer", "size": 353}, + {"name": "ShapeRenderer", "size": 2247} + ] + }, + {"name": "ScaleBinding", "size": 11275}, + {"name": "Tree", "size": 7147}, + {"name": "TreeBuilder", "size": 9930} + ] + }, + { + "name": "events", + "children": [ + {"name": "DataEvent", "size": 2313}, + {"name": "SelectionEvent", "size": 1880}, + {"name": "TooltipEvent", "size": 1701}, + {"name": "VisualizationEvent", "size": 1117} + ] + }, + { + "name": "legend", + "children": [ + {"name": "Legend", "size": 20859}, + {"name": "LegendItem", "size": 4614}, + {"name": "LegendRange", "size": 10530} + ] + }, + { + "name": "operator", + "children": [ + { + "name": "distortion", + "children": [ + {"name": "BifocalDistortion", "size": 4461}, + {"name": "Distortion", "size": 6314}, + {"name": "FisheyeDistortion", "size": 3444} + ] + }, + { + "name": "encoder", + "children": [ + {"name": "ColorEncoder", "size": 3179}, + {"name": "Encoder", "size": 4060}, + {"name": "PropertyEncoder", "size": 4138}, + {"name": "ShapeEncoder", "size": 1690}, + {"name": "SizeEncoder", "size": 1830} + ] + }, + { + "name": "filter", + "children": [ + {"name": "FisheyeTreeFilter", "size": 5219}, + {"name": "GraphDistanceFilter", "size": 3165}, + {"name": "VisibilityFilter", "size": 3509} + ] + }, + {"name": "IOperator", "size": 1286}, + { + "name": "label", + "children": [ + {"name": "Labeler", "size": 9956}, + {"name": "RadialLabeler", "size": 3899}, + {"name": "StackedAreaLabeler", "size": 3202} + ] + }, + { + "name": "layout", + "children": [ + {"name": "AxisLayout", "size": 6725}, + {"name": "BundledEdgeRouter", "size": 3727}, + {"name": "CircleLayout", "size": 9317}, + {"name": "CirclePackingLayout", "size": 12003}, + {"name": "DendrogramLayout", "size": 4853}, + {"name": "ForceDirectedLayout", "size": 8411}, + {"name": "IcicleTreeLayout", "size": 4864}, + {"name": "IndentedTreeLayout", "size": 3174}, + {"name": "Layout", "size": 7881}, + {"name": "NodeLinkTreeLayout", "size": 12870}, + {"name": "PieLayout", "size": 2728}, + {"name": "RadialTreeLayout", "size": 12348}, + {"name": "RandomLayout", "size": 870}, + {"name": "StackedAreaLayout", "size": 9121}, + {"name": "TreeMapLayout", "size": 9191} + ] + }, + {"name": "Operator", "size": 2490}, + {"name": "OperatorList", "size": 5248}, + {"name": "OperatorSequence", "size": 4190}, + {"name": "OperatorSwitch", "size": 2581}, + {"name": "SortOperator", "size": 2023} + ] + }, + {"name": "Visualization", "size": 16540} + ] + } + ] +} \ No newline at end of file diff --git a/test/jasmine/data/json/viz_cfg.json b/test/jasmine/data/json/viz_cfg.json new file mode 100644 index 00000000..1d9e3327 --- /dev/null +++ b/test/jasmine/data/json/viz_cfg.json @@ -0,0 +1,7 @@ +{ +"scm_hide":["*branches", "*files", "repositories"], +"its_hide":["*opened", "*changed", "*openers", "*changers"], +"mls_hide":["*senders"], +"summary_hide":["committers","branches", "files", "repositories","opened", "openers", "changed", "changers"], +"mls_hide_lists":[""] +} \ No newline at end of file diff --git a/test/jasmine/helpers/jquery-1.7.1.min.js b/test/jasmine/helpers/jquery-1.7.1.min.js new file mode 100644 index 00000000..198b3ff0 --- /dev/null +++ b/test/jasmine/helpers/jquery-1.7.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.1 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; +f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() +{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/test/jasmine/html/footer.html b/test/jasmine/html/footer.html new file mode 100644 index 00000000..d2069c8d --- /dev/null +++ b/test/jasmine/html/footer.html @@ -0,0 +1,6 @@ +
+

+ © 2011-2012 Bitergia + CC by-sa +

+
\ No newline at end of file diff --git a/test/jasmine/html/header.html b/test/jasmine/html/header.html new file mode 100644 index 00000000..dbab7f2d --- /dev/null +++ b/test/jasmine/html/header.html @@ -0,0 +1,5 @@ + +

Analysis ()

\ No newline at end of file diff --git a/test/jasmine/html/navigation.html b/test/jasmine/html/navigation.html new file mode 100644 index 00000000..f788c6a7 --- /dev/null +++ b/test/jasmine/html/navigation.html @@ -0,0 +1,13 @@ +
+

Navigation

+ Summary
+  Source Code
+  Tickets
+  Mailing Lists
+  Top
+  Bubbles
+  Radar
+  Demographics
+  Gridster Dashboard
+  D3 TreeMap
+
diff --git a/test/jasmine/html/project-card.html b/test/jasmine/html/project-card.html new file mode 100644 index 00000000..33696c07 --- /dev/null +++ b/test/jasmine/html/project-card.html @@ -0,0 +1,52 @@ +
+
+ Project name: +

+
+ Changes to source code: +
    +
  • + Time period:   +
  • +
  • + Commits: +
  • +
  • + Committers: +
  • +
  • + Authors: +
  • +
+
+
+ +
    + +
  • + Time period:   +
  • +
  • + Issues: +
  • +
  • + Openers: +
  • +
+
+
+ Messages (): +
    + +
  • + Time period:   +
  • +
  • + Total messages: +
  • +
  • + Senders: +
  • +
+
+
diff --git a/test/jasmine/html/refcard.html b/test/jasmine/html/refcard.html new file mode 100644 index 00000000..9b488301 --- /dev/null +++ b/test/jasmine/html/refcard.html @@ -0,0 +1,51 @@ +
+

Reference Card

+ +
+ + MySQL database dumps with the complete retrieved datasets +
+ JSON files serving the data shown in the plots +
+ +
+

General Notes

+

+ This is a simple report produced by . +

+

+ The dataset presented is based on + the information publicly available + in the development repositories of the , and should be exact for the timespan and repositories analyzed. +

+

+ +
+

Other comments

+

+ We proudly participate in the development of the + data mining tools used in this analysis, which are all of them free / open source software. Those can be found at + the Metrics Grimoire project. +

+

+ The visualization part is also based on partially modified free software code, most of it being Envision by HumbleSoftware. The rest of the toolchain is mainly R, an incredible statistical tool + that helps us to analyze the dataset and produce the cooked data which is shown. +

+
+ +
+

More information and feedback

+

+ There is some more information in the blog post about this analysis. +

+

+ Our main concern as a company is + to provide products and services as transparent + as possible, generating a trustable relationship + with our costumers. Therefore, + if you find any inconsistencies in the data, or have any other kind of feedback, please let us know by posting a comment to that blog entry. +

+

+ Thanks for your interest and support! +

+
diff --git a/test/jasmine/index.html b/test/jasmine/index.html new file mode 100644 index 00000000..bfe8a399 --- /dev/null +++ b/test/jasmine/index.html @@ -0,0 +1,70 @@ + + + +Jasmine Spec Runner for VizGrimoireJS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/jasmine/jasmine.yml b/test/jasmine/jasmine.yml new file mode 100644 index 00000000..4adfb1c0 --- /dev/null +++ b/test/jasmine/jasmine.yml @@ -0,0 +1,16 @@ +src_files: + - "src/jquery-1.7.1.min.js" + - "src/jquery.gridster.js" + - "src/envision.js" + - "src/Report.js" + - "src/ITS.js" + - "src/MLS.js" + - "src/SCM.js" + - "src/Envision_Report.js" + - "src/Viz.js" +helpers: + - "helpers/jquery-1.7.1.min.js" +spec_files: + - "vizgrimoireSpec.js" +src_dir: "../../" +spec_dir: "spec/" diff --git a/test/jasmine/lib/jasmine-1.3.1/MIT.LICENSE b/test/jasmine/lib/jasmine-1.3.1/MIT.LICENSE new file mode 100644 index 00000000..7c435baa --- /dev/null +++ b/test/jasmine/lib/jasmine-1.3.1/MIT.LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2008-2011 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/test/jasmine/lib/jasmine-1.3.1/jasmine-html.js b/test/jasmine/lib/jasmine-1.3.1/jasmine-html.js new file mode 100644 index 00000000..543d5696 --- /dev/null +++ b/test/jasmine/lib/jasmine-1.3.1/jasmine-html.js @@ -0,0 +1,681 @@ +jasmine.HtmlReporterHelpers = {}; + +jasmine.HtmlReporterHelpers.createDom = function(type, attrs, childrenVarArgs) { + var el = document.createElement(type); + + for (var i = 2; i < arguments.length; i++) { + var child = arguments[i]; + + if (typeof child === 'string') { + el.appendChild(document.createTextNode(child)); + } else { + if (child) { + el.appendChild(child); + } + } + } + + for (var attr in attrs) { + if (attr == "className") { + el[attr] = attrs[attr]; + } else { + el.setAttribute(attr, attrs[attr]); + } + } + + return el; +}; + +jasmine.HtmlReporterHelpers.getSpecStatus = function(child) { + var results = child.results(); + var status = results.passed() ? 'passed' : 'failed'; + if (results.skipped) { + status = 'skipped'; + } + + return status; +}; + +jasmine.HtmlReporterHelpers.appendToSummary = function(child, childElement) { + var parentDiv = this.dom.summary; + var parentSuite = (typeof child.parentSuite == 'undefined') ? 'suite' : 'parentSuite'; + var parent = child[parentSuite]; + + if (parent) { + if (typeof this.views.suites[parent.id] == 'undefined') { + this.views.suites[parent.id] = new jasmine.HtmlReporter.SuiteView(parent, this.dom, this.views); + } + parentDiv = this.views.suites[parent.id].element; + } + + parentDiv.appendChild(childElement); +}; + + +jasmine.HtmlReporterHelpers.addHelpers = function(ctor) { + for(var fn in jasmine.HtmlReporterHelpers) { + ctor.prototype[fn] = jasmine.HtmlReporterHelpers[fn]; + } +}; + +jasmine.HtmlReporter = function(_doc) { + var self = this; + var doc = _doc || window.document; + + var reporterView; + + var dom = {}; + + // Jasmine Reporter Public Interface + self.logRunningSpecs = false; + + self.reportRunnerStarting = function(runner) { + var specs = runner.specs() || []; + + if (specs.length == 0) { + return; + } + + createReporterDom(runner.env.versionString()); + doc.body.appendChild(dom.reporter); + setExceptionHandling(); + + reporterView = new jasmine.HtmlReporter.ReporterView(dom); + reporterView.addSpecs(specs, self.specFilter); + }; + + self.reportRunnerResults = function(runner) { + reporterView && reporterView.complete(); + }; + + self.reportSuiteResults = function(suite) { + reporterView.suiteComplete(suite); + }; + + self.reportSpecStarting = function(spec) { + if (self.logRunningSpecs) { + self.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...'); + } + }; + + self.reportSpecResults = function(spec) { + reporterView.specComplete(spec); + }; + + self.log = function() { + var console = jasmine.getGlobal().console; + if (console && console.log) { + if (console.log.apply) { + console.log.apply(console, arguments); + } else { + console.log(arguments); // ie fix: console.log.apply doesn't exist on ie + } + } + }; + + self.specFilter = function(spec) { + if (!focusedSpecName()) { + return true; + } + + return spec.getFullName().indexOf(focusedSpecName()) === 0; + }; + + return self; + + function focusedSpecName() { + var specName; + + (function memoizeFocusedSpec() { + if (specName) { + return; + } + + var paramMap = []; + var params = jasmine.HtmlReporter.parameters(doc); + + for (var i = 0; i < params.length; i++) { + var p = params[i].split('='); + paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); + } + + specName = paramMap.spec; + })(); + + return specName; + } + + function createReporterDom(version) { + dom.reporter = self.createDom('div', { id: 'HTMLReporter', className: 'jasmine_reporter' }, + dom.banner = self.createDom('div', { className: 'banner' }, + self.createDom('span', { className: 'title' }, "Jasmine "), + self.createDom('span', { className: 'version' }, version)), + + dom.symbolSummary = self.createDom('ul', {className: 'symbolSummary'}), + dom.alert = self.createDom('div', {className: 'alert'}, + self.createDom('span', { className: 'exceptions' }, + self.createDom('label', { className: 'label', 'for': 'no_try_catch' }, 'No try/catch'), + self.createDom('input', { id: 'no_try_catch', type: 'checkbox' }))), + dom.results = self.createDom('div', {className: 'results'}, + dom.summary = self.createDom('div', { className: 'summary' }), + dom.details = self.createDom('div', { id: 'details' })) + ); + } + + function noTryCatch() { + return window.location.search.match(/catch=false/); + } + + function searchWithCatch() { + var params = jasmine.HtmlReporter.parameters(window.document); + var removed = false; + var i = 0; + + while (!removed && i < params.length) { + if (params[i].match(/catch=/)) { + params.splice(i, 1); + removed = true; + } + i++; + } + if (jasmine.CATCH_EXCEPTIONS) { + params.push("catch=false"); + } + + return params.join("&"); + } + + function setExceptionHandling() { + var chxCatch = document.getElementById('no_try_catch'); + + if (noTryCatch()) { + chxCatch.setAttribute('checked', true); + jasmine.CATCH_EXCEPTIONS = false; + } + chxCatch.onclick = function() { + window.location.search = searchWithCatch(); + }; + } +}; +jasmine.HtmlReporter.parameters = function(doc) { + var paramStr = doc.location.search.substring(1); + var params = []; + + if (paramStr.length > 0) { + params = paramStr.split('&'); + } + return params; +} +jasmine.HtmlReporter.sectionLink = function(sectionName) { + var link = '?'; + var params = []; + + if (sectionName) { + params.push('spec=' + encodeURIComponent(sectionName)); + } + if (!jasmine.CATCH_EXCEPTIONS) { + params.push("catch=false"); + } + if (params.length > 0) { + link += params.join("&"); + } + + return link; +}; +jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter); +jasmine.HtmlReporter.ReporterView = function(dom) { + this.startedAt = new Date(); + this.runningSpecCount = 0; + this.completeSpecCount = 0; + this.passedCount = 0; + this.failedCount = 0; + this.skippedCount = 0; + + this.createResultsMenu = function() { + this.resultsMenu = this.createDom('span', {className: 'resultsMenu bar'}, + this.summaryMenuItem = this.createDom('a', {className: 'summaryMenuItem', href: "#"}, '0 specs'), + ' | ', + this.detailsMenuItem = this.createDom('a', {className: 'detailsMenuItem', href: "#"}, '0 failing')); + + this.summaryMenuItem.onclick = function() { + dom.reporter.className = dom.reporter.className.replace(/ showDetails/g, ''); + }; + + this.detailsMenuItem.onclick = function() { + showDetails(); + }; + }; + + this.addSpecs = function(specs, specFilter) { + this.totalSpecCount = specs.length; + + this.views = { + specs: {}, + suites: {} + }; + + for (var i = 0; i < specs.length; i++) { + var spec = specs[i]; + this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom, this.views); + if (specFilter(spec)) { + this.runningSpecCount++; + } + } + }; + + this.specComplete = function(spec) { + this.completeSpecCount++; + + if (isUndefined(this.views.specs[spec.id])) { + this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom); + } + + var specView = this.views.specs[spec.id]; + + switch (specView.status()) { + case 'passed': + this.passedCount++; + break; + + case 'failed': + this.failedCount++; + break; + + case 'skipped': + this.skippedCount++; + break; + } + + specView.refresh(); + this.refresh(); + }; + + this.suiteComplete = function(suite) { + var suiteView = this.views.suites[suite.id]; + if (isUndefined(suiteView)) { + return; + } + suiteView.refresh(); + }; + + this.refresh = function() { + + if (isUndefined(this.resultsMenu)) { + this.createResultsMenu(); + } + + // currently running UI + if (isUndefined(this.runningAlert)) { + this.runningAlert = this.createDom('a', { href: jasmine.HtmlReporter.sectionLink(), className: "runningAlert bar" }); + dom.alert.appendChild(this.runningAlert); + } + this.runningAlert.innerHTML = "Running " + this.completeSpecCount + " of " + specPluralizedFor(this.totalSpecCount); + + // skipped specs UI + if (isUndefined(this.skippedAlert)) { + this.skippedAlert = this.createDom('a', { href: jasmine.HtmlReporter.sectionLink(), className: "skippedAlert bar" }); + } + + this.skippedAlert.innerHTML = "Skipping " + this.skippedCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all"; + + if (this.skippedCount === 1 && isDefined(dom.alert)) { + dom.alert.appendChild(this.skippedAlert); + } + + // passing specs UI + if (isUndefined(this.passedAlert)) { + this.passedAlert = this.createDom('span', { href: jasmine.HtmlReporter.sectionLink(), className: "passingAlert bar" }); + } + this.passedAlert.innerHTML = "Passing " + specPluralizedFor(this.passedCount); + + // failing specs UI + if (isUndefined(this.failedAlert)) { + this.failedAlert = this.createDom('span', {href: "?", className: "failingAlert bar"}); + } + this.failedAlert.innerHTML = "Failing " + specPluralizedFor(this.failedCount); + + if (this.failedCount === 1 && isDefined(dom.alert)) { + dom.alert.appendChild(this.failedAlert); + dom.alert.appendChild(this.resultsMenu); + } + + // summary info + this.summaryMenuItem.innerHTML = "" + specPluralizedFor(this.runningSpecCount); + this.detailsMenuItem.innerHTML = "" + this.failedCount + " failing"; + }; + + this.complete = function() { + dom.alert.removeChild(this.runningAlert); + + this.skippedAlert.innerHTML = "Ran " + this.runningSpecCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all"; + + if (this.failedCount === 0) { + dom.alert.appendChild(this.createDom('span', {className: 'passingAlert bar'}, "Passing " + specPluralizedFor(this.passedCount))); + } else { + showDetails(); + } + + dom.banner.appendChild(this.createDom('span', {className: 'duration'}, "finished in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s")); + }; + + return this; + + function showDetails() { + if (dom.reporter.className.search(/showDetails/) === -1) { + dom.reporter.className += " showDetails"; + } + } + + function isUndefined(obj) { + return typeof obj === 'undefined'; + } + + function isDefined(obj) { + return !isUndefined(obj); + } + + function specPluralizedFor(count) { + var str = count + " spec"; + if (count > 1) { + str += "s" + } + return str; + } + +}; + +jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.ReporterView); + + +jasmine.HtmlReporter.SpecView = function(spec, dom, views) { + this.spec = spec; + this.dom = dom; + this.views = views; + + this.symbol = this.createDom('li', { className: 'pending' }); + this.dom.symbolSummary.appendChild(this.symbol); + + this.summary = this.createDom('div', { className: 'specSummary' }, + this.createDom('a', { + className: 'description', + href: jasmine.HtmlReporter.sectionLink(this.spec.getFullName()), + title: this.spec.getFullName() + }, this.spec.description) + ); + + this.detail = this.createDom('div', { className: 'specDetail' }, + this.createDom('a', { + className: 'description', + href: '?spec=' + encodeURIComponent(this.spec.getFullName()), + title: this.spec.getFullName() + }, this.spec.getFullName()) + ); +}; + +jasmine.HtmlReporter.SpecView.prototype.status = function() { + return this.getSpecStatus(this.spec); +}; + +jasmine.HtmlReporter.SpecView.prototype.refresh = function() { + this.symbol.className = this.status(); + + switch (this.status()) { + case 'skipped': + break; + + case 'passed': + this.appendSummaryToSuiteDiv(); + break; + + case 'failed': + this.appendSummaryToSuiteDiv(); + this.appendFailureDetail(); + break; + } +}; + +jasmine.HtmlReporter.SpecView.prototype.appendSummaryToSuiteDiv = function() { + this.summary.className += ' ' + this.status(); + this.appendToSummary(this.spec, this.summary); +}; + +jasmine.HtmlReporter.SpecView.prototype.appendFailureDetail = function() { + this.detail.className += ' ' + this.status(); + + var resultItems = this.spec.results().getItems(); + var messagesDiv = this.createDom('div', { className: 'messages' }); + + for (var i = 0; i < resultItems.length; i++) { + var result = resultItems[i]; + + if (result.type == 'log') { + messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString())); + } else if (result.type == 'expect' && result.passed && !result.passed()) { + messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message)); + + if (result.trace.stack) { + messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack)); + } + } + } + + if (messagesDiv.childNodes.length > 0) { + this.detail.appendChild(messagesDiv); + this.dom.details.appendChild(this.detail); + } +}; + +jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SpecView);jasmine.HtmlReporter.SuiteView = function(suite, dom, views) { + this.suite = suite; + this.dom = dom; + this.views = views; + + this.element = this.createDom('div', { className: 'suite' }, + this.createDom('a', { className: 'description', href: jasmine.HtmlReporter.sectionLink(this.suite.getFullName()) }, this.suite.description) + ); + + this.appendToSummary(this.suite, this.element); +}; + +jasmine.HtmlReporter.SuiteView.prototype.status = function() { + return this.getSpecStatus(this.suite); +}; + +jasmine.HtmlReporter.SuiteView.prototype.refresh = function() { + this.element.className += " " + this.status(); +}; + +jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SuiteView); + +/* @deprecated Use jasmine.HtmlReporter instead + */ +jasmine.TrivialReporter = function(doc) { + this.document = doc || document; + this.suiteDivs = {}; + this.logRunningSpecs = false; +}; + +jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) { + var el = document.createElement(type); + + for (var i = 2; i < arguments.length; i++) { + var child = arguments[i]; + + if (typeof child === 'string') { + el.appendChild(document.createTextNode(child)); + } else { + if (child) { el.appendChild(child); } + } + } + + for (var attr in attrs) { + if (attr == "className") { + el[attr] = attrs[attr]; + } else { + el.setAttribute(attr, attrs[attr]); + } + } + + return el; +}; + +jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) { + var showPassed, showSkipped; + + this.outerDiv = this.createDom('div', { id: 'TrivialReporter', className: 'jasmine_reporter' }, + this.createDom('div', { className: 'banner' }, + this.createDom('div', { className: 'logo' }, + this.createDom('span', { className: 'title' }, "Jasmine"), + this.createDom('span', { className: 'version' }, runner.env.versionString())), + this.createDom('div', { className: 'options' }, + "Show ", + showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }), + this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "), + showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }), + this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped") + ) + ), + + this.runnerDiv = this.createDom('div', { className: 'runner running' }, + this.createDom('a', { className: 'run_spec', href: '?' }, "run all"), + this.runnerMessageSpan = this.createDom('span', {}, "Running..."), + this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, "")) + ); + + this.document.body.appendChild(this.outerDiv); + + var suites = runner.suites(); + for (var i = 0; i < suites.length; i++) { + var suite = suites[i]; + var suiteDiv = this.createDom('div', { className: 'suite' }, + this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"), + this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description)); + this.suiteDivs[suite.id] = suiteDiv; + var parentDiv = this.outerDiv; + if (suite.parentSuite) { + parentDiv = this.suiteDivs[suite.parentSuite.id]; + } + parentDiv.appendChild(suiteDiv); + } + + this.startedAt = new Date(); + + var self = this; + showPassed.onclick = function(evt) { + if (showPassed.checked) { + self.outerDiv.className += ' show-passed'; + } else { + self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, ''); + } + }; + + showSkipped.onclick = function(evt) { + if (showSkipped.checked) { + self.outerDiv.className += ' show-skipped'; + } else { + self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, ''); + } + }; +}; + +jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) { + var results = runner.results(); + var className = (results.failedCount > 0) ? "runner failed" : "runner passed"; + this.runnerDiv.setAttribute("class", className); + //do it twice for IE + this.runnerDiv.setAttribute("className", className); + var specs = runner.specs(); + var specCount = 0; + for (var i = 0; i < specs.length; i++) { + if (this.specFilter(specs[i])) { + specCount++; + } + } + var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s"); + message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"; + this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild); + + this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString())); +}; + +jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) { + var results = suite.results(); + var status = results.passed() ? 'passed' : 'failed'; + if (results.totalCount === 0) { // todo: change this to check results.skipped + status = 'skipped'; + } + this.suiteDivs[suite.id].className += " " + status; +}; + +jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) { + if (this.logRunningSpecs) { + this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...'); + } +}; + +jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) { + var results = spec.results(); + var status = results.passed() ? 'passed' : 'failed'; + if (results.skipped) { + status = 'skipped'; + } + var specDiv = this.createDom('div', { className: 'spec ' + status }, + this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"), + this.createDom('a', { + className: 'description', + href: '?spec=' + encodeURIComponent(spec.getFullName()), + title: spec.getFullName() + }, spec.description)); + + + var resultItems = results.getItems(); + var messagesDiv = this.createDom('div', { className: 'messages' }); + for (var i = 0; i < resultItems.length; i++) { + var result = resultItems[i]; + + if (result.type == 'log') { + messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString())); + } else if (result.type == 'expect' && result.passed && !result.passed()) { + messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message)); + + if (result.trace.stack) { + messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack)); + } + } + } + + if (messagesDiv.childNodes.length > 0) { + specDiv.appendChild(messagesDiv); + } + + this.suiteDivs[spec.suite.id].appendChild(specDiv); +}; + +jasmine.TrivialReporter.prototype.log = function() { + var console = jasmine.getGlobal().console; + if (console && console.log) { + if (console.log.apply) { + console.log.apply(console, arguments); + } else { + console.log(arguments); // ie fix: console.log.apply doesn't exist on ie + } + } +}; + +jasmine.TrivialReporter.prototype.getLocation = function() { + return this.document.location; +}; + +jasmine.TrivialReporter.prototype.specFilter = function(spec) { + var paramMap = {}; + var params = this.getLocation().search.substring(1).split('&'); + for (var i = 0; i < params.length; i++) { + var p = params[i].split('='); + paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); + } + + if (!paramMap.spec) { + return true; + } + return spec.getFullName().indexOf(paramMap.spec) === 0; +}; diff --git a/test/jasmine/lib/jasmine-1.3.1/jasmine.css b/test/jasmine/lib/jasmine-1.3.1/jasmine.css new file mode 100644 index 00000000..8c008dc7 --- /dev/null +++ b/test/jasmine/lib/jasmine-1.3.1/jasmine.css @@ -0,0 +1,82 @@ +body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; } + +#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; } +#HTMLReporter a { text-decoration: none; } +#HTMLReporter a:hover { text-decoration: underline; } +#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; } +#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; } +#HTMLReporter #jasmine_content { position: fixed; right: 100%; } +#HTMLReporter .version { color: #aaaaaa; } +#HTMLReporter .banner { margin-top: 14px; } +#HTMLReporter .duration { color: #aaaaaa; float: right; } +#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; } +#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; } +#HTMLReporter .symbolSummary li.passed { font-size: 14px; } +#HTMLReporter .symbolSummary li.passed:before { color: #5e7d00; content: "\02022"; } +#HTMLReporter .symbolSummary li.failed { line-height: 9px; } +#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; } +#HTMLReporter .symbolSummary li.skipped { font-size: 14px; } +#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; } +#HTMLReporter .symbolSummary li.pending { line-height: 11px; } +#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; } +#HTMLReporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; } +#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; } +#HTMLReporter .runningAlert { background-color: #666666; } +#HTMLReporter .skippedAlert { background-color: #aaaaaa; } +#HTMLReporter .skippedAlert:first-child { background-color: #333333; } +#HTMLReporter .skippedAlert:hover { text-decoration: none; color: white; text-decoration: underline; } +#HTMLReporter .passingAlert { background-color: #a6b779; } +#HTMLReporter .passingAlert:first-child { background-color: #5e7d00; } +#HTMLReporter .failingAlert { background-color: #cf867e; } +#HTMLReporter .failingAlert:first-child { background-color: #b03911; } +#HTMLReporter .results { margin-top: 14px; } +#HTMLReporter #details { display: none; } +#HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a { background-color: #fff; color: #333333; } +#HTMLReporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; } +#HTMLReporter.showDetails .summaryMenuItem:hover { text-decoration: underline; } +#HTMLReporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; } +#HTMLReporter.showDetails .summary { display: none; } +#HTMLReporter.showDetails #details { display: block; } +#HTMLReporter .summaryMenuItem { font-weight: bold; text-decoration: underline; } +#HTMLReporter .summary { margin-top: 14px; } +#HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; } +#HTMLReporter .summary .specSummary.passed a { color: #5e7d00; } +#HTMLReporter .summary .specSummary.failed a { color: #b03911; } +#HTMLReporter .description + .suite { margin-top: 0; } +#HTMLReporter .suite { margin-top: 14px; } +#HTMLReporter .suite a { color: #333333; } +#HTMLReporter #details .specDetail { margin-bottom: 28px; } +#HTMLReporter #details .specDetail .description { display: block; color: white; background-color: #b03911; } +#HTMLReporter .resultMessage { padding-top: 14px; color: #333333; } +#HTMLReporter .resultMessage span.result { display: block; } +#HTMLReporter .stackTrace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; } + +#TrivialReporter { padding: 8px 13px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow-y: scroll; background-color: white; font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/ /*white-space: pre;*/ /*}*/ } +#TrivialReporter a:visited, #TrivialReporter a { color: #303; } +#TrivialReporter a:hover, #TrivialReporter a:active { color: blue; } +#TrivialReporter .run_spec { float: right; padding-right: 5px; font-size: .8em; text-decoration: none; } +#TrivialReporter .banner { color: #303; background-color: #fef; padding: 5px; } +#TrivialReporter .logo { float: left; font-size: 1.1em; padding-left: 5px; } +#TrivialReporter .logo .version { font-size: .6em; padding-left: 1em; } +#TrivialReporter .runner.running { background-color: yellow; } +#TrivialReporter .options { text-align: right; font-size: .8em; } +#TrivialReporter .suite { border: 1px outset gray; margin: 5px 0; padding-left: 1em; } +#TrivialReporter .suite .suite { margin: 5px; } +#TrivialReporter .suite.passed { background-color: #dfd; } +#TrivialReporter .suite.failed { background-color: #fdd; } +#TrivialReporter .spec { margin: 5px; padding-left: 1em; clear: both; } +#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped { padding-bottom: 5px; border: 1px solid gray; } +#TrivialReporter .spec.failed { background-color: #fbb; border-color: red; } +#TrivialReporter .spec.passed { background-color: #bfb; border-color: green; } +#TrivialReporter .spec.skipped { background-color: #bbb; } +#TrivialReporter .messages { border-left: 1px dashed gray; padding-left: 1em; padding-right: 1em; } +#TrivialReporter .passed { background-color: #cfc; display: none; } +#TrivialReporter .failed { background-color: #fbb; } +#TrivialReporter .skipped { color: #777; background-color: #eee; display: none; } +#TrivialReporter .resultMessage span.result { display: block; line-height: 2em; color: black; } +#TrivialReporter .resultMessage .mismatch { color: black; } +#TrivialReporter .stackTrace { white-space: pre; font-size: .8em; margin-left: 10px; max-height: 5em; overflow: auto; border: 1px inset red; padding: 1em; background: #eef; } +#TrivialReporter .finished-at { padding-left: 1em; font-size: .6em; } +#TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped { display: block; } +#TrivialReporter #jasmine_content { position: fixed; right: 100%; } +#TrivialReporter .runner { border: 1px solid gray; display: block; margin: 5px 0; padding: 2px 0 2px 10px; } diff --git a/test/jasmine/lib/jasmine-1.3.1/jasmine.js b/test/jasmine/lib/jasmine-1.3.1/jasmine.js new file mode 100644 index 00000000..6b3459b9 --- /dev/null +++ b/test/jasmine/lib/jasmine-1.3.1/jasmine.js @@ -0,0 +1,2600 @@ +var isCommonJS = typeof window == "undefined" && typeof exports == "object"; + +/** + * Top level namespace for Jasmine, a lightweight JavaScript BDD/spec/testing framework. + * + * @namespace + */ +var jasmine = {}; +if (isCommonJS) exports.jasmine = jasmine; +/** + * @private + */ +jasmine.unimplementedMethod_ = function() { + throw new Error("unimplemented method"); +}; + +/** + * Use jasmine.undefined instead of undefined, since undefined is just + * a plain old variable and may be redefined by somebody else. + * + * @private + */ +jasmine.undefined = jasmine.___undefined___; + +/** + * Show diagnostic messages in the console if set to true + * + */ +jasmine.VERBOSE = false; + +/** + * Default interval in milliseconds for event loop yields (e.g. to allow network activity or to refresh the screen with the HTML-based runner). Small values here may result in slow test running. Zero means no updates until all tests have completed. + * + */ +jasmine.DEFAULT_UPDATE_INTERVAL = 250; + +/** + * Maximum levels of nesting that will be included when an object is pretty-printed + */ +jasmine.MAX_PRETTY_PRINT_DEPTH = 40; + +/** + * Default timeout interval in milliseconds for waitsFor() blocks. + */ +jasmine.DEFAULT_TIMEOUT_INTERVAL = 5000; + +/** + * By default exceptions thrown in the context of a test are caught by jasmine so that it can run the remaining tests in the suite. + * Set to false to let the exception bubble up in the browser. + * + */ +jasmine.CATCH_EXCEPTIONS = true; + +jasmine.getGlobal = function() { + function getGlobal() { + return this; + } + + return getGlobal(); +}; + +/** + * Allows for bound functions to be compared. Internal use only. + * + * @ignore + * @private + * @param base {Object} bound 'this' for the function + * @param name {Function} function to find + */ +jasmine.bindOriginal_ = function(base, name) { + var original = base[name]; + if (original.apply) { + return function() { + return original.apply(base, arguments); + }; + } else { + // IE support + return jasmine.getGlobal()[name]; + } +}; + +jasmine.setTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'setTimeout'); +jasmine.clearTimeout = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearTimeout'); +jasmine.setInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'setInterval'); +jasmine.clearInterval = jasmine.bindOriginal_(jasmine.getGlobal(), 'clearInterval'); + +jasmine.MessageResult = function(values) { + this.type = 'log'; + this.values = values; + this.trace = new Error(); // todo: test better +}; + +jasmine.MessageResult.prototype.toString = function() { + var text = ""; + for (var i = 0; i < this.values.length; i++) { + if (i > 0) text += " "; + if (jasmine.isString_(this.values[i])) { + text += this.values[i]; + } else { + text += jasmine.pp(this.values[i]); + } + } + return text; +}; + +jasmine.ExpectationResult = function(params) { + this.type = 'expect'; + this.matcherName = params.matcherName; + this.passed_ = params.passed; + this.expected = params.expected; + this.actual = params.actual; + this.message = this.passed_ ? 'Passed.' : params.message; + + var trace = (params.trace || new Error(this.message)); + this.trace = this.passed_ ? '' : trace; +}; + +jasmine.ExpectationResult.prototype.toString = function () { + return this.message; +}; + +jasmine.ExpectationResult.prototype.passed = function () { + return this.passed_; +}; + +/** + * Getter for the Jasmine environment. Ensures one gets created + */ +jasmine.getEnv = function() { + var env = jasmine.currentEnv_ = jasmine.currentEnv_ || new jasmine.Env(); + return env; +}; + +/** + * @ignore + * @private + * @param value + * @returns {Boolean} + */ +jasmine.isArray_ = function(value) { + return jasmine.isA_("Array", value); +}; + +/** + * @ignore + * @private + * @param value + * @returns {Boolean} + */ +jasmine.isString_ = function(value) { + return jasmine.isA_("String", value); +}; + +/** + * @ignore + * @private + * @param value + * @returns {Boolean} + */ +jasmine.isNumber_ = function(value) { + return jasmine.isA_("Number", value); +}; + +/** + * @ignore + * @private + * @param {String} typeName + * @param value + * @returns {Boolean} + */ +jasmine.isA_ = function(typeName, value) { + return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; +}; + +/** + * Pretty printer for expecations. Takes any object and turns it into a human-readable string. + * + * @param value {Object} an object to be outputted + * @returns {String} + */ +jasmine.pp = function(value) { + var stringPrettyPrinter = new jasmine.StringPrettyPrinter(); + stringPrettyPrinter.format(value); + return stringPrettyPrinter.string; +}; + +/** + * Returns true if the object is a DOM Node. + * + * @param {Object} obj object to check + * @returns {Boolean} + */ +jasmine.isDomNode = function(obj) { + return obj.nodeType > 0; +}; + +/** + * Returns a matchable 'generic' object of the class type. For use in expecations of type when values don't matter. + * + * @example + * // don't care about which function is passed in, as long as it's a function + * expect(mySpy).toHaveBeenCalledWith(jasmine.any(Function)); + * + * @param {Class} clazz + * @returns matchable object of the type clazz + */ +jasmine.any = function(clazz) { + return new jasmine.Matchers.Any(clazz); +}; + +/** + * Returns a matchable subset of a JSON object. For use in expectations when you don't care about all of the + * attributes on the object. + * + * @example + * // don't care about any other attributes than foo. + * expect(mySpy).toHaveBeenCalledWith(jasmine.objectContaining({foo: "bar"}); + * + * @param sample {Object} sample + * @returns matchable object for the sample + */ +jasmine.objectContaining = function (sample) { + return new jasmine.Matchers.ObjectContaining(sample); +}; + +/** + * Jasmine Spies are test doubles that can act as stubs, spies, fakes or when used in an expecation, mocks. + * + * Spies should be created in test setup, before expectations. They can then be checked, using the standard Jasmine + * expectation syntax. Spies can be checked if they were called or not and what the calling params were. + * + * A Spy has the following fields: wasCalled, callCount, mostRecentCall, and argsForCall (see docs). + * + * Spies are torn down at the end of every spec. + * + * Note: Do not call new jasmine.Spy() directly - a spy must be created using spyOn, jasmine.createSpy or jasmine.createSpyObj. + * + * @example + * // a stub + * var myStub = jasmine.createSpy('myStub'); // can be used anywhere + * + * // spy example + * var foo = { + * not: function(bool) { return !bool; } + * } + * + * // actual foo.not will not be called, execution stops + * spyOn(foo, 'not'); + + // foo.not spied upon, execution will continue to implementation + * spyOn(foo, 'not').andCallThrough(); + * + * // fake example + * var foo = { + * not: function(bool) { return !bool; } + * } + * + * // foo.not(val) will return val + * spyOn(foo, 'not').andCallFake(function(value) {return value;}); + * + * // mock example + * foo.not(7 == 7); + * expect(foo.not).toHaveBeenCalled(); + * expect(foo.not).toHaveBeenCalledWith(true); + * + * @constructor + * @see spyOn, jasmine.createSpy, jasmine.createSpyObj + * @param {String} name + */ +jasmine.Spy = function(name) { + /** + * The name of the spy, if provided. + */ + this.identity = name || 'unknown'; + /** + * Is this Object a spy? + */ + this.isSpy = true; + /** + * The actual function this spy stubs. + */ + this.plan = function() { + }; + /** + * Tracking of the most recent call to the spy. + * @example + * var mySpy = jasmine.createSpy('foo'); + * mySpy(1, 2); + * mySpy.mostRecentCall.args = [1, 2]; + */ + this.mostRecentCall = {}; + + /** + * Holds arguments for each call to the spy, indexed by call count + * @example + * var mySpy = jasmine.createSpy('foo'); + * mySpy(1, 2); + * mySpy(7, 8); + * mySpy.mostRecentCall.args = [7, 8]; + * mySpy.argsForCall[0] = [1, 2]; + * mySpy.argsForCall[1] = [7, 8]; + */ + this.argsForCall = []; + this.calls = []; +}; + +/** + * Tells a spy to call through to the actual implemenatation. + * + * @example + * var foo = { + * bar: function() { // do some stuff } + * } + * + * // defining a spy on an existing property: foo.bar + * spyOn(foo, 'bar').andCallThrough(); + */ +jasmine.Spy.prototype.andCallThrough = function() { + this.plan = this.originalValue; + return this; +}; + +/** + * For setting the return value of a spy. + * + * @example + * // defining a spy from scratch: foo() returns 'baz' + * var foo = jasmine.createSpy('spy on foo').andReturn('baz'); + * + * // defining a spy on an existing property: foo.bar() returns 'baz' + * spyOn(foo, 'bar').andReturn('baz'); + * + * @param {Object} value + */ +jasmine.Spy.prototype.andReturn = function(value) { + this.plan = function() { + return value; + }; + return this; +}; + +/** + * For throwing an exception when a spy is called. + * + * @example + * // defining a spy from scratch: foo() throws an exception w/ message 'ouch' + * var foo = jasmine.createSpy('spy on foo').andThrow('baz'); + * + * // defining a spy on an existing property: foo.bar() throws an exception w/ message 'ouch' + * spyOn(foo, 'bar').andThrow('baz'); + * + * @param {String} exceptionMsg + */ +jasmine.Spy.prototype.andThrow = function(exceptionMsg) { + this.plan = function() { + throw exceptionMsg; + }; + return this; +}; + +/** + * Calls an alternate implementation when a spy is called. + * + * @example + * var baz = function() { + * // do some stuff, return something + * } + * // defining a spy from scratch: foo() calls the function baz + * var foo = jasmine.createSpy('spy on foo').andCall(baz); + * + * // defining a spy on an existing property: foo.bar() calls an anonymnous function + * spyOn(foo, 'bar').andCall(function() { return 'baz';} ); + * + * @param {Function} fakeFunc + */ +jasmine.Spy.prototype.andCallFake = function(fakeFunc) { + this.plan = fakeFunc; + return this; +}; + +/** + * Resets all of a spy's the tracking variables so that it can be used again. + * + * @example + * spyOn(foo, 'bar'); + * + * foo.bar(); + * + * expect(foo.bar.callCount).toEqual(1); + * + * foo.bar.reset(); + * + * expect(foo.bar.callCount).toEqual(0); + */ +jasmine.Spy.prototype.reset = function() { + this.wasCalled = false; + this.callCount = 0; + this.argsForCall = []; + this.calls = []; + this.mostRecentCall = {}; +}; + +jasmine.createSpy = function(name) { + + var spyObj = function() { + spyObj.wasCalled = true; + spyObj.callCount++; + var args = jasmine.util.argsToArray(arguments); + spyObj.mostRecentCall.object = this; + spyObj.mostRecentCall.args = args; + spyObj.argsForCall.push(args); + spyObj.calls.push({object: this, args: args}); + return spyObj.plan.apply(this, arguments); + }; + + var spy = new jasmine.Spy(name); + + for (var prop in spy) { + spyObj[prop] = spy[prop]; + } + + spyObj.reset(); + + return spyObj; +}; + +/** + * Determines whether an object is a spy. + * + * @param {jasmine.Spy|Object} putativeSpy + * @returns {Boolean} + */ +jasmine.isSpy = function(putativeSpy) { + return putativeSpy && putativeSpy.isSpy; +}; + +/** + * Creates a more complicated spy: an Object that has every property a function that is a spy. Used for stubbing something + * large in one call. + * + * @param {String} baseName name of spy class + * @param {Array} methodNames array of names of methods to make spies + */ +jasmine.createSpyObj = function(baseName, methodNames) { + if (!jasmine.isArray_(methodNames) || methodNames.length === 0) { + throw new Error('createSpyObj requires a non-empty array of method names to create spies for'); + } + var obj = {}; + for (var i = 0; i < methodNames.length; i++) { + obj[methodNames[i]] = jasmine.createSpy(baseName + '.' + methodNames[i]); + } + return obj; +}; + +/** + * All parameters are pretty-printed and concatenated together, then written to the current spec's output. + * + * Be careful not to leave calls to jasmine.log in production code. + */ +jasmine.log = function() { + var spec = jasmine.getEnv().currentSpec; + spec.log.apply(spec, arguments); +}; + +/** + * Function that installs a spy on an existing object's method name. Used within a Spec to create a spy. + * + * @example + * // spy example + * var foo = { + * not: function(bool) { return !bool; } + * } + * spyOn(foo, 'not'); // actual foo.not will not be called, execution stops + * + * @see jasmine.createSpy + * @param obj + * @param methodName + * @return {jasmine.Spy} a Jasmine spy that can be chained with all spy methods + */ +var spyOn = function(obj, methodName) { + return jasmine.getEnv().currentSpec.spyOn(obj, methodName); +}; +if (isCommonJS) exports.spyOn = spyOn; + +/** + * Creates a Jasmine spec that will be added to the current suite. + * + * // TODO: pending tests + * + * @example + * it('should be true', function() { + * expect(true).toEqual(true); + * }); + * + * @param {String} desc description of this specification + * @param {Function} func defines the preconditions and expectations of the spec + */ +var it = function(desc, func) { + return jasmine.getEnv().it(desc, func); +}; +if (isCommonJS) exports.it = it; + +/** + * Creates a disabled Jasmine spec. + * + * A convenience method that allows existing specs to be disabled temporarily during development. + * + * @param {String} desc description of this specification + * @param {Function} func defines the preconditions and expectations of the spec + */ +var xit = function(desc, func) { + return jasmine.getEnv().xit(desc, func); +}; +if (isCommonJS) exports.xit = xit; + +/** + * Starts a chain for a Jasmine expectation. + * + * It is passed an Object that is the actual value and should chain to one of the many + * jasmine.Matchers functions. + * + * @param {Object} actual Actual value to test against and expected value + * @return {jasmine.Matchers} + */ +var expect = function(actual) { + return jasmine.getEnv().currentSpec.expect(actual); +}; +if (isCommonJS) exports.expect = expect; + +/** + * Defines part of a jasmine spec. Used in cominbination with waits or waitsFor in asynchrnous specs. + * + * @param {Function} func Function that defines part of a jasmine spec. + */ +var runs = function(func) { + jasmine.getEnv().currentSpec.runs(func); +}; +if (isCommonJS) exports.runs = runs; + +/** + * Waits a fixed time period before moving to the next block. + * + * @deprecated Use waitsFor() instead + * @param {Number} timeout milliseconds to wait + */ +var waits = function(timeout) { + jasmine.getEnv().currentSpec.waits(timeout); +}; +if (isCommonJS) exports.waits = waits; + +/** + * Waits for the latchFunction to return true before proceeding to the next block. + * + * @param {Function} latchFunction + * @param {String} optional_timeoutMessage + * @param {Number} optional_timeout + */ +var waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { + jasmine.getEnv().currentSpec.waitsFor.apply(jasmine.getEnv().currentSpec, arguments); +}; +if (isCommonJS) exports.waitsFor = waitsFor; + +/** + * A function that is called before each spec in a suite. + * + * Used for spec setup, including validating assumptions. + * + * @param {Function} beforeEachFunction + */ +var beforeEach = function(beforeEachFunction) { + jasmine.getEnv().beforeEach(beforeEachFunction); +}; +if (isCommonJS) exports.beforeEach = beforeEach; + +/** + * A function that is called after each spec in a suite. + * + * Used for restoring any state that is hijacked during spec execution. + * + * @param {Function} afterEachFunction + */ +var afterEach = function(afterEachFunction) { + jasmine.getEnv().afterEach(afterEachFunction); +}; +if (isCommonJS) exports.afterEach = afterEach; + +/** + * Defines a suite of specifications. + * + * Stores the description and all defined specs in the Jasmine environment as one suite of specs. Variables declared + * are accessible by calls to beforeEach, it, and afterEach. Describe blocks can be nested, allowing for specialization + * of setup in some tests. + * + * @example + * // TODO: a simple suite + * + * // TODO: a simple suite with a nested describe block + * + * @param {String} description A string, usually the class under test. + * @param {Function} specDefinitions function that defines several specs. + */ +var describe = function(description, specDefinitions) { + return jasmine.getEnv().describe(description, specDefinitions); +}; +if (isCommonJS) exports.describe = describe; + +/** + * Disables a suite of specifications. Used to disable some suites in a file, or files, temporarily during development. + * + * @param {String} description A string, usually the class under test. + * @param {Function} specDefinitions function that defines several specs. + */ +var xdescribe = function(description, specDefinitions) { + return jasmine.getEnv().xdescribe(description, specDefinitions); +}; +if (isCommonJS) exports.xdescribe = xdescribe; + + +// Provide the XMLHttpRequest class for IE 5.x-6.x: +jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() { + function tryIt(f) { + try { + return f(); + } catch(e) { + } + return null; + } + + var xhr = tryIt(function() { + return new ActiveXObject("Msxml2.XMLHTTP.6.0"); + }) || + tryIt(function() { + return new ActiveXObject("Msxml2.XMLHTTP.3.0"); + }) || + tryIt(function() { + return new ActiveXObject("Msxml2.XMLHTTP"); + }) || + tryIt(function() { + return new ActiveXObject("Microsoft.XMLHTTP"); + }); + + if (!xhr) throw new Error("This browser does not support XMLHttpRequest."); + + return xhr; +} : XMLHttpRequest; +/** + * @namespace + */ +jasmine.util = {}; + +/** + * Declare that a child class inherit it's prototype from the parent class. + * + * @private + * @param {Function} childClass + * @param {Function} parentClass + */ +jasmine.util.inherit = function(childClass, parentClass) { + /** + * @private + */ + var subclass = function() { + }; + subclass.prototype = parentClass.prototype; + childClass.prototype = new subclass(); +}; + +jasmine.util.formatException = function(e) { + var lineNumber; + if (e.line) { + lineNumber = e.line; + } + else if (e.lineNumber) { + lineNumber = e.lineNumber; + } + + var file; + + if (e.sourceURL) { + file = e.sourceURL; + } + else if (e.fileName) { + file = e.fileName; + } + + var message = (e.name && e.message) ? (e.name + ': ' + e.message) : e.toString(); + + if (file && lineNumber) { + message += ' in ' + file + ' (line ' + lineNumber + ')'; + } + + return message; +}; + +jasmine.util.htmlEscape = function(str) { + if (!str) return str; + return str.replace(/&/g, '&') + .replace(//g, '>'); +}; + +jasmine.util.argsToArray = function(args) { + var arrayOfArgs = []; + for (var i = 0; i < args.length; i++) arrayOfArgs.push(args[i]); + return arrayOfArgs; +}; + +jasmine.util.extend = function(destination, source) { + for (var property in source) destination[property] = source[property]; + return destination; +}; + +/** + * Environment for Jasmine + * + * @constructor + */ +jasmine.Env = function() { + this.currentSpec = null; + this.currentSuite = null; + this.currentRunner_ = new jasmine.Runner(this); + + this.reporter = new jasmine.MultiReporter(); + + this.updateInterval = jasmine.DEFAULT_UPDATE_INTERVAL; + this.defaultTimeoutInterval = jasmine.DEFAULT_TIMEOUT_INTERVAL; + this.lastUpdate = 0; + this.specFilter = function() { + return true; + }; + + this.nextSpecId_ = 0; + this.nextSuiteId_ = 0; + this.equalityTesters_ = []; + + // wrap matchers + this.matchersClass = function() { + jasmine.Matchers.apply(this, arguments); + }; + jasmine.util.inherit(this.matchersClass, jasmine.Matchers); + + jasmine.Matchers.wrapInto_(jasmine.Matchers.prototype, this.matchersClass); +}; + + +jasmine.Env.prototype.setTimeout = jasmine.setTimeout; +jasmine.Env.prototype.clearTimeout = jasmine.clearTimeout; +jasmine.Env.prototype.setInterval = jasmine.setInterval; +jasmine.Env.prototype.clearInterval = jasmine.clearInterval; + +/** + * @returns an object containing jasmine version build info, if set. + */ +jasmine.Env.prototype.version = function () { + if (jasmine.version_) { + return jasmine.version_; + } else { + throw new Error('Version not set'); + } +}; + +/** + * @returns string containing jasmine version build info, if set. + */ +jasmine.Env.prototype.versionString = function() { + if (!jasmine.version_) { + return "version unknown"; + } + + var version = this.version(); + var versionString = version.major + "." + version.minor + "." + version.build; + if (version.release_candidate) { + versionString += ".rc" + version.release_candidate; + } + versionString += " revision " + version.revision; + return versionString; +}; + +/** + * @returns a sequential integer starting at 0 + */ +jasmine.Env.prototype.nextSpecId = function () { + return this.nextSpecId_++; +}; + +/** + * @returns a sequential integer starting at 0 + */ +jasmine.Env.prototype.nextSuiteId = function () { + return this.nextSuiteId_++; +}; + +/** + * Register a reporter to receive status updates from Jasmine. + * @param {jasmine.Reporter} reporter An object which will receive status updates. + */ +jasmine.Env.prototype.addReporter = function(reporter) { + this.reporter.addReporter(reporter); +}; + +jasmine.Env.prototype.execute = function() { + this.currentRunner_.execute(); +}; + +jasmine.Env.prototype.describe = function(description, specDefinitions) { + var suite = new jasmine.Suite(this, description, specDefinitions, this.currentSuite); + + var parentSuite = this.currentSuite; + if (parentSuite) { + parentSuite.add(suite); + } else { + this.currentRunner_.add(suite); + } + + this.currentSuite = suite; + + var declarationError = null; + try { + specDefinitions.call(suite); + } catch(e) { + declarationError = e; + } + + if (declarationError) { + this.it("encountered a declaration exception", function() { + throw declarationError; + }); + } + + this.currentSuite = parentSuite; + + return suite; +}; + +jasmine.Env.prototype.beforeEach = function(beforeEachFunction) { + if (this.currentSuite) { + this.currentSuite.beforeEach(beforeEachFunction); + } else { + this.currentRunner_.beforeEach(beforeEachFunction); + } +}; + +jasmine.Env.prototype.currentRunner = function () { + return this.currentRunner_; +}; + +jasmine.Env.prototype.afterEach = function(afterEachFunction) { + if (this.currentSuite) { + this.currentSuite.afterEach(afterEachFunction); + } else { + this.currentRunner_.afterEach(afterEachFunction); + } + +}; + +jasmine.Env.prototype.xdescribe = function(desc, specDefinitions) { + return { + execute: function() { + } + }; +}; + +jasmine.Env.prototype.it = function(description, func) { + var spec = new jasmine.Spec(this, this.currentSuite, description); + this.currentSuite.add(spec); + this.currentSpec = spec; + + if (func) { + spec.runs(func); + } + + return spec; +}; + +jasmine.Env.prototype.xit = function(desc, func) { + return { + id: this.nextSpecId(), + runs: function() { + } + }; +}; + +jasmine.Env.prototype.compareRegExps_ = function(a, b, mismatchKeys, mismatchValues) { + if (a.source != b.source) + mismatchValues.push("expected pattern /" + b.source + "/ is not equal to the pattern /" + a.source + "/"); + + if (a.ignoreCase != b.ignoreCase) + mismatchValues.push("expected modifier i was" + (b.ignoreCase ? " " : " not ") + "set and does not equal the origin modifier"); + + if (a.global != b.global) + mismatchValues.push("expected modifier g was" + (b.global ? " " : " not ") + "set and does not equal the origin modifier"); + + if (a.multiline != b.multiline) + mismatchValues.push("expected modifier m was" + (b.multiline ? " " : " not ") + "set and does not equal the origin modifier"); + + if (a.sticky != b.sticky) + mismatchValues.push("expected modifier y was" + (b.sticky ? " " : " not ") + "set and does not equal the origin modifier"); + + return (mismatchValues.length === 0); +}; + +jasmine.Env.prototype.compareObjects_ = function(a, b, mismatchKeys, mismatchValues) { + if (a.__Jasmine_been_here_before__ === b && b.__Jasmine_been_here_before__ === a) { + return true; + } + + a.__Jasmine_been_here_before__ = b; + b.__Jasmine_been_here_before__ = a; + + var hasKey = function(obj, keyName) { + return obj !== null && obj[keyName] !== jasmine.undefined; + }; + + for (var property in b) { + if (!hasKey(a, property) && hasKey(b, property)) { + mismatchKeys.push("expected has key '" + property + "', but missing from actual."); + } + } + for (property in a) { + if (!hasKey(b, property) && hasKey(a, property)) { + mismatchKeys.push("expected missing key '" + property + "', but present in actual."); + } + } + for (property in b) { + if (property == '__Jasmine_been_here_before__') continue; + if (!this.equals_(a[property], b[property], mismatchKeys, mismatchValues)) { + mismatchValues.push("'" + property + "' was '" + (b[property] ? jasmine.util.htmlEscape(b[property].toString()) : b[property]) + "' in expected, but was '" + (a[property] ? jasmine.util.htmlEscape(a[property].toString()) : a[property]) + "' in actual."); + } + } + + if (jasmine.isArray_(a) && jasmine.isArray_(b) && a.length != b.length) { + mismatchValues.push("arrays were not the same length"); + } + + delete a.__Jasmine_been_here_before__; + delete b.__Jasmine_been_here_before__; + return (mismatchKeys.length === 0 && mismatchValues.length === 0); +}; + +jasmine.Env.prototype.equals_ = function(a, b, mismatchKeys, mismatchValues) { + mismatchKeys = mismatchKeys || []; + mismatchValues = mismatchValues || []; + + for (var i = 0; i < this.equalityTesters_.length; i++) { + var equalityTester = this.equalityTesters_[i]; + var result = equalityTester(a, b, this, mismatchKeys, mismatchValues); + if (result !== jasmine.undefined) return result; + } + + if (a === b) return true; + + if (a === jasmine.undefined || a === null || b === jasmine.undefined || b === null) { + return (a == jasmine.undefined && b == jasmine.undefined); + } + + if (jasmine.isDomNode(a) && jasmine.isDomNode(b)) { + return a === b; + } + + if (a instanceof Date && b instanceof Date) { + return a.getTime() == b.getTime(); + } + + if (a.jasmineMatches) { + return a.jasmineMatches(b); + } + + if (b.jasmineMatches) { + return b.jasmineMatches(a); + } + + if (a instanceof jasmine.Matchers.ObjectContaining) { + return a.matches(b); + } + + if (b instanceof jasmine.Matchers.ObjectContaining) { + return b.matches(a); + } + + if (jasmine.isString_(a) && jasmine.isString_(b)) { + return (a == b); + } + + if (jasmine.isNumber_(a) && jasmine.isNumber_(b)) { + return (a == b); + } + + if (a instanceof RegExp && b instanceof RegExp) { + return this.compareRegExps_(a, b, mismatchKeys, mismatchValues); + } + + if (typeof a === "object" && typeof b === "object") { + return this.compareObjects_(a, b, mismatchKeys, mismatchValues); + } + + //Straight check + return (a === b); +}; + +jasmine.Env.prototype.contains_ = function(haystack, needle) { + if (jasmine.isArray_(haystack)) { + for (var i = 0; i < haystack.length; i++) { + if (this.equals_(haystack[i], needle)) return true; + } + return false; + } + return haystack.indexOf(needle) >= 0; +}; + +jasmine.Env.prototype.addEqualityTester = function(equalityTester) { + this.equalityTesters_.push(equalityTester); +}; +/** No-op base class for Jasmine reporters. + * + * @constructor + */ +jasmine.Reporter = function() { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportRunnerStarting = function(runner) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportRunnerResults = function(runner) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportSuiteResults = function(suite) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportSpecStarting = function(spec) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.reportSpecResults = function(spec) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.Reporter.prototype.log = function(str) { +}; + +/** + * Blocks are functions with executable code that make up a spec. + * + * @constructor + * @param {jasmine.Env} env + * @param {Function} func + * @param {jasmine.Spec} spec + */ +jasmine.Block = function(env, func, spec) { + this.env = env; + this.func = func; + this.spec = spec; +}; + +jasmine.Block.prototype.execute = function(onComplete) { + if (!jasmine.CATCH_EXCEPTIONS) { + this.func.apply(this.spec); + } + else { + try { + this.func.apply(this.spec); + } catch (e) { + this.spec.fail(e); + } + } + onComplete(); +}; +/** JavaScript API reporter. + * + * @constructor + */ +jasmine.JsApiReporter = function() { + this.started = false; + this.finished = false; + this.suites_ = []; + this.results_ = {}; +}; + +jasmine.JsApiReporter.prototype.reportRunnerStarting = function(runner) { + this.started = true; + var suites = runner.topLevelSuites(); + for (var i = 0; i < suites.length; i++) { + var suite = suites[i]; + this.suites_.push(this.summarize_(suite)); + } +}; + +jasmine.JsApiReporter.prototype.suites = function() { + return this.suites_; +}; + +jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) { + var isSuite = suiteOrSpec instanceof jasmine.Suite; + var summary = { + id: suiteOrSpec.id, + name: suiteOrSpec.description, + type: isSuite ? 'suite' : 'spec', + children: [] + }; + + if (isSuite) { + var children = suiteOrSpec.children(); + for (var i = 0; i < children.length; i++) { + summary.children.push(this.summarize_(children[i])); + } + } + return summary; +}; + +jasmine.JsApiReporter.prototype.results = function() { + return this.results_; +}; + +jasmine.JsApiReporter.prototype.resultsForSpec = function(specId) { + return this.results_[specId]; +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.reportRunnerResults = function(runner) { + this.finished = true; +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.reportSuiteResults = function(suite) { +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.reportSpecResults = function(spec) { + this.results_[spec.id] = { + messages: spec.results().getItems(), + result: spec.results().failedCount > 0 ? "failed" : "passed" + }; +}; + +//noinspection JSUnusedLocalSymbols +jasmine.JsApiReporter.prototype.log = function(str) { +}; + +jasmine.JsApiReporter.prototype.resultsForSpecs = function(specIds){ + var results = {}; + for (var i = 0; i < specIds.length; i++) { + var specId = specIds[i]; + results[specId] = this.summarizeResult_(this.results_[specId]); + } + return results; +}; + +jasmine.JsApiReporter.prototype.summarizeResult_ = function(result){ + var summaryMessages = []; + var messagesLength = result.messages.length; + for (var messageIndex = 0; messageIndex < messagesLength; messageIndex++) { + var resultMessage = result.messages[messageIndex]; + summaryMessages.push({ + text: resultMessage.type == 'log' ? resultMessage.toString() : jasmine.undefined, + passed: resultMessage.passed ? resultMessage.passed() : true, + type: resultMessage.type, + message: resultMessage.message, + trace: { + stack: resultMessage.passed && !resultMessage.passed() ? resultMessage.trace.stack : jasmine.undefined + } + }); + } + + return { + result : result.result, + messages : summaryMessages + }; +}; + +/** + * @constructor + * @param {jasmine.Env} env + * @param actual + * @param {jasmine.Spec} spec + */ +jasmine.Matchers = function(env, actual, spec, opt_isNot) { + this.env = env; + this.actual = actual; + this.spec = spec; + this.isNot = opt_isNot || false; + this.reportWasCalled_ = false; +}; + +// todo: @deprecated as of Jasmine 0.11, remove soon [xw] +jasmine.Matchers.pp = function(str) { + throw new Error("jasmine.Matchers.pp() is no longer supported, please use jasmine.pp() instead!"); +}; + +// todo: @deprecated Deprecated as of Jasmine 0.10. Rewrite your custom matchers to return true or false. [xw] +jasmine.Matchers.prototype.report = function(result, failing_message, details) { + throw new Error("As of jasmine 0.11, custom matchers must be implemented differently -- please see jasmine docs"); +}; + +jasmine.Matchers.wrapInto_ = function(prototype, matchersClass) { + for (var methodName in prototype) { + if (methodName == 'report') continue; + var orig = prototype[methodName]; + matchersClass.prototype[methodName] = jasmine.Matchers.matcherFn_(methodName, orig); + } +}; + +jasmine.Matchers.matcherFn_ = function(matcherName, matcherFunction) { + return function() { + var matcherArgs = jasmine.util.argsToArray(arguments); + var result = matcherFunction.apply(this, arguments); + + if (this.isNot) { + result = !result; + } + + if (this.reportWasCalled_) return result; + + var message; + if (!result) { + if (this.message) { + message = this.message.apply(this, arguments); + if (jasmine.isArray_(message)) { + message = message[this.isNot ? 1 : 0]; + } + } else { + var englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); + message = "Expected " + jasmine.pp(this.actual) + (this.isNot ? " not " : " ") + englishyPredicate; + if (matcherArgs.length > 0) { + for (var i = 0; i < matcherArgs.length; i++) { + if (i > 0) message += ","; + message += " " + jasmine.pp(matcherArgs[i]); + } + } + message += "."; + } + } + var expectationResult = new jasmine.ExpectationResult({ + matcherName: matcherName, + passed: result, + expected: matcherArgs.length > 1 ? matcherArgs : matcherArgs[0], + actual: this.actual, + message: message + }); + this.spec.addMatcherResult(expectationResult); + return jasmine.undefined; + }; +}; + + + + +/** + * toBe: compares the actual to the expected using === + * @param expected + */ +jasmine.Matchers.prototype.toBe = function(expected) { + return this.actual === expected; +}; + +/** + * toNotBe: compares the actual to the expected using !== + * @param expected + * @deprecated as of 1.0. Use not.toBe() instead. + */ +jasmine.Matchers.prototype.toNotBe = function(expected) { + return this.actual !== expected; +}; + +/** + * toEqual: compares the actual to the expected using common sense equality. Handles Objects, Arrays, etc. + * + * @param expected + */ +jasmine.Matchers.prototype.toEqual = function(expected) { + return this.env.equals_(this.actual, expected); +}; + +/** + * toNotEqual: compares the actual to the expected using the ! of jasmine.Matchers.toEqual + * @param expected + * @deprecated as of 1.0. Use not.toEqual() instead. + */ +jasmine.Matchers.prototype.toNotEqual = function(expected) { + return !this.env.equals_(this.actual, expected); +}; + +/** + * Matcher that compares the actual to the expected using a regular expression. Constructs a RegExp, so takes + * a pattern or a String. + * + * @param expected + */ +jasmine.Matchers.prototype.toMatch = function(expected) { + return new RegExp(expected).test(this.actual); +}; + +/** + * Matcher that compares the actual to the expected using the boolean inverse of jasmine.Matchers.toMatch + * @param expected + * @deprecated as of 1.0. Use not.toMatch() instead. + */ +jasmine.Matchers.prototype.toNotMatch = function(expected) { + return !(new RegExp(expected).test(this.actual)); +}; + +/** + * Matcher that compares the actual to jasmine.undefined. + */ +jasmine.Matchers.prototype.toBeDefined = function() { + return (this.actual !== jasmine.undefined); +}; + +/** + * Matcher that compares the actual to jasmine.undefined. + */ +jasmine.Matchers.prototype.toBeUndefined = function() { + return (this.actual === jasmine.undefined); +}; + +/** + * Matcher that compares the actual to null. + */ +jasmine.Matchers.prototype.toBeNull = function() { + return (this.actual === null); +}; + +/** + * Matcher that compares the actual to NaN. + */ +jasmine.Matchers.prototype.toBeNaN = function() { + this.message = function() { + return [ "Expected " + jasmine.pp(this.actual) + " to be NaN." ]; + }; + + return (this.actual !== this.actual); +}; + +/** + * Matcher that boolean not-nots the actual. + */ +jasmine.Matchers.prototype.toBeTruthy = function() { + return !!this.actual; +}; + + +/** + * Matcher that boolean nots the actual. + */ +jasmine.Matchers.prototype.toBeFalsy = function() { + return !this.actual; +}; + + +/** + * Matcher that checks to see if the actual, a Jasmine spy, was called. + */ +jasmine.Matchers.prototype.toHaveBeenCalled = function() { + if (arguments.length > 0) { + throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); + } + + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + + this.message = function() { + return [ + "Expected spy " + this.actual.identity + " to have been called.", + "Expected spy " + this.actual.identity + " not to have been called." + ]; + }; + + return this.actual.wasCalled; +}; + +/** @deprecated Use expect(xxx).toHaveBeenCalled() instead */ +jasmine.Matchers.prototype.wasCalled = jasmine.Matchers.prototype.toHaveBeenCalled; + +/** + * Matcher that checks to see if the actual, a Jasmine spy, was not called. + * + * @deprecated Use expect(xxx).not.toHaveBeenCalled() instead + */ +jasmine.Matchers.prototype.wasNotCalled = function() { + if (arguments.length > 0) { + throw new Error('wasNotCalled does not take arguments'); + } + + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + + this.message = function() { + return [ + "Expected spy " + this.actual.identity + " to not have been called.", + "Expected spy " + this.actual.identity + " to have been called." + ]; + }; + + return !this.actual.wasCalled; +}; + +/** + * Matcher that checks to see if the actual, a Jasmine spy, was called with a set of parameters. + * + * @example + * + */ +jasmine.Matchers.prototype.toHaveBeenCalledWith = function() { + var expectedArgs = jasmine.util.argsToArray(arguments); + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + this.message = function() { + var invertedMessage = "Expected spy " + this.actual.identity + " not to have been called with " + jasmine.pp(expectedArgs) + " but it was."; + var positiveMessage = ""; + if (this.actual.callCount === 0) { + positiveMessage = "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but it was never called."; + } else { + positiveMessage = "Expected spy " + this.actual.identity + " to have been called with " + jasmine.pp(expectedArgs) + " but actual calls were " + jasmine.pp(this.actual.argsForCall).replace(/^\[ | \]$/g, '') + } + return [positiveMessage, invertedMessage]; + }; + + return this.env.contains_(this.actual.argsForCall, expectedArgs); +}; + +/** @deprecated Use expect(xxx).toHaveBeenCalledWith() instead */ +jasmine.Matchers.prototype.wasCalledWith = jasmine.Matchers.prototype.toHaveBeenCalledWith; + +/** @deprecated Use expect(xxx).not.toHaveBeenCalledWith() instead */ +jasmine.Matchers.prototype.wasNotCalledWith = function() { + var expectedArgs = jasmine.util.argsToArray(arguments); + if (!jasmine.isSpy(this.actual)) { + throw new Error('Expected a spy, but got ' + jasmine.pp(this.actual) + '.'); + } + + this.message = function() { + return [ + "Expected spy not to have been called with " + jasmine.pp(expectedArgs) + " but it was", + "Expected spy to have been called with " + jasmine.pp(expectedArgs) + " but it was" + ]; + }; + + return !this.env.contains_(this.actual.argsForCall, expectedArgs); +}; + +/** + * Matcher that checks that the expected item is an element in the actual Array. + * + * @param {Object} expected + */ +jasmine.Matchers.prototype.toContain = function(expected) { + return this.env.contains_(this.actual, expected); +}; + +/** + * Matcher that checks that the expected item is NOT an element in the actual Array. + * + * @param {Object} expected + * @deprecated as of 1.0. Use not.toContain() instead. + */ +jasmine.Matchers.prototype.toNotContain = function(expected) { + return !this.env.contains_(this.actual, expected); +}; + +jasmine.Matchers.prototype.toBeLessThan = function(expected) { + return this.actual < expected; +}; + +jasmine.Matchers.prototype.toBeGreaterThan = function(expected) { + return this.actual > expected; +}; + +/** + * Matcher that checks that the expected item is equal to the actual item + * up to a given level of decimal precision (default 2). + * + * @param {Number} expected + * @param {Number} precision, as number of decimal places + */ +jasmine.Matchers.prototype.toBeCloseTo = function(expected, precision) { + if (!(precision === 0)) { + precision = precision || 2; + } + return Math.abs(expected - this.actual) < (Math.pow(10, -precision) / 2); +}; + +/** + * Matcher that checks that the expected exception was thrown by the actual. + * + * @param {String} [expected] + */ +jasmine.Matchers.prototype.toThrow = function(expected) { + var result = false; + var exception; + if (typeof this.actual != 'function') { + throw new Error('Actual is not a function'); + } + try { + this.actual(); + } catch (e) { + exception = e; + } + if (exception) { + result = (expected === jasmine.undefined || this.env.equals_(exception.message || exception, expected.message || expected)); + } + + var not = this.isNot ? "not " : ""; + + this.message = function() { + if (exception && (expected === jasmine.undefined || !this.env.equals_(exception.message || exception, expected.message || expected))) { + return ["Expected function " + not + "to throw", expected ? expected.message || expected : "an exception", ", but it threw", exception.message || exception].join(' '); + } else { + return "Expected function to throw an exception."; + } + }; + + return result; +}; + +jasmine.Matchers.Any = function(expectedClass) { + this.expectedClass = expectedClass; +}; + +jasmine.Matchers.Any.prototype.jasmineMatches = function(other) { + if (this.expectedClass == String) { + return typeof other == 'string' || other instanceof String; + } + + if (this.expectedClass == Number) { + return typeof other == 'number' || other instanceof Number; + } + + if (this.expectedClass == Function) { + return typeof other == 'function' || other instanceof Function; + } + + if (this.expectedClass == Object) { + return typeof other == 'object'; + } + + return other instanceof this.expectedClass; +}; + +jasmine.Matchers.Any.prototype.jasmineToString = function() { + return ''; +}; + +jasmine.Matchers.ObjectContaining = function (sample) { + this.sample = sample; +}; + +jasmine.Matchers.ObjectContaining.prototype.jasmineMatches = function(other, mismatchKeys, mismatchValues) { + mismatchKeys = mismatchKeys || []; + mismatchValues = mismatchValues || []; + + var env = jasmine.getEnv(); + + var hasKey = function(obj, keyName) { + return obj != null && obj[keyName] !== jasmine.undefined; + }; + + for (var property in this.sample) { + if (!hasKey(other, property) && hasKey(this.sample, property)) { + mismatchKeys.push("expected has key '" + property + "', but missing from actual."); + } + else if (!env.equals_(this.sample[property], other[property], mismatchKeys, mismatchValues)) { + mismatchValues.push("'" + property + "' was '" + (other[property] ? jasmine.util.htmlEscape(other[property].toString()) : other[property]) + "' in expected, but was '" + (this.sample[property] ? jasmine.util.htmlEscape(this.sample[property].toString()) : this.sample[property]) + "' in actual."); + } + } + + return (mismatchKeys.length === 0 && mismatchValues.length === 0); +}; + +jasmine.Matchers.ObjectContaining.prototype.jasmineToString = function () { + return ""; +}; +// Mock setTimeout, clearTimeout +// Contributed by Pivotal Computer Systems, www.pivotalsf.com + +jasmine.FakeTimer = function() { + this.reset(); + + var self = this; + self.setTimeout = function(funcToCall, millis) { + self.timeoutsMade++; + self.scheduleFunction(self.timeoutsMade, funcToCall, millis, false); + return self.timeoutsMade; + }; + + self.setInterval = function(funcToCall, millis) { + self.timeoutsMade++; + self.scheduleFunction(self.timeoutsMade, funcToCall, millis, true); + return self.timeoutsMade; + }; + + self.clearTimeout = function(timeoutKey) { + self.scheduledFunctions[timeoutKey] = jasmine.undefined; + }; + + self.clearInterval = function(timeoutKey) { + self.scheduledFunctions[timeoutKey] = jasmine.undefined; + }; + +}; + +jasmine.FakeTimer.prototype.reset = function() { + this.timeoutsMade = 0; + this.scheduledFunctions = {}; + this.nowMillis = 0; +}; + +jasmine.FakeTimer.prototype.tick = function(millis) { + var oldMillis = this.nowMillis; + var newMillis = oldMillis + millis; + this.runFunctionsWithinRange(oldMillis, newMillis); + this.nowMillis = newMillis; +}; + +jasmine.FakeTimer.prototype.runFunctionsWithinRange = function(oldMillis, nowMillis) { + var scheduledFunc; + var funcsToRun = []; + for (var timeoutKey in this.scheduledFunctions) { + scheduledFunc = this.scheduledFunctions[timeoutKey]; + if (scheduledFunc != jasmine.undefined && + scheduledFunc.runAtMillis >= oldMillis && + scheduledFunc.runAtMillis <= nowMillis) { + funcsToRun.push(scheduledFunc); + this.scheduledFunctions[timeoutKey] = jasmine.undefined; + } + } + + if (funcsToRun.length > 0) { + funcsToRun.sort(function(a, b) { + return a.runAtMillis - b.runAtMillis; + }); + for (var i = 0; i < funcsToRun.length; ++i) { + try { + var funcToRun = funcsToRun[i]; + this.nowMillis = funcToRun.runAtMillis; + funcToRun.funcToCall(); + if (funcToRun.recurring) { + this.scheduleFunction(funcToRun.timeoutKey, + funcToRun.funcToCall, + funcToRun.millis, + true); + } + } catch(e) { + } + } + this.runFunctionsWithinRange(oldMillis, nowMillis); + } +}; + +jasmine.FakeTimer.prototype.scheduleFunction = function(timeoutKey, funcToCall, millis, recurring) { + this.scheduledFunctions[timeoutKey] = { + runAtMillis: this.nowMillis + millis, + funcToCall: funcToCall, + recurring: recurring, + timeoutKey: timeoutKey, + millis: millis + }; +}; + +/** + * @namespace + */ +jasmine.Clock = { + defaultFakeTimer: new jasmine.FakeTimer(), + + reset: function() { + jasmine.Clock.assertInstalled(); + jasmine.Clock.defaultFakeTimer.reset(); + }, + + tick: function(millis) { + jasmine.Clock.assertInstalled(); + jasmine.Clock.defaultFakeTimer.tick(millis); + }, + + runFunctionsWithinRange: function(oldMillis, nowMillis) { + jasmine.Clock.defaultFakeTimer.runFunctionsWithinRange(oldMillis, nowMillis); + }, + + scheduleFunction: function(timeoutKey, funcToCall, millis, recurring) { + jasmine.Clock.defaultFakeTimer.scheduleFunction(timeoutKey, funcToCall, millis, recurring); + }, + + useMock: function() { + if (!jasmine.Clock.isInstalled()) { + var spec = jasmine.getEnv().currentSpec; + spec.after(jasmine.Clock.uninstallMock); + + jasmine.Clock.installMock(); + } + }, + + installMock: function() { + jasmine.Clock.installed = jasmine.Clock.defaultFakeTimer; + }, + + uninstallMock: function() { + jasmine.Clock.assertInstalled(); + jasmine.Clock.installed = jasmine.Clock.real; + }, + + real: { + setTimeout: jasmine.getGlobal().setTimeout, + clearTimeout: jasmine.getGlobal().clearTimeout, + setInterval: jasmine.getGlobal().setInterval, + clearInterval: jasmine.getGlobal().clearInterval + }, + + assertInstalled: function() { + if (!jasmine.Clock.isInstalled()) { + throw new Error("Mock clock is not installed, use jasmine.Clock.useMock()"); + } + }, + + isInstalled: function() { + return jasmine.Clock.installed == jasmine.Clock.defaultFakeTimer; + }, + + installed: null +}; +jasmine.Clock.installed = jasmine.Clock.real; + +//else for IE support +jasmine.getGlobal().setTimeout = function(funcToCall, millis) { + if (jasmine.Clock.installed.setTimeout.apply) { + return jasmine.Clock.installed.setTimeout.apply(this, arguments); + } else { + return jasmine.Clock.installed.setTimeout(funcToCall, millis); + } +}; + +jasmine.getGlobal().setInterval = function(funcToCall, millis) { + if (jasmine.Clock.installed.setInterval.apply) { + return jasmine.Clock.installed.setInterval.apply(this, arguments); + } else { + return jasmine.Clock.installed.setInterval(funcToCall, millis); + } +}; + +jasmine.getGlobal().clearTimeout = function(timeoutKey) { + if (jasmine.Clock.installed.clearTimeout.apply) { + return jasmine.Clock.installed.clearTimeout.apply(this, arguments); + } else { + return jasmine.Clock.installed.clearTimeout(timeoutKey); + } +}; + +jasmine.getGlobal().clearInterval = function(timeoutKey) { + if (jasmine.Clock.installed.clearTimeout.apply) { + return jasmine.Clock.installed.clearInterval.apply(this, arguments); + } else { + return jasmine.Clock.installed.clearInterval(timeoutKey); + } +}; + +/** + * @constructor + */ +jasmine.MultiReporter = function() { + this.subReporters_ = []; +}; +jasmine.util.inherit(jasmine.MultiReporter, jasmine.Reporter); + +jasmine.MultiReporter.prototype.addReporter = function(reporter) { + this.subReporters_.push(reporter); +}; + +(function() { + var functionNames = [ + "reportRunnerStarting", + "reportRunnerResults", + "reportSuiteResults", + "reportSpecStarting", + "reportSpecResults", + "log" + ]; + for (var i = 0; i < functionNames.length; i++) { + var functionName = functionNames[i]; + jasmine.MultiReporter.prototype[functionName] = (function(functionName) { + return function() { + for (var j = 0; j < this.subReporters_.length; j++) { + var subReporter = this.subReporters_[j]; + if (subReporter[functionName]) { + subReporter[functionName].apply(subReporter, arguments); + } + } + }; + })(functionName); + } +})(); +/** + * Holds results for a set of Jasmine spec. Allows for the results array to hold another jasmine.NestedResults + * + * @constructor + */ +jasmine.NestedResults = function() { + /** + * The total count of results + */ + this.totalCount = 0; + /** + * Number of passed results + */ + this.passedCount = 0; + /** + * Number of failed results + */ + this.failedCount = 0; + /** + * Was this suite/spec skipped? + */ + this.skipped = false; + /** + * @ignore + */ + this.items_ = []; +}; + +/** + * Roll up the result counts. + * + * @param result + */ +jasmine.NestedResults.prototype.rollupCounts = function(result) { + this.totalCount += result.totalCount; + this.passedCount += result.passedCount; + this.failedCount += result.failedCount; +}; + +/** + * Adds a log message. + * @param values Array of message parts which will be concatenated later. + */ +jasmine.NestedResults.prototype.log = function(values) { + this.items_.push(new jasmine.MessageResult(values)); +}; + +/** + * Getter for the results: message & results. + */ +jasmine.NestedResults.prototype.getItems = function() { + return this.items_; +}; + +/** + * Adds a result, tracking counts (total, passed, & failed) + * @param {jasmine.ExpectationResult|jasmine.NestedResults} result + */ +jasmine.NestedResults.prototype.addResult = function(result) { + if (result.type != 'log') { + if (result.items_) { + this.rollupCounts(result); + } else { + this.totalCount++; + if (result.passed()) { + this.passedCount++; + } else { + this.failedCount++; + } + } + } + this.items_.push(result); +}; + +/** + * @returns {Boolean} True if everything below passed + */ +jasmine.NestedResults.prototype.passed = function() { + return this.passedCount === this.totalCount; +}; +/** + * Base class for pretty printing for expectation results. + */ +jasmine.PrettyPrinter = function() { + this.ppNestLevel_ = 0; +}; + +/** + * Formats a value in a nice, human-readable string. + * + * @param value + */ +jasmine.PrettyPrinter.prototype.format = function(value) { + this.ppNestLevel_++; + try { + if (value === jasmine.undefined) { + this.emitScalar('undefined'); + } else if (value === null) { + this.emitScalar('null'); + } else if (value === jasmine.getGlobal()) { + this.emitScalar(''); + } else if (value.jasmineToString) { + this.emitScalar(value.jasmineToString()); + } else if (typeof value === 'string') { + this.emitString(value); + } else if (jasmine.isSpy(value)) { + this.emitScalar("spy on " + value.identity); + } else if (value instanceof RegExp) { + this.emitScalar(value.toString()); + } else if (typeof value === 'function') { + this.emitScalar('Function'); + } else if (typeof value.nodeType === 'number') { + this.emitScalar('HTMLNode'); + } else if (value instanceof Date) { + this.emitScalar('Date(' + value + ')'); + } else if (value.__Jasmine_been_here_before__) { + this.emitScalar(''); + } else if (jasmine.isArray_(value) || typeof value == 'object') { + value.__Jasmine_been_here_before__ = true; + if (jasmine.isArray_(value)) { + this.emitArray(value); + } else { + this.emitObject(value); + } + delete value.__Jasmine_been_here_before__; + } else { + this.emitScalar(value.toString()); + } + } finally { + this.ppNestLevel_--; + } +}; + +jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) { + for (var property in obj) { + if (!obj.hasOwnProperty(property)) continue; + if (property == '__Jasmine_been_here_before__') continue; + fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined && + obj.__lookupGetter__(property) !== null) : false); + } +}; + +jasmine.PrettyPrinter.prototype.emitArray = jasmine.unimplementedMethod_; +jasmine.PrettyPrinter.prototype.emitObject = jasmine.unimplementedMethod_; +jasmine.PrettyPrinter.prototype.emitScalar = jasmine.unimplementedMethod_; +jasmine.PrettyPrinter.prototype.emitString = jasmine.unimplementedMethod_; + +jasmine.StringPrettyPrinter = function() { + jasmine.PrettyPrinter.call(this); + + this.string = ''; +}; +jasmine.util.inherit(jasmine.StringPrettyPrinter, jasmine.PrettyPrinter); + +jasmine.StringPrettyPrinter.prototype.emitScalar = function(value) { + this.append(value); +}; + +jasmine.StringPrettyPrinter.prototype.emitString = function(value) { + this.append("'" + value + "'"); +}; + +jasmine.StringPrettyPrinter.prototype.emitArray = function(array) { + if (this.ppNestLevel_ > jasmine.MAX_PRETTY_PRINT_DEPTH) { + this.append("Array"); + return; + } + + this.append('[ '); + for (var i = 0; i < array.length; i++) { + if (i > 0) { + this.append(', '); + } + this.format(array[i]); + } + this.append(' ]'); +}; + +jasmine.StringPrettyPrinter.prototype.emitObject = function(obj) { + if (this.ppNestLevel_ > jasmine.MAX_PRETTY_PRINT_DEPTH) { + this.append("Object"); + return; + } + + var self = this; + this.append('{ '); + var first = true; + + this.iterateObject(obj, function(property, isGetter) { + if (first) { + first = false; + } else { + self.append(', '); + } + + self.append(property); + self.append(' : '); + if (isGetter) { + self.append(''); + } else { + self.format(obj[property]); + } + }); + + this.append(' }'); +}; + +jasmine.StringPrettyPrinter.prototype.append = function(value) { + this.string += value; +}; +jasmine.Queue = function(env) { + this.env = env; + + // parallel to blocks. each true value in this array means the block will + // get executed even if we abort + this.ensured = []; + this.blocks = []; + this.running = false; + this.index = 0; + this.offset = 0; + this.abort = false; +}; + +jasmine.Queue.prototype.addBefore = function(block, ensure) { + if (ensure === jasmine.undefined) { + ensure = false; + } + + this.blocks.unshift(block); + this.ensured.unshift(ensure); +}; + +jasmine.Queue.prototype.add = function(block, ensure) { + if (ensure === jasmine.undefined) { + ensure = false; + } + + this.blocks.push(block); + this.ensured.push(ensure); +}; + +jasmine.Queue.prototype.insertNext = function(block, ensure) { + if (ensure === jasmine.undefined) { + ensure = false; + } + + this.ensured.splice((this.index + this.offset + 1), 0, ensure); + this.blocks.splice((this.index + this.offset + 1), 0, block); + this.offset++; +}; + +jasmine.Queue.prototype.start = function(onComplete) { + this.running = true; + this.onComplete = onComplete; + this.next_(); +}; + +jasmine.Queue.prototype.isRunning = function() { + return this.running; +}; + +jasmine.Queue.LOOP_DONT_RECURSE = true; + +jasmine.Queue.prototype.next_ = function() { + var self = this; + var goAgain = true; + + while (goAgain) { + goAgain = false; + + if (self.index < self.blocks.length && !(this.abort && !this.ensured[self.index])) { + var calledSynchronously = true; + var completedSynchronously = false; + + var onComplete = function () { + if (jasmine.Queue.LOOP_DONT_RECURSE && calledSynchronously) { + completedSynchronously = true; + return; + } + + if (self.blocks[self.index].abort) { + self.abort = true; + } + + self.offset = 0; + self.index++; + + var now = new Date().getTime(); + if (self.env.updateInterval && now - self.env.lastUpdate > self.env.updateInterval) { + self.env.lastUpdate = now; + self.env.setTimeout(function() { + self.next_(); + }, 0); + } else { + if (jasmine.Queue.LOOP_DONT_RECURSE && completedSynchronously) { + goAgain = true; + } else { + self.next_(); + } + } + }; + self.blocks[self.index].execute(onComplete); + + calledSynchronously = false; + if (completedSynchronously) { + onComplete(); + } + + } else { + self.running = false; + if (self.onComplete) { + self.onComplete(); + } + } + } +}; + +jasmine.Queue.prototype.results = function() { + var results = new jasmine.NestedResults(); + for (var i = 0; i < this.blocks.length; i++) { + if (this.blocks[i].results) { + results.addResult(this.blocks[i].results()); + } + } + return results; +}; + + +/** + * Runner + * + * @constructor + * @param {jasmine.Env} env + */ +jasmine.Runner = function(env) { + var self = this; + self.env = env; + self.queue = new jasmine.Queue(env); + self.before_ = []; + self.after_ = []; + self.suites_ = []; +}; + +jasmine.Runner.prototype.execute = function() { + var self = this; + if (self.env.reporter.reportRunnerStarting) { + self.env.reporter.reportRunnerStarting(this); + } + self.queue.start(function () { + self.finishCallback(); + }); +}; + +jasmine.Runner.prototype.beforeEach = function(beforeEachFunction) { + beforeEachFunction.typeName = 'beforeEach'; + this.before_.splice(0,0,beforeEachFunction); +}; + +jasmine.Runner.prototype.afterEach = function(afterEachFunction) { + afterEachFunction.typeName = 'afterEach'; + this.after_.splice(0,0,afterEachFunction); +}; + + +jasmine.Runner.prototype.finishCallback = function() { + this.env.reporter.reportRunnerResults(this); +}; + +jasmine.Runner.prototype.addSuite = function(suite) { + this.suites_.push(suite); +}; + +jasmine.Runner.prototype.add = function(block) { + if (block instanceof jasmine.Suite) { + this.addSuite(block); + } + this.queue.add(block); +}; + +jasmine.Runner.prototype.specs = function () { + var suites = this.suites(); + var specs = []; + for (var i = 0; i < suites.length; i++) { + specs = specs.concat(suites[i].specs()); + } + return specs; +}; + +jasmine.Runner.prototype.suites = function() { + return this.suites_; +}; + +jasmine.Runner.prototype.topLevelSuites = function() { + var topLevelSuites = []; + for (var i = 0; i < this.suites_.length; i++) { + if (!this.suites_[i].parentSuite) { + topLevelSuites.push(this.suites_[i]); + } + } + return topLevelSuites; +}; + +jasmine.Runner.prototype.results = function() { + return this.queue.results(); +}; +/** + * Internal representation of a Jasmine specification, or test. + * + * @constructor + * @param {jasmine.Env} env + * @param {jasmine.Suite} suite + * @param {String} description + */ +jasmine.Spec = function(env, suite, description) { + if (!env) { + throw new Error('jasmine.Env() required'); + } + if (!suite) { + throw new Error('jasmine.Suite() required'); + } + var spec = this; + spec.id = env.nextSpecId ? env.nextSpecId() : null; + spec.env = env; + spec.suite = suite; + spec.description = description; + spec.queue = new jasmine.Queue(env); + + spec.afterCallbacks = []; + spec.spies_ = []; + + spec.results_ = new jasmine.NestedResults(); + spec.results_.description = description; + spec.matchersClass = null; +}; + +jasmine.Spec.prototype.getFullName = function() { + return this.suite.getFullName() + ' ' + this.description + '.'; +}; + + +jasmine.Spec.prototype.results = function() { + return this.results_; +}; + +/** + * All parameters are pretty-printed and concatenated together, then written to the spec's output. + * + * Be careful not to leave calls to jasmine.log in production code. + */ +jasmine.Spec.prototype.log = function() { + return this.results_.log(arguments); +}; + +jasmine.Spec.prototype.runs = function (func) { + var block = new jasmine.Block(this.env, func, this); + this.addToQueue(block); + return this; +}; + +jasmine.Spec.prototype.addToQueue = function (block) { + if (this.queue.isRunning()) { + this.queue.insertNext(block); + } else { + this.queue.add(block); + } +}; + +/** + * @param {jasmine.ExpectationResult} result + */ +jasmine.Spec.prototype.addMatcherResult = function(result) { + this.results_.addResult(result); +}; + +jasmine.Spec.prototype.expect = function(actual) { + var positive = new (this.getMatchersClass_())(this.env, actual, this); + positive.not = new (this.getMatchersClass_())(this.env, actual, this, true); + return positive; +}; + +/** + * Waits a fixed time period before moving to the next block. + * + * @deprecated Use waitsFor() instead + * @param {Number} timeout milliseconds to wait + */ +jasmine.Spec.prototype.waits = function(timeout) { + var waitsFunc = new jasmine.WaitsBlock(this.env, timeout, this); + this.addToQueue(waitsFunc); + return this; +}; + +/** + * Waits for the latchFunction to return true before proceeding to the next block. + * + * @param {Function} latchFunction + * @param {String} optional_timeoutMessage + * @param {Number} optional_timeout + */ +jasmine.Spec.prototype.waitsFor = function(latchFunction, optional_timeoutMessage, optional_timeout) { + var latchFunction_ = null; + var optional_timeoutMessage_ = null; + var optional_timeout_ = null; + + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + switch (typeof arg) { + case 'function': + latchFunction_ = arg; + break; + case 'string': + optional_timeoutMessage_ = arg; + break; + case 'number': + optional_timeout_ = arg; + break; + } + } + + var waitsForFunc = new jasmine.WaitsForBlock(this.env, optional_timeout_, latchFunction_, optional_timeoutMessage_, this); + this.addToQueue(waitsForFunc); + return this; +}; + +jasmine.Spec.prototype.fail = function (e) { + var expectationResult = new jasmine.ExpectationResult({ + passed: false, + message: e ? jasmine.util.formatException(e) : 'Exception', + trace: { stack: e.stack } + }); + this.results_.addResult(expectationResult); +}; + +jasmine.Spec.prototype.getMatchersClass_ = function() { + return this.matchersClass || this.env.matchersClass; +}; + +jasmine.Spec.prototype.addMatchers = function(matchersPrototype) { + var parent = this.getMatchersClass_(); + var newMatchersClass = function() { + parent.apply(this, arguments); + }; + jasmine.util.inherit(newMatchersClass, parent); + jasmine.Matchers.wrapInto_(matchersPrototype, newMatchersClass); + this.matchersClass = newMatchersClass; +}; + +jasmine.Spec.prototype.finishCallback = function() { + this.env.reporter.reportSpecResults(this); +}; + +jasmine.Spec.prototype.finish = function(onComplete) { + this.removeAllSpies(); + this.finishCallback(); + if (onComplete) { + onComplete(); + } +}; + +jasmine.Spec.prototype.after = function(doAfter) { + if (this.queue.isRunning()) { + this.queue.add(new jasmine.Block(this.env, doAfter, this), true); + } else { + this.afterCallbacks.unshift(doAfter); + } +}; + +jasmine.Spec.prototype.execute = function(onComplete) { + var spec = this; + if (!spec.env.specFilter(spec)) { + spec.results_.skipped = true; + spec.finish(onComplete); + return; + } + + this.env.reporter.reportSpecStarting(this); + + spec.env.currentSpec = spec; + + spec.addBeforesAndAftersToQueue(); + + spec.queue.start(function () { + spec.finish(onComplete); + }); +}; + +jasmine.Spec.prototype.addBeforesAndAftersToQueue = function() { + var runner = this.env.currentRunner(); + var i; + + for (var suite = this.suite; suite; suite = suite.parentSuite) { + for (i = 0; i < suite.before_.length; i++) { + this.queue.addBefore(new jasmine.Block(this.env, suite.before_[i], this)); + } + } + for (i = 0; i < runner.before_.length; i++) { + this.queue.addBefore(new jasmine.Block(this.env, runner.before_[i], this)); + } + for (i = 0; i < this.afterCallbacks.length; i++) { + this.queue.add(new jasmine.Block(this.env, this.afterCallbacks[i], this), true); + } + for (suite = this.suite; suite; suite = suite.parentSuite) { + for (i = 0; i < suite.after_.length; i++) { + this.queue.add(new jasmine.Block(this.env, suite.after_[i], this), true); + } + } + for (i = 0; i < runner.after_.length; i++) { + this.queue.add(new jasmine.Block(this.env, runner.after_[i], this), true); + } +}; + +jasmine.Spec.prototype.explodes = function() { + throw 'explodes function should not have been called'; +}; + +jasmine.Spec.prototype.spyOn = function(obj, methodName, ignoreMethodDoesntExist) { + if (obj == jasmine.undefined) { + throw "spyOn could not find an object to spy upon for " + methodName + "()"; + } + + if (!ignoreMethodDoesntExist && obj[methodName] === jasmine.undefined) { + throw methodName + '() method does not exist'; + } + + if (!ignoreMethodDoesntExist && obj[methodName] && obj[methodName].isSpy) { + throw new Error(methodName + ' has already been spied upon'); + } + + var spyObj = jasmine.createSpy(methodName); + + this.spies_.push(spyObj); + spyObj.baseObj = obj; + spyObj.methodName = methodName; + spyObj.originalValue = obj[methodName]; + + obj[methodName] = spyObj; + + return spyObj; +}; + +jasmine.Spec.prototype.removeAllSpies = function() { + for (var i = 0; i < this.spies_.length; i++) { + var spy = this.spies_[i]; + spy.baseObj[spy.methodName] = spy.originalValue; + } + this.spies_ = []; +}; + +/** + * Internal representation of a Jasmine suite. + * + * @constructor + * @param {jasmine.Env} env + * @param {String} description + * @param {Function} specDefinitions + * @param {jasmine.Suite} parentSuite + */ +jasmine.Suite = function(env, description, specDefinitions, parentSuite) { + var self = this; + self.id = env.nextSuiteId ? env.nextSuiteId() : null; + self.description = description; + self.queue = new jasmine.Queue(env); + self.parentSuite = parentSuite; + self.env = env; + self.before_ = []; + self.after_ = []; + self.children_ = []; + self.suites_ = []; + self.specs_ = []; +}; + +jasmine.Suite.prototype.getFullName = function() { + var fullName = this.description; + for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { + fullName = parentSuite.description + ' ' + fullName; + } + return fullName; +}; + +jasmine.Suite.prototype.finish = function(onComplete) { + this.env.reporter.reportSuiteResults(this); + this.finished = true; + if (typeof(onComplete) == 'function') { + onComplete(); + } +}; + +jasmine.Suite.prototype.beforeEach = function(beforeEachFunction) { + beforeEachFunction.typeName = 'beforeEach'; + this.before_.unshift(beforeEachFunction); +}; + +jasmine.Suite.prototype.afterEach = function(afterEachFunction) { + afterEachFunction.typeName = 'afterEach'; + this.after_.unshift(afterEachFunction); +}; + +jasmine.Suite.prototype.results = function() { + return this.queue.results(); +}; + +jasmine.Suite.prototype.add = function(suiteOrSpec) { + this.children_.push(suiteOrSpec); + if (suiteOrSpec instanceof jasmine.Suite) { + this.suites_.push(suiteOrSpec); + this.env.currentRunner().addSuite(suiteOrSpec); + } else { + this.specs_.push(suiteOrSpec); + } + this.queue.add(suiteOrSpec); +}; + +jasmine.Suite.prototype.specs = function() { + return this.specs_; +}; + +jasmine.Suite.prototype.suites = function() { + return this.suites_; +}; + +jasmine.Suite.prototype.children = function() { + return this.children_; +}; + +jasmine.Suite.prototype.execute = function(onComplete) { + var self = this; + this.queue.start(function () { + self.finish(onComplete); + }); +}; +jasmine.WaitsBlock = function(env, timeout, spec) { + this.timeout = timeout; + jasmine.Block.call(this, env, null, spec); +}; + +jasmine.util.inherit(jasmine.WaitsBlock, jasmine.Block); + +jasmine.WaitsBlock.prototype.execute = function (onComplete) { + if (jasmine.VERBOSE) { + this.env.reporter.log('>> Jasmine waiting for ' + this.timeout + ' ms...'); + } + this.env.setTimeout(function () { + onComplete(); + }, this.timeout); +}; +/** + * A block which waits for some condition to become true, with timeout. + * + * @constructor + * @extends jasmine.Block + * @param {jasmine.Env} env The Jasmine environment. + * @param {Number} timeout The maximum time in milliseconds to wait for the condition to become true. + * @param {Function} latchFunction A function which returns true when the desired condition has been met. + * @param {String} message The message to display if the desired condition hasn't been met within the given time period. + * @param {jasmine.Spec} spec The Jasmine spec. + */ +jasmine.WaitsForBlock = function(env, timeout, latchFunction, message, spec) { + this.timeout = timeout || env.defaultTimeoutInterval; + this.latchFunction = latchFunction; + this.message = message; + this.totalTimeSpentWaitingForLatch = 0; + jasmine.Block.call(this, env, null, spec); +}; +jasmine.util.inherit(jasmine.WaitsForBlock, jasmine.Block); + +jasmine.WaitsForBlock.TIMEOUT_INCREMENT = 10; + +jasmine.WaitsForBlock.prototype.execute = function(onComplete) { + if (jasmine.VERBOSE) { + this.env.reporter.log('>> Jasmine waiting for ' + (this.message || 'something to happen')); + } + var latchFunctionResult; + try { + latchFunctionResult = this.latchFunction.apply(this.spec); + } catch (e) { + this.spec.fail(e); + onComplete(); + return; + } + + if (latchFunctionResult) { + onComplete(); + } else if (this.totalTimeSpentWaitingForLatch >= this.timeout) { + var message = 'timed out after ' + this.timeout + ' msec waiting for ' + (this.message || 'something to happen'); + this.spec.fail({ + name: 'timeout', + message: message + }); + + this.abort = true; + onComplete(); + } else { + this.totalTimeSpentWaitingForLatch += jasmine.WaitsForBlock.TIMEOUT_INCREMENT; + var self = this; + this.env.setTimeout(function() { + self.execute(onComplete); + }, jasmine.WaitsForBlock.TIMEOUT_INCREMENT); + } +}; + +jasmine.version_= { + "major": 1, + "minor": 3, + "build": 1, + "revision": 1354556913 +}; diff --git a/test/jasmine/spec/vizgrimoireSpec.js b/test/jasmine/spec/vizgrimoireSpec.js new file mode 100644 index 00000000..84518b57 --- /dev/null +++ b/test/jasmine/spec/vizgrimoireSpec.js @@ -0,0 +1,212 @@ +describe( "VizGrimoireJS library", function () { + beforeEach(function() { + waitsFor(function() { + return Report.check_data_loaded(); + }, "It took too long to load data", 100); + }); + + describe( "Report", function () { + it("data files should be loaded", function () { + waitsFor(function() { + return Report.check_data_loaded(); + }, "It took too long to load data", 100); + runs(function() { + expect(Report.check_data_loaded()).toBeTruthy(); + }); + }); + + var blocks = ["navigation","refcard","header","footer"]; + it(blocks.join() + " should be loaded from file", function () { + runs(function() { + $.each(blocks, function(index, value) {buildNode(value);}); + $.each(blocks, function(index, value) { + Report.getBasicDivs()[value].convert();}); + }); + waitsFor(function() { + var loaded = document.getElementsByClassName('info-pill'); + return (loaded.length > 1); + }, "It took too long to convert " + blocks.join(), 500); + runs(function() { + $.each(blocks, function(index, value) { + expect(document.getElementById(value).childNodes.length) + .toBeGreaterThan(0);}); + }); + }); + + describe( "html report should be converted", function () { + it("html envision should be displayed", function () { + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + buildNode(DS.getName()+"-envision"); + }); + Report.convertEnvision(); + var envisionCreated = document.getElementsByClassName + ('envision-visualization'); + expect(envisionCreated.length).toEqual + (Report.getDataSources().length); + }); + }); + it("html flotr2 should be displayed", function () { + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + $.each(DS.getMetrics(), function(i, metric) { + buildNode(metric.divid+"-flotr2"); + }); + }); + Report.convertFlotr2(); + $.each(Report.getDataSources(), function(index, DS) { + $.each(DS.getMetrics(), function(i, metric) { + expect(document.getElementById("flotr2_"+i) + .childNodes.length).toBeGreaterThan(0); + }); + }); + + }); + }); + it("html top should be displayed", function () { + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + buildNode(DS.getName()+"-top"); + buildNode(DS.getName()+"-top-pie"); + buildNode(DS.getName()+"-top-bars"); + }); + Report.convertTop(); + }); + // TODO: JSON files for top should be loaded. + // Change this load to global data loading + waitsFor(function() { + return (document.getElementById("its-top-bars") + .childNodes.length > 0); + }, "It took too long to load data", 100); + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + if (DS.getName() === "mls") return; + expect(document.getElementById(DS.getName()+"-top") + .childNodes.length).toBeGreaterThan(0); + expect(document.getElementById(DS.getName()+"-top-pie") + .childNodes.length).toBeGreaterThan(0); + expect(document.getElementById(DS.getName()+"-top-bars") + .childNodes.length).toBeGreaterThan(0); + }); + }); + }); + it("html bubbles should be displayed", function () { + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + buildNode(DS.getName()+"-time-bubbles","bubbles"); + }); + var ncanvas = document.getElementsByClassName + ('flotr-canvas').length; + Report.convertBubbles(); + var new_ncanvas = document.getElementsByClassName + ('flotr-canvas').length; + expect(new_ncanvas-ncanvas).toEqual + (Report.getDataSources().length); + }); + }); + it("html demographics should be displayed", function () { + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + // TODO: ITS and MLS demographics not supported yet + if (DS.getName() === "scm") + buildNode(DS.getName()+"-demographics", + "demographics"); + }); + var ncanvas = document.getElementsByClassName + ('flotr-canvas').length; + Report.convertDemographics(); + var new_ncanvas = document.getElementsByClassName + ('flotr-canvas').length; + expect(new_ncanvas-ncanvas).toEqual(1); + }); + }); + it("html selectors should be displayed", function () { + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + // TODO: SCM and ITS selectors not supported yet + if (DS.getName() === "mls") + buildNode(DS.getName()+"-selector"); + buildNode(DS.getName()+"-flotr2-lists", "mls-dyn-list"); + buildNode(DS.getName()+"-envision-lists"); + }); + Report.convertSelectors(); + }); + // TODO: Move JSON loading to global loading + waitsFor(function() { + return (document.getElementById("form_mls_selector") != null); + }, "It took too long to load data", 100); + runs(function() { + $.each(Report.getDataSources(), function(index, DS) { + if (DS.getName() === "mls") + expect(document.getElementById + ("form_"+DS.getName()+"_selector") + .childNodes.length).toBeGreaterThan(0); + }); + }); + }); + it("html radar should be displayed", function () { + runs(function() { + buildNode("radar-activity","radar"); + buildNode("radar-community","radar"); + var ncanvas = document.getElementsByClassName + ('flotr-canvas').length; + Report.convertBasicDivs(); + var new_ncanvas = document.getElementsByClassName + ('flotr-canvas').length; + expect(new_ncanvas-ncanvas).toEqual(2); + }); + }); + it("html gridster should be displayed", function () { + runs(function() { + buildNode("gridster","gridster"); + Report.getBasicDivs()["gridster"].convert(); + var grids = document.getElementsByClassName + ('gs_w').length; + expect(grids).toEqual(18); + }); + }); + it("html treemap should be displayed", function () { + runs(function() { + buildNode("treemap","treemap", + {'data-file':'data/json/treemap.json'}); + Report.getBasicDivs()["treemap"].convert(); + }); + waitsFor(function() { + return (document.getElementsByClassName("treemap-node").length>0); + }, "It took too long to load treemap data", 100); + runs(function() { + var nodes = document.getElementsByClassName + ('treemap-node').length; + expect(nodes).toEqual(252); + }); + }); + + }); + }); + describe("VizGrimoireJS loaded", function() { + it("should be present in the global namespace", function () { + expect(Report).toBeDefined(); + expect(Viz).toBeDefined(); + var data_sources = Report.getDataSources(); + $.each(data_sources, function(index, DS) { + expect(DS).toBeDefined(); + }); + }); + }); + + function buildNode (id, div_class, attr_map) { + if (document.getElementById(id)) return; + var node = document.createElement('div'); + document.body.appendChild(node); + if (div_class) + node.className = div_class; + node.id = id; + if (attr_map) + $('#'+id).attr(attr_map); + return node; + } + + function destroyNode (node) { + document.body.removeChild(node); + } +}); diff --git a/browser/vizgrimoire.css b/vizgrimoire.css similarity index 100% rename from browser/vizgrimoire.css rename to vizgrimoire.css diff --git a/browser/vizgrimoire.js b/vizgrimoire.js similarity index 100% rename from browser/vizgrimoire.js rename to vizgrimoire.js diff --git a/browser/vizgrimoire.min.js b/vizgrimoire.min.js similarity index 100% rename from browser/vizgrimoire.min.js rename to vizgrimoire.min.js