gitextract_m6halfw6/ ├── .codecov.yml ├── .coveragerc ├── .editorconfig ├── .gcloudignore ├── .gitignore ├── .hooks/ │ └── pre-commit.sh ├── .travis.yml ├── AUTHORS ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── app.yaml ├── config.example.py ├── doc/ │ ├── developing/ │ │ ├── README.md │ │ └── requirements.txt │ ├── docker/ │ │ ├── supervisord.conf │ │ └── uwsgi.ini │ ├── nginx.conf │ └── uwsgi.ini ├── main.py ├── requirements.txt ├── scoreboard/ │ ├── __init__.py │ ├── attachments/ │ │ ├── __init__.py │ │ ├── file.py │ │ ├── gcs.py │ │ └── testing.py │ ├── auth/ │ │ ├── __init__.py │ │ └── local.py │ ├── cache.py │ ├── config_defaults.py │ ├── context.py │ ├── controllers.py │ ├── csrfutil.py │ ├── errors.py │ ├── logger.py │ ├── mail.py │ ├── main.py │ ├── models.py │ ├── rest.py │ ├── tests/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── cache_test.py │ │ ├── controllers_test.py │ │ ├── csrfutil_test.py │ │ ├── data.py │ │ ├── models_test.py │ │ ├── rest_test.py │ │ ├── utils_test.py │ │ └── validators_test.py │ ├── utils.py │ ├── validators/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── nonce.py │ │ ├── per_team.py │ │ ├── regex.py │ │ └── static_pbkdf2.py │ ├── views.py │ └── wsgi.py ├── static/ │ ├── css/ │ │ └── .keep │ ├── js/ │ │ ├── Chart.Step.js │ │ ├── app.js │ │ ├── controllers/ │ │ │ ├── admin/ │ │ │ │ ├── challenges.js │ │ │ │ ├── news.js │ │ │ │ ├── page.js │ │ │ │ ├── teams.js │ │ │ │ └── tools.js │ │ │ ├── challenges.js │ │ │ ├── global.js │ │ │ ├── page.js │ │ │ ├── registration.js │ │ │ ├── scoreboard.js │ │ │ └── teams.js │ │ ├── directives.js │ │ ├── filters.js │ │ └── services/ │ │ ├── admin.js │ │ ├── challenges.js │ │ ├── global.js │ │ ├── page.js │ │ ├── session.js │ │ ├── teams.js │ │ ├── upload.js │ │ └── users.js │ ├── partials/ │ │ ├── admin/ │ │ │ ├── attachments.html │ │ │ ├── challenge.html │ │ │ ├── challenges.html │ │ │ ├── news.html │ │ │ ├── page.html │ │ │ ├── pages.html │ │ │ ├── restore.html │ │ │ ├── tags.html │ │ │ ├── teams.html │ │ │ ├── tools.html │ │ │ └── users.html │ │ ├── challenge_grid.html │ │ ├── components/ │ │ │ ├── challenge.html │ │ │ └── countdown.html │ │ ├── login.html │ │ ├── page.html │ │ ├── profile.html │ │ ├── pwreset.html │ │ ├── register.html │ │ ├── scoreboard.html │ │ └── team.html │ ├── scss/ │ │ ├── scoreboard-colors.scss │ │ ├── scoreboard-mobile.scss │ │ └── scoreboard.scss │ └── third_party/ │ ├── angular/ │ │ ├── LICENSE │ │ ├── angular-csp.css │ │ ├── angular-resource.js │ │ ├── angular-route.js │ │ ├── angular-sanitize.js │ │ └── angular.js │ ├── bootstrap/ │ │ ├── LICENSE │ │ ├── bootstrap.css │ │ └── bootstrap.js │ ├── bootstrap-theme/ │ │ └── bootstrap-theme.css │ ├── chart/ │ │ ├── Chart.Scatter.js │ │ ├── Chart.js │ │ ├── LICENSE.md │ │ └── Scatter.LICENSE.md │ ├── jquery/ │ │ ├── LICENSE.txt │ │ └── jquery.js │ ├── moment/ │ │ ├── LICENSE │ │ └── moment.js │ └── pagedown/ │ ├── LICENSE.txt │ ├── Markdown.Converter.js │ ├── Markdown.Editor.js │ └── Markdown.Sanitizer.js ├── templates/ │ ├── base.html │ ├── error.html │ ├── index.html │ └── pwreset.eml └── tests.py