From ad613e85e54b6ad4cc02b541690d119e685dea50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dom=C3=ADcio=20Martins?= Date: Sun, 4 Nov 2018 14:40:38 -0200 Subject: [PATCH 1/7] =?UTF-8?q?primeira=20carga,=20criando=20a=20aplica?= =?UTF-8?q?=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site/.env.example | 32 + site/.gitattributes | 3 + site/.gitignore | 8 + site/app/Console/Kernel.php | 40 + site/app/Exceptions/Handler.php | 65 + .../Auth/ForgotPasswordController.php | 32 + .../Http/Controllers/Auth/LoginController.php | 39 + .../Controllers/Auth/RegisterController.php | 71 + .../Auth/ResetPasswordController.php | 39 + site/app/Http/Controllers/Controller.php | 13 + site/app/Http/Kernel.php | 56 + site/app/Http/Middleware/EncryptCookies.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 26 + site/app/Http/Middleware/VerifyCsrfToken.php | 17 + site/app/Providers/AppServiceProvider.php | 28 + site/app/Providers/AuthServiceProvider.php | 30 + .../Providers/BroadcastServiceProvider.php | 26 + site/app/Providers/EventServiceProvider.php | 32 + site/app/Providers/RouteServiceProvider.php | 79 + site/app/User.php | 29 + site/artisan | 51 + site/bootstrap/app.php | 55 + site/bootstrap/autoload.php | 34 + site/bootstrap/cache/.gitignore | 2 + site/composer.json | 51 + site/composer.lock | 3540 +++++++++++++++++ site/config/app.php | 231 ++ site/config/auth.php | 102 + site/config/broadcasting.php | 58 + site/config/cache.php | 91 + site/config/compile.php | 35 + site/config/database.php | 121 + site/config/filesystems.php | 67 + site/config/mail.php | 115 + site/config/queue.php | 85 + site/config/services.php | 38 + site/config/session.php | 179 + site/config/view.php | 33 + site/database/.gitignore | 1 + site/database/factories/ModelFactory.php | 24 + .../2014_10_12_000000_create_users_table.php | 35 + ...12_100000_create_password_resets_table.php | 32 + .../2018_11_04_163758_create_cursos_table.php | 28 + site/database/seeds/DatabaseSeeder.php | 16 + site/gulpfile.js | 19 + site/package.json | 18 + site/phpunit.xml | 27 + site/public/.htaccess | 20 + site/public/css/app.css | 5 + site/public/favicon.ico | 0 site/public/index.php | 58 + site/public/js/app.js | 10 + site/public/robots.txt | 2 + site/public/web.config | 23 + site/readme.md | 40 + site/resources/assets/js/app.js | 20 + site/resources/assets/js/bootstrap.js | 45 + .../assets/js/components/Example.vue | 23 + site/resources/assets/sass/_variables.scss | 37 + site/resources/assets/sass/app.scss | 9 + site/resources/lang/en/auth.php | 19 + site/resources/lang/en/pagination.php | 19 + site/resources/lang/en/passwords.php | 22 + site/resources/lang/en/validation.php | 119 + site/resources/views/errors/503.blade.php | 47 + site/resources/views/vendor/.gitkeep | 1 + site/resources/views/welcome.blade.php | 95 + site/routes/api.php | 18 + site/routes/console.php | 18 + site/routes/web.php | 16 + site/server.php | 21 + site/storage/app/.gitignore | 3 + site/storage/app/public/.gitignore | 2 + site/storage/framework/.gitignore | 8 + site/storage/framework/cache/.gitignore | 2 + site/storage/framework/sessions/.gitignore | 2 + site/storage/framework/views/.gitignore | 2 + site/storage/logs/.gitignore | 2 + site/tests/ExampleTest.php | 19 + site/tests/TestCase.php | 25 + 80 files changed, 6522 insertions(+) create mode 100644 site/.env.example create mode 100644 site/.gitattributes create mode 100644 site/.gitignore create mode 100644 site/app/Console/Kernel.php create mode 100644 site/app/Exceptions/Handler.php create mode 100644 site/app/Http/Controllers/Auth/ForgotPasswordController.php create mode 100644 site/app/Http/Controllers/Auth/LoginController.php create mode 100644 site/app/Http/Controllers/Auth/RegisterController.php create mode 100644 site/app/Http/Controllers/Auth/ResetPasswordController.php create mode 100644 site/app/Http/Controllers/Controller.php create mode 100644 site/app/Http/Kernel.php create mode 100644 site/app/Http/Middleware/EncryptCookies.php create mode 100644 site/app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 site/app/Http/Middleware/VerifyCsrfToken.php create mode 100644 site/app/Providers/AppServiceProvider.php create mode 100644 site/app/Providers/AuthServiceProvider.php create mode 100644 site/app/Providers/BroadcastServiceProvider.php create mode 100644 site/app/Providers/EventServiceProvider.php create mode 100644 site/app/Providers/RouteServiceProvider.php create mode 100644 site/app/User.php create mode 100644 site/artisan create mode 100644 site/bootstrap/app.php create mode 100644 site/bootstrap/autoload.php create mode 100644 site/bootstrap/cache/.gitignore create mode 100644 site/composer.json create mode 100644 site/composer.lock create mode 100644 site/config/app.php create mode 100644 site/config/auth.php create mode 100644 site/config/broadcasting.php create mode 100644 site/config/cache.php create mode 100644 site/config/compile.php create mode 100644 site/config/database.php create mode 100644 site/config/filesystems.php create mode 100644 site/config/mail.php create mode 100644 site/config/queue.php create mode 100644 site/config/services.php create mode 100644 site/config/session.php create mode 100644 site/config/view.php create mode 100644 site/database/.gitignore create mode 100644 site/database/factories/ModelFactory.php create mode 100644 site/database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 site/database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100644 site/database/migrations/2018_11_04_163758_create_cursos_table.php create mode 100644 site/database/seeds/DatabaseSeeder.php create mode 100644 site/gulpfile.js create mode 100644 site/package.json create mode 100644 site/phpunit.xml create mode 100644 site/public/.htaccess create mode 100644 site/public/css/app.css create mode 100644 site/public/favicon.ico create mode 100644 site/public/index.php create mode 100644 site/public/js/app.js create mode 100644 site/public/robots.txt create mode 100644 site/public/web.config create mode 100644 site/readme.md create mode 100644 site/resources/assets/js/app.js create mode 100644 site/resources/assets/js/bootstrap.js create mode 100644 site/resources/assets/js/components/Example.vue create mode 100644 site/resources/assets/sass/_variables.scss create mode 100644 site/resources/assets/sass/app.scss create mode 100644 site/resources/lang/en/auth.php create mode 100644 site/resources/lang/en/pagination.php create mode 100644 site/resources/lang/en/passwords.php create mode 100644 site/resources/lang/en/validation.php create mode 100644 site/resources/views/errors/503.blade.php create mode 100644 site/resources/views/vendor/.gitkeep create mode 100644 site/resources/views/welcome.blade.php create mode 100644 site/routes/api.php create mode 100644 site/routes/console.php create mode 100644 site/routes/web.php create mode 100644 site/server.php create mode 100644 site/storage/app/.gitignore create mode 100644 site/storage/app/public/.gitignore create mode 100644 site/storage/framework/.gitignore create mode 100644 site/storage/framework/cache/.gitignore create mode 100644 site/storage/framework/sessions/.gitignore create mode 100644 site/storage/framework/views/.gitignore create mode 100644 site/storage/logs/.gitignore create mode 100644 site/tests/ExampleTest.php create mode 100644 site/tests/TestCase.php diff --git a/site/.env.example b/site/.env.example new file mode 100644 index 000000000..d445610bd --- /dev/null +++ b/site/.env.example @@ -0,0 +1,32 @@ +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_LOG_LEVEL=debug +APP_URL=http://localhost + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=homestead +DB_USERNAME=homestead +DB_PASSWORD=secret + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=file +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +PUSHER_APP_ID= +PUSHER_KEY= +PUSHER_SECRET= diff --git a/site/.gitattributes b/site/.gitattributes new file mode 100644 index 000000000..a8763f8ef --- /dev/null +++ b/site/.gitattributes @@ -0,0 +1,3 @@ +* text=auto +*.css linguist-vendored +*.scss linguist-vendored diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 000000000..b278165a6 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1,8 @@ +/node_modules +/public/storage +/storage/*.key +/vendor +/.idea +Homestead.json +Homestead.yaml +.env diff --git a/site/app/Console/Kernel.php b/site/app/Console/Kernel.php new file mode 100644 index 000000000..622e774b3 --- /dev/null +++ b/site/app/Console/Kernel.php @@ -0,0 +1,40 @@ +command('inspire') + // ->hourly(); + } + + /** + * Register the Closure based commands for the application. + * + * @return void + */ + protected function commands() + { + require base_path('routes/console.php'); + } +} diff --git a/site/app/Exceptions/Handler.php b/site/app/Exceptions/Handler.php new file mode 100644 index 000000000..21c9784cb --- /dev/null +++ b/site/app/Exceptions/Handler.php @@ -0,0 +1,65 @@ +expectsJson()) { + return response()->json(['error' => 'Unauthenticated.'], 401); + } + + return redirect()->guest('login'); + } +} diff --git a/site/app/Http/Controllers/Auth/ForgotPasswordController.php b/site/app/Http/Controllers/Auth/ForgotPasswordController.php new file mode 100644 index 000000000..6a247fefd --- /dev/null +++ b/site/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -0,0 +1,32 @@ +middleware('guest'); + } +} diff --git a/site/app/Http/Controllers/Auth/LoginController.php b/site/app/Http/Controllers/Auth/LoginController.php new file mode 100644 index 000000000..75949531e --- /dev/null +++ b/site/app/Http/Controllers/Auth/LoginController.php @@ -0,0 +1,39 @@ +middleware('guest', ['except' => 'logout']); + } +} diff --git a/site/app/Http/Controllers/Auth/RegisterController.php b/site/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 000000000..c5c83e5c9 --- /dev/null +++ b/site/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,71 @@ +middleware('guest'); + } + + /** + * Get a validator for an incoming registration request. + * + * @param array $data + * @return \Illuminate\Contracts\Validation\Validator + */ + protected function validator(array $data) + { + return Validator::make($data, [ + 'name' => 'required|max:255', + 'email' => 'required|email|max:255|unique:users', + 'password' => 'required|min:6|confirmed', + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return User + */ + protected function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => bcrypt($data['password']), + ]); + } +} diff --git a/site/app/Http/Controllers/Auth/ResetPasswordController.php b/site/app/Http/Controllers/Auth/ResetPasswordController.php new file mode 100644 index 000000000..cf726eecd --- /dev/null +++ b/site/app/Http/Controllers/Auth/ResetPasswordController.php @@ -0,0 +1,39 @@ +middleware('guest'); + } +} diff --git a/site/app/Http/Controllers/Controller.php b/site/app/Http/Controllers/Controller.php new file mode 100644 index 000000000..03e02a23e --- /dev/null +++ b/site/app/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + 'throttle:60,1', + 'bindings', + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + ]; +} diff --git a/site/app/Http/Middleware/EncryptCookies.php b/site/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 000000000..3aa15f8dd --- /dev/null +++ b/site/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +check()) { + return redirect('/home'); + } + + return $next($request); + } +} diff --git a/site/app/Http/Middleware/VerifyCsrfToken.php b/site/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 000000000..a2c354141 --- /dev/null +++ b/site/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ + 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/site/app/Providers/BroadcastServiceProvider.php b/site/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 000000000..1dcf8d287 --- /dev/null +++ b/site/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,26 @@ +id === (int) $userId; + }); + } +} diff --git a/site/app/Providers/EventServiceProvider.php b/site/app/Providers/EventServiceProvider.php new file mode 100644 index 000000000..a182657e6 --- /dev/null +++ b/site/app/Providers/EventServiceProvider.php @@ -0,0 +1,32 @@ + [ + 'App\Listeners\EventListener', + ], + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + parent::boot(); + + // + } +} diff --git a/site/app/Providers/RouteServiceProvider.php b/site/app/Providers/RouteServiceProvider.php new file mode 100644 index 000000000..87ffb05a9 --- /dev/null +++ b/site/app/Providers/RouteServiceProvider.php @@ -0,0 +1,79 @@ +mapApiRoutes(); + + $this->mapWebRoutes(); + + // + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + * + * @return void + */ + protected function mapWebRoutes() + { + Route::group([ + 'middleware' => 'web', + 'namespace' => $this->namespace, + ], function ($router) { + require base_path('routes/web.php'); + }); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + * + * @return void + */ + protected function mapApiRoutes() + { + Route::group([ + 'middleware' => 'api', + 'namespace' => $this->namespace, + 'prefix' => 'api', + ], function ($router) { + require base_path('routes/api.php'); + }); + } +} diff --git a/site/app/User.php b/site/app/User.php new file mode 100644 index 000000000..bfd96a6a2 --- /dev/null +++ b/site/app/User.php @@ -0,0 +1,29 @@ +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running. We will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/site/bootstrap/app.php b/site/bootstrap/app.php new file mode 100644 index 000000000..f2801adf6 --- /dev/null +++ b/site/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/site/bootstrap/autoload.php b/site/bootstrap/autoload.php new file mode 100644 index 000000000..383013796 --- /dev/null +++ b/site/bootstrap/autoload.php @@ -0,0 +1,34 @@ +=5.6.4", + "laravel/framework": "5.3.*" + }, + "require-dev": { + "fzaninotto/faker": "~1.4", + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "~5.0", + "symfony/css-selector": "3.1.*", + "symfony/dom-crawler": "3.1.*" + }, + "autoload": { + "classmap": [ + "database" + ], + "psr-4": { + "App\\": "app/" + } + }, + "autoload-dev": { + "classmap": [ + "tests/TestCase.php" + ] + }, + "scripts": { + "post-root-package-install": [ + "php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "php artisan key:generate" + ], + "post-install-cmd": [ + "Illuminate\\Foundation\\ComposerScripts::postInstall", + "php artisan optimize" + ], + "post-update-cmd": [ + "Illuminate\\Foundation\\ComposerScripts::postUpdate", + "php artisan optimize" + ] + }, + "config": { + "preferred-install": "dist", + "sort-packages": true + } +} diff --git a/site/composer.lock b/site/composer.lock new file mode 100644 index 000000000..1c83216af --- /dev/null +++ b/site/composer.lock @@ -0,0 +1,3540 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "hash": "27af06e68a7b7eef5109d68006e0d2b2", + "content-hash": "76036da3b5b55b91dbe1e1affa01bf9e", + "packages": [ + { + "name": "classpreloader/classpreloader", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/ClassPreloader/ClassPreloader.git", + "reference": "4729e438e0ada350f91148e7d4bb9809342575ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ClassPreloader/ClassPreloader/zipball/4729e438e0ada350f91148e7d4bb9809342575ff", + "reference": "4729e438e0ada350f91148e7d4bb9809342575ff", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.0|^2.0|^3.0", + "php": ">=5.5.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "psr-4": { + "ClassPreloader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", + "keywords": [ + "autoload", + "class", + "preload" + ], + "time": "2017-12-10 11:40:39" + }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a", + "reference": "265b8593498b997dc2d31e75b89f053b5cc9621a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "@stable" + }, + "type": "project", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "time": "2014-10-24 07:27:01" + }, + { + "name": "doctrine/inflector", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/90b2128806bfde671b6952ab8bea493942c1fdae", + "reference": "90b2128806bfde671b6952ab8bea493942c1fdae", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string" + ], + "time": "2015-11-06 14:35:42" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "v0.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/d5deaecff52a0d61ccb613bb3804088da0307191", + "reference": "d5deaecff52a0d61ccb613bb3804088da0307191", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "1.0", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "~4.3", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "JakubOnderka\\PhpConsoleColor\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com" + } + ], + "time": "2018-09-29 17:23:10" + }, + { + "name": "jakub-onderka/php-console-highlighter", + "version": "v0.3.2", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Highlighter.git", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Highlighter/zipball/7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "reference": "7daa75df45242c8d5b75a22c00a201e7954e4fb5", + "shasum": "" + }, + "require": { + "jakub-onderka/php-console-color": "~0.1", + "php": ">=5.3.0" + }, + "require-dev": { + "jakub-onderka/php-code-style": "~1.0", + "jakub-onderka/php-parallel-lint": "~0.5", + "jakub-onderka/php-var-dump-check": "~0.1", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~1.5" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleHighlighter": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "acci@acci.cz", + "homepage": "http://www.acci.cz/" + } + ], + "time": "2015-04-20 18:58:01" + }, + { + "name": "jeremeamia/SuperClosure", + "version": "2.4.0", + "source": { + "type": "git", + "url": "https://github.com/jeremeamia/super_closure.git", + "reference": "5707d5821b30b9a07acfb4d76949784aaa0e9ce9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/5707d5821b30b9a07acfb4d76949784aaa0e9ce9", + "reference": "5707d5821b30b9a07acfb4d76949784aaa0e9ce9", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^1.2|^2.0|^3.0|^4.0", + "php": ">=5.4", + "symfony/polyfill-php56": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "psr-4": { + "SuperClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia", + "role": "Developer" + } + ], + "description": "Serialize Closure objects, including their context and binding", + "homepage": "https://github.com/jeremeamia/super_closure", + "keywords": [ + "closure", + "function", + "lambda", + "parser", + "serializable", + "serialize", + "tokenizer" + ], + "time": "2018-03-21 22:21:57" + }, + { + "name": "laravel/framework", + "version": "v5.3.31", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "e641e75fc5b26ad0ba8c19b7e83b08cad1d03b89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/e641e75fc5b26ad0ba8c19b7e83b08cad1d03b89", + "reference": "e641e75fc5b26ad0ba8c19b7e83b08cad1d03b89", + "shasum": "" + }, + "require": { + "classpreloader/classpreloader": "~3.0", + "doctrine/inflector": "~1.0", + "ext-mbstring": "*", + "ext-openssl": "*", + "jeremeamia/superclosure": "~2.2", + "league/flysystem": "~1.0", + "monolog/monolog": "~1.11", + "mtdowling/cron-expression": "~1.0", + "nesbot/carbon": "~1.20", + "paragonie/random_compat": "~1.4|~2.0", + "php": ">=5.6.4", + "psy/psysh": "0.7.*|0.8.*", + "ramsey/uuid": "~3.0", + "swiftmailer/swiftmailer": "~5.4", + "symfony/console": "3.1.*", + "symfony/debug": "3.1.*", + "symfony/finder": "3.1.*", + "symfony/http-foundation": "3.1.*", + "symfony/http-kernel": "3.1.*", + "symfony/process": "3.1.*", + "symfony/routing": "3.1.*", + "symfony/translation": "3.1.*", + "symfony/var-dumper": "3.1.*", + "vlucas/phpdotenv": "~2.2" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/exception": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version", + "tightenco/collect": "self.version" + }, + "require-dev": { + "aws/aws-sdk-php": "~3.0", + "mockery/mockery": "~0.9.4", + "pda/pheanstalk": "~3.0", + "phpunit/phpunit": "~5.4", + "predis/predis": "~1.0", + "symfony/css-selector": "3.1.*", + "symfony/dom-crawler": "3.1.*" + }, + "suggest": { + "aws/aws-sdk-php": "Required to use the SQS queue driver and SES mail driver (~3.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (~2.4).", + "fzaninotto/faker": "Required to use the eloquent factory builder (~1.4).", + "guzzlehttp/guzzle": "Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (~1.0).", + "league/flysystem-rackspace": "Required to use the Flysystem Rackspace driver (~1.0).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (~3.0).", + "predis/predis": "Required to use the redis cache and queue drivers (~1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (~2.0).", + "symfony/css-selector": "Required to use some of the crawler integration testing tools (3.1.*).", + "symfony/dom-crawler": "Required to use most of the crawler integration testing tools (3.1.*).", + "symfony/psr-http-message-bridge": "Required to use psr7 bridging features (0.2.*)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.3-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "time": "2017-03-24 16:31:06" + }, + { + "name": "league/flysystem", + "version": "1.0.48", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "a6ded5b2f6055e2db97b4b859fdfca2b952b78aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a6ded5b2f6055e2db97b4b859fdfca2b952b78aa", + "reference": "a6ded5b2f6055e2db97b4b859fdfca2b952b78aa", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": ">=5.5.9" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/phpspec": "^3.4", + "phpunit/phpunit": "^5.7.10" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "time": "2018-10-15 13:53:10" + }, + { + "name": "monolog/monolog", + "version": "1.23.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2017-06-19 01:22:40" + }, + { + "name": "mtdowling/cron-expression", + "version": "v1.2.1", + "source": { + "type": "git", + "url": "https://github.com/mtdowling/cron-expression.git", + "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9504fa9ea681b586028adaaa0877db4aecf32bad", + "reference": "9504fa9ea681b586028adaaa0877db4aecf32bad", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "time": "2017-01-23 04:29:33" + }, + { + "name": "nesbot/carbon", + "version": "1.34.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33", + "reference": "1dbd3cb01c5645f3e7deda7aa46ef780d95fcc33", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/translation": "~2.6 || ~3.0 || ~4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2", + "phpunit/phpunit": "^4.8.35 || ^5.7" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2018-09-20 19:36:25" + }, + { + "name": "nikic/php-parser", + "version": "v3.1.5", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", + "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "time": "2018-02-28 20:30:58" + }, + { + "name": "paragonie/random_compat", + "version": "v2.0.17", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d", + "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-04 16:31:37" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10 12:19:37" + }, + { + "name": "psy/psysh", + "version": "v0.8.18", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "5357b1cffc8fb375d6a9e3c86d5c82dd38a40834" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/5357b1cffc8fb375d6a9e3c86d5c82dd38a40834", + "reference": "5357b1cffc8fb375d6a9e3c86d5c82dd38a40834", + "shasum": "" + }, + "require": { + "dnoegel/php-xdg-base-dir": "0.1", + "jakub-onderka/php-console-highlighter": "0.3.*", + "nikic/php-parser": "~1.3|~2.0|~3.0", + "php": ">=5.3.9", + "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", + "symfony/var-dumper": "~2.7|~3.0|~4.0" + }, + "require-dev": { + "hoa/console": "~3.16|~1.14", + "phpunit/phpunit": "^4.8.35|^5.4.3", + "symfony/finder": "~2.1|~3.0|~4.0" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "0.8.x-dev" + } + }, + "autoload": { + "files": [ + "src/Psy/functions.php" + ], + "psr-4": { + "Psy\\": "src/Psy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "time": "2018-04-02 05:41:44" + }, + { + "name": "ramsey/uuid", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "reference": "d09ea80159c1929d75b3f9c60504d613aeb4a1e3", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.0|^2.0|9.99.99", + "php": "^5.4 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "codeception/aspect-mock": "^1.0 | ~2.0.0", + "doctrine/annotations": "~1.2.0", + "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ~2.1.0", + "ircmaxell/random-lib": "^1.1", + "jakub-onderka/php-parallel-lint": "^0.9.0", + "mockery/mockery": "^0.9.9", + "moontoast/math": "^1.1", + "php-mock/php-mock-phpunit": "^0.3|^1.1", + "phpunit/phpunit": "^4.7|^5.0|^6.5", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "ext-ctype": "Provides support for PHP Ctype functions", + "ext-libsodium": "Provides the PECL libsodium extension for use with the SodiumRandomGenerator", + "ext-uuid": "Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator", + "ircmaxell/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "moontoast/math": "Provides support for converting UUID to 128-bit integer (in string form).", + "ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marijn Huizendveld", + "email": "marijn.huizendveld@gmail.com" + }, + { + "name": "Thibaud Fabre", + "email": "thibaud@aztech.io" + }, + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "Formerly rhumsaa/uuid. A PHP 5.4+ library for generating RFC 4122 version 1, 3, 4, and 5 universally unique identifiers (UUID).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "time": "2018-07-19 23:38:55" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.12", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/181b89f18a90f8925ef805f950d47a7190e9b950", + "reference": "181b89f18a90f8925ef805f950d47a7190e9b950", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2018-07-31 09:26:32" + }, + { + "name": "symfony/console", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "047f16485d68c083bd5d9b73ff16f9cb9c1a9f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/047f16485d68c083bd5d9b73ff16f9cb9c1a9f52", + "reference": "047f16485d68c083bd5d9b73ff16f9cb9c1a9f52", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/debug": "~2.8|~3.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2017-01-08 20:43:43" + }, + { + "name": "symfony/debug", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "c6661361626b3cf5cf2089df98b3b5006a197e85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/c6661361626b3cf5cf2089df98b3b5006a197e85", + "reference": "c6661361626b3cf5cf2089df98b3b5006a197e85", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2017-01-28 00:04:57" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.4.18", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "db9e829c8f34c3d35cf37fcd4cdb4293bc4a2f14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db9e829c8f34c3d35cf37fcd4cdb4293bc4a2f14", + "reference": "db9e829c8f34c3d35cf37fcd4cdb4293bc4a2f14", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2018-10-30 16:50:50" + }, + { + "name": "symfony/finder", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "59687a255d1562f2c17b012418273862083d85f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/59687a255d1562f2c17b012418273862083d85f7", + "reference": "59687a255d1562f2c17b012418273862083d85f7", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2017-01-02 20:31:54" + }, + { + "name": "symfony/http-foundation", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "cef0ad49a2e90455cfc649522025b5a2929648c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cef0ad49a2e90455cfc649522025b5a2929648c0", + "reference": "cef0ad49a2e90455cfc649522025b5a2929648c0", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.1" + }, + "require-dev": { + "symfony/expression-language": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com", + "time": "2017-01-08 20:43:43" + }, + { + "name": "symfony/http-kernel", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "c830387dec1b48c100473d10a6a356c3c3ae2a13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c830387dec1b48c100473d10a6a356c3c3ae2a13", + "reference": "c830387dec1b48c100473d10a6a356c3c3ae2a13", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0", + "symfony/debug": "~2.8|~3.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/http-foundation": "~2.8.13|~3.1.6|~3.2" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "symfony/browser-kit": "~2.8|~3.0", + "symfony/class-loader": "~2.8|~3.0", + "symfony/config": "~2.8|~3.0", + "symfony/console": "~2.8|~3.0", + "symfony/css-selector": "~2.8|~3.0", + "symfony/dependency-injection": "~2.8|~3.0", + "symfony/dom-crawler": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/finder": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0", + "symfony/routing": "~2.8|~3.0", + "symfony/stopwatch": "~2.8|~3.0", + "symfony/templating": "~2.8|~3.0", + "symfony/translation": "~2.8|~3.0", + "symfony/var-dumper": "~2.8|~3.0" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "time": "2017-01-28 02:53:17" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", + "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "time": "2018-08-06 14:22:27" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", + "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2018-09-21 13:07:52" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ff208829fe1aa48ab9af356992bb7199fed551af", + "reference": "ff208829fe1aa48ab9af356992bb7199fed551af", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-util": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php56\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2018-09-21 06:26:08" + }, + { + "name": "symfony/polyfill-util", + "version": "v1.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-util.git", + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/3b58903eae668d348a7126f999b0da0f2f93611c", + "reference": "3b58903eae668d348a7126f999b0da0f2f93611c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Util\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony utilities for portability of PHP codes", + "homepage": "https://symfony.com", + "keywords": [ + "compat", + "compatibility", + "polyfill", + "shim" + ], + "time": "2018-09-30 16:36:12" + }, + { + "name": "symfony/process", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "2605753c5f8c531623d24d002825ebb1d6a22248" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/2605753c5f8c531623d24d002825ebb1d6a22248", + "reference": "2605753c5f8c531623d24d002825ebb1d6a22248", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2017-01-21 17:13:55" + }, + { + "name": "symfony/routing", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "f25581d4eb0a82962c291917f826166f0dcd8a9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/f25581d4eb0a82962c291917f826166f0dcd8a9a", + "reference": "f25581d4eb0a82962c291917f826166f0dcd8a9a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/dependency-injection": "For loading routes from a service", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "time": "2017-01-28 00:04:57" + }, + { + "name": "symfony/translation", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "d5a20fab5f63f44c233c69b3041c3cb1d4945e45" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/d5a20fab5f63f44c233c69b3041c3cb1d4945e45", + "reference": "d5a20fab5f63f44c233c69b3041c3cb1d4945e45", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2017-01-21 17:01:39" + }, + { + "name": "symfony/var-dumper", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "16df11647e5b992d687cb4eeeb9a882d5f5c26b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/16df11647e5b992d687cb4eeeb9a882d5f5c26b9", + "reference": "16df11647e5b992d687cb4eeeb9a882d5f5c26b9", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "twig/twig": "~1.20|~2.0" + }, + "suggest": { + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2017-01-24 13:02:38" + }, + { + "name": "vlucas/phpdotenv", + "version": "v2.5.1", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e", + "reference": "8abb4f9aa89ddea9d52112c65bbe8d0125e2fa8e", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "http://www.vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "time": "2018-07-29 20:33:41" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14 21:17:01" + }, + { + "name": "fzaninotto/faker", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de", + "reference": "f72816b43e74063c8b10357394b6bba8cb1c10de", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2018-07-12 10:23:15" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v1.2.2", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c", + "reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "1.3.3", + "satooshi/php-coveralls": "dev-master" + }, + "type": "library", + "autoload": { + "classmap": [ + "hamcrest" + ], + "files": [ + "hamcrest/Hamcrest.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "time": "2015-05-11 14:41:42" + }, + { + "name": "mockery/mockery", + "version": "0.9.9", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "6fdb61243844dc924071d3404bb23994ea0b6856" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/6fdb61243844dc924071d3404bb23994ea0b6856", + "reference": "6fdb61243844dc924071d3404bb23994ea0b6856", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "~1.1", + "lib-pcre": ">=7.0", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9.x-dev" + } + }, + "autoload": { + "psr-0": { + "Mockery": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "http://davedevelopment.co.uk" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework for use in unit testing with PHPUnit, PHPSpec or any other testing framework. Its core goal is to offer a test double framework with a succinct API capable of clearly defining all possible object operations and interactions using a human readable Domain Specific Language (DSL). Designed as a drop in alternative to PHPUnit's phpunit-mock-objects library, Mockery is easy to integrate with PHPUnit and can operate alongside phpunit-mock-objects without the World ending.", + "homepage": "http://github.com/padraic/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "time": "2017-02-28 12:52:32" + }, + { + "name": "myclabs/deep-copy", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^4.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "time": "2017-10-19 19:58:43" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11 18:02:19" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2", + "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "phpdocumentor/reflection-common": "^1.0.0", + "phpdocumentor/type-resolver": "^0.4.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-11-10 14:09:06" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", + "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-07-14 14:27:02" + }, + { + "name": "phpspec/prophecy", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "reference": "4ba436b55987b4bf311cb7c6ba82aa528aac0a06", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0|^3.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2018-08-05 17:53:17" + }, + { + "name": "phpunit/php-code-coverage", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^5.6 || ^7.0", + "phpunit/php-file-iterator": "^1.3", + "phpunit/php-text-template": "^1.2", + "phpunit/php-token-stream": "^1.4.2 || ^2.0", + "sebastian/code-unit-reverse-lookup": "^1.0", + "sebastian/environment": "^1.3.2 || ^2.0", + "sebastian/version": "^1.0 || ^2.0" + }, + "require-dev": { + "ext-xdebug": "^2.1.4", + "phpunit/phpunit": "^5.7" + }, + "suggest": { + "ext-xdebug": "^2.5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2017-04-02 07:44:40" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4", + "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2017-11-27 13:52:08" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21 13:50:34" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2017-02-26 11:10:40" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.12", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16", + "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2017-12-04 08:55:13" + }, + { + "name": "phpunit/phpunit", + "version": "5.7.27", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "~1.3", + "php": "^5.6 || ^7.0", + "phpspec/prophecy": "^1.6.2", + "phpunit/php-code-coverage": "^4.0.4", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "^3.2", + "sebastian/comparator": "^1.2.4", + "sebastian/diff": "^1.4.3", + "sebastian/environment": "^1.3.4 || ^2.0", + "sebastian/exporter": "~2.0", + "sebastian/global-state": "^1.1", + "sebastian/object-enumerator": "~2.0", + "sebastian/resource-operations": "~1.0", + "sebastian/version": "^1.0.6|^2.0.1", + "symfony/yaml": "~2.1|~3.0|~4.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "3.0.2" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-xdebug": "*", + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.7.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2018-02-01 05:50:59" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118", + "reference": "a23b761686d50a560cc56233b9ecf49597cc9118", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.6 || ^7.0", + "phpunit/php-text-template": "^1.2", + "sebastian/exporter": "^1.2 || ^2.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2017-06-30 09:13:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04 06:30:41" + }, + { + "name": "sebastian/comparator", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2 || ~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2017-01-29 09:50:25" + }, + { + "name": "sebastian/diff", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2017-05-22 07:24:03" + }, + { + "name": "sebastian/environment", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-11-26 07:53:53" + }, + { + "name": "sebastian/exporter", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-11-19 08:54:04" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12 03:26:01" + }, + { + "name": "sebastian/object-enumerator", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7", + "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "sebastian/recursion-context": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-02-18 15:18:39" + }, + { + "name": "sebastian/recursion-context", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2016-11-19 07:33:16" + }, + { + "name": "sebastian/resource-operations", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52", + "shasum": "" + }, + "require": { + "php": ">=5.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2015-07-28 20:34:47" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03 07:35:21" + }, + { + "name": "symfony/css-selector", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "722a87478a72d95dc2a3bcf41dc9c2d13fd4cb2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/722a87478a72d95dc2a3bcf41dc9c2d13fd4cb2d", + "reference": "722a87478a72d95dc2a3bcf41dc9c2d13fd4cb2d", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2017-01-02 20:31:54" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.1.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "7eede2a901a19928494194f7d1815a77b9a473a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7eede2a901a19928494194f7d1815a77b9a473a0", + "reference": "7eede2a901a19928494194f7d1815a77b9a473a0", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2017-01-21 17:13:55" + }, + { + "name": "symfony/yaml", + "version": "v3.3.18", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "af615970e265543a26ee712c958404eb9b7ac93d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/af615970e265543a26ee712c958404eb9b7ac93d", + "reference": "af615970e265543a26ee712c958404eb9b7ac93d", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "require-dev": { + "symfony/console": "~2.8|~3.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2018-01-20 15:04:53" + }, + { + "name": "webmozart/assert", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2018-01-29 19:49:41" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.6.4" + }, + "platform-dev": [] +} diff --git a/site/config/app.php b/site/config/app.php new file mode 100644 index 000000000..717ee983b --- /dev/null +++ b/site/config/app.php @@ -0,0 +1,231 @@ + 'Laravel', + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services your application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Logging Configuration + |-------------------------------------------------------------------------- + | + | Here you may configure the log settings for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Settings: "single", "daily", "syslog", "errorlog" + | + */ + + 'log' => env('APP_LOG', 'single'), + + 'log_level' => env('APP_LOG_LEVEL', 'debug'), + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Package Service Providers... + */ + + // + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => [ + + 'App' => Illuminate\Support\Facades\App::class, + 'Artisan' => Illuminate\Support\Facades\Artisan::class, + 'Auth' => Illuminate\Support\Facades\Auth::class, + 'Blade' => Illuminate\Support\Facades\Blade::class, + 'Bus' => Illuminate\Support\Facades\Bus::class, + 'Cache' => Illuminate\Support\Facades\Cache::class, + 'Config' => Illuminate\Support\Facades\Config::class, + 'Cookie' => Illuminate\Support\Facades\Cookie::class, + 'Crypt' => Illuminate\Support\Facades\Crypt::class, + 'DB' => Illuminate\Support\Facades\DB::class, + 'Eloquent' => Illuminate\Database\Eloquent\Model::class, + 'Event' => Illuminate\Support\Facades\Event::class, + 'File' => Illuminate\Support\Facades\File::class, + 'Gate' => Illuminate\Support\Facades\Gate::class, + 'Hash' => Illuminate\Support\Facades\Hash::class, + 'Lang' => Illuminate\Support\Facades\Lang::class, + 'Log' => Illuminate\Support\Facades\Log::class, + 'Mail' => Illuminate\Support\Facades\Mail::class, + 'Notification' => Illuminate\Support\Facades\Notification::class, + 'Password' => Illuminate\Support\Facades\Password::class, + 'Queue' => Illuminate\Support\Facades\Queue::class, + 'Redirect' => Illuminate\Support\Facades\Redirect::class, + 'Redis' => Illuminate\Support\Facades\Redis::class, + 'Request' => Illuminate\Support\Facades\Request::class, + 'Response' => Illuminate\Support\Facades\Response::class, + 'Route' => Illuminate\Support\Facades\Route::class, + 'Schema' => Illuminate\Support\Facades\Schema::class, + 'Session' => Illuminate\Support\Facades\Session::class, + 'Storage' => Illuminate\Support\Facades\Storage::class, + 'URL' => Illuminate\Support\Facades\URL::class, + 'Validator' => Illuminate\Support\Facades\Validator::class, + 'View' => Illuminate\Support\Facades\View::class, + + ], + +]; diff --git a/site/config/auth.php b/site/config/auth.php new file mode 100644 index 000000000..781750102 --- /dev/null +++ b/site/config/auth.php @@ -0,0 +1,102 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_resets', + 'expire' => 60, + ], + ], + +]; diff --git a/site/config/broadcasting.php b/site/config/broadcasting.php new file mode 100644 index 000000000..19a59bad9 --- /dev/null +++ b/site/config/broadcasting.php @@ -0,0 +1,58 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_KEY'), + 'secret' => env('PUSHER_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + // + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/site/config/cache.php b/site/config/cache.php new file mode 100644 index 000000000..1d3de874c --- /dev/null +++ b/site/config/cache.php @@ -0,0 +1,91 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => 'laravel', + +]; diff --git a/site/config/compile.php b/site/config/compile.php new file mode 100644 index 000000000..04807eac4 --- /dev/null +++ b/site/config/compile.php @@ -0,0 +1,35 @@ + [ + // + ], + + /* + |-------------------------------------------------------------------------- + | Compiled File Providers + |-------------------------------------------------------------------------- + | + | Here you may list service providers which define a "compiles" function + | that returns additional files that should be compiled, providing an + | easy way to get common files from any packages you are utilizing. + | + */ + + 'providers' => [ + // + ], + +]; diff --git a/site/config/database.php b/site/config/database.php new file mode 100644 index 000000000..1b87e0f13 --- /dev/null +++ b/site/config/database.php @@ -0,0 +1,121 @@ + PDO::FETCH_OBJ, + + /* + |-------------------------------------------------------------------------- + | Default Database Connection Name + |-------------------------------------------------------------------------- + | + | Here you may specify which of the database connections below you wish + | to use as your default connection for all database work. Of course + | you may use many connections at once using the Database library. + | + */ + + 'default' => env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'collation' => 'utf8_unicode_ci', + 'prefix' => '', + 'strict' => true, + 'engine' => null, + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'schema' => 'public', + 'sslmode' => 'prefer', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer set of commands than a typical key-value systems + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'cluster' => false, + + 'default' => [ + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', 6379), + 'database' => 0, + ], + + ], + +]; diff --git a/site/config/filesystems.php b/site/config/filesystems.php new file mode 100644 index 000000000..e1c4c9538 --- /dev/null +++ b/site/config/filesystems.php @@ -0,0 +1,67 @@ + 'local', + + /* + |-------------------------------------------------------------------------- + | Default Cloud Filesystem Disk + |-------------------------------------------------------------------------- + | + | Many applications store files both locally and in the cloud. For this + | reason, you may specify a default "cloud" driver here. This driver + | will be bound as the Cloud disk implementation in the container. + | + */ + + 'cloud' => 's3', + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been setup for each driver as an example of the required options. + | + | Supported Drivers: "local", "ftp", "s3", "rackspace" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'visibility' => 'public', + ], + + 's3' => [ + 'driver' => 's3', + 'key' => 'your-key', + 'secret' => 'your-secret', + 'region' => 'your-region', + 'bucket' => 'your-bucket', + ], + + ], + +]; diff --git a/site/config/mail.php b/site/config/mail.php new file mode 100644 index 000000000..73c691f09 --- /dev/null +++ b/site/config/mail.php @@ -0,0 +1,115 @@ + env('MAIL_DRIVER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Address + |-------------------------------------------------------------------------- + | + | Here you may provide the host address of the SMTP server used by your + | applications. A default option is provided that is compatible with + | the Mailgun mail service which will provide reliable deliveries. + | + */ + + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + + /* + |-------------------------------------------------------------------------- + | SMTP Host Port + |-------------------------------------------------------------------------- + | + | This is the SMTP port used by your application to deliver e-mails to + | users of the application. Like the host we have set this value to + | stay compatible with the Mailgun e-mail application by default. + | + */ + + 'port' => env('MAIL_PORT', 587), + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | E-Mail Encryption Protocol + |-------------------------------------------------------------------------- + | + | Here you may specify the encryption protocol that should be used when + | the application send e-mail messages. A sensible default using the + | transport layer security protocol should provide great security. + | + */ + + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Username + |-------------------------------------------------------------------------- + | + | If your SMTP server requires a username for authentication, you should + | set it here. This will get used to authenticate with your server on + | connection. You may also set the "password" value below this one. + | + */ + + 'username' => env('MAIL_USERNAME'), + + /* + |-------------------------------------------------------------------------- + | SMTP Server Password + |-------------------------------------------------------------------------- + | + | Here you may set the password required by your SMTP server to send out + | messages from your application. This will be given to the server on + | connection so that the application will be able to send messages. + | + */ + + 'password' => env('MAIL_PASSWORD'), + + /* + |-------------------------------------------------------------------------- + | Sendmail System Path + |-------------------------------------------------------------------------- + | + | When using the "sendmail" driver to send e-mails, we will need to know + | the path to where Sendmail lives on this server. A default path has + | been provided here, which will work well on most of your systems. + | + */ + + 'sendmail' => '/usr/sbin/sendmail -bs', + +]; diff --git a/site/config/queue.php b/site/config/queue.php new file mode 100644 index 000000000..4d83ebd0c --- /dev/null +++ b/site/config/queue.php @@ -0,0 +1,85 @@ + env('QUEUE_DRIVER', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => 'your-public-key', + 'secret' => 'your-secret-key', + 'prefix' => 'https://sqs.us-east-1.amazonaws.com/your-account-id', + 'queue' => 'your-queue-name', + 'region' => 'us-east-1', + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => 'default', + 'retry_after' => 90, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/site/config/services.php b/site/config/services.php new file mode 100644 index 000000000..4460f0ec2 --- /dev/null +++ b/site/config/services.php @@ -0,0 +1,38 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + ], + + 'ses' => [ + 'key' => env('SES_KEY'), + 'secret' => env('SES_SECRET'), + 'region' => 'us-east-1', + ], + + 'sparkpost' => [ + 'secret' => env('SPARKPOST_SECRET'), + ], + + 'stripe' => [ + 'model' => App\User::class, + 'key' => env('STRIPE_KEY'), + 'secret' => env('STRIPE_SECRET'), + ], + +]; diff --git a/site/config/session.php b/site/config/session.php new file mode 100644 index 000000000..e2779ad8d --- /dev/null +++ b/site/config/session.php @@ -0,0 +1,179 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => 120, + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => null, + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using the "apc" or "memcached" session drivers, you may specify a + | cache store that should be used for these sessions. This value must + | correspond with one of the application's configured cache stores. + | + */ + + 'store' => null, + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => 'laravel_session', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN', null), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you if it can not be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE', false), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + +]; diff --git a/site/config/view.php b/site/config/view.php new file mode 100644 index 000000000..e193ab61d --- /dev/null +++ b/site/config/view.php @@ -0,0 +1,33 @@ + [ + realpath(base_path('resources/views')), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => realpath(storage_path('framework/views')), + +]; diff --git a/site/database/.gitignore b/site/database/.gitignore new file mode 100644 index 000000000..9b1dffd90 --- /dev/null +++ b/site/database/.gitignore @@ -0,0 +1 @@ +*.sqlite diff --git a/site/database/factories/ModelFactory.php b/site/database/factories/ModelFactory.php new file mode 100644 index 000000000..7926c7946 --- /dev/null +++ b/site/database/factories/ModelFactory.php @@ -0,0 +1,24 @@ +define(App\User::class, function (Faker\Generator $faker) { + static $password; + + return [ + 'name' => $faker->name, + 'email' => $faker->unique()->safeEmail, + 'password' => $password ?: $password = bcrypt('secret'), + 'remember_token' => str_random(10), + ]; +}); diff --git a/site/database/migrations/2014_10_12_000000_create_users_table.php b/site/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 000000000..689cbeea4 --- /dev/null +++ b/site/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->string('name'); + $table->string('email')->unique(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users'); + } +} diff --git a/site/database/migrations/2014_10_12_100000_create_password_resets_table.php b/site/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 000000000..1eefa4055 --- /dev/null +++ b/site/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token')->index(); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_resets'); + } +} diff --git a/site/database/migrations/2018_11_04_163758_create_cursos_table.php b/site/database/migrations/2018_11_04_163758_create_cursos_table.php new file mode 100644 index 000000000..dc271613e --- /dev/null +++ b/site/database/migrations/2018_11_04_163758_create_cursos_table.php @@ -0,0 +1,28 @@ +call(UsersTableSeeder::class); + } +} diff --git a/site/gulpfile.js b/site/gulpfile.js new file mode 100644 index 000000000..c9de6ea32 --- /dev/null +++ b/site/gulpfile.js @@ -0,0 +1,19 @@ +const elixir = require('laravel-elixir'); + +require('laravel-elixir-vue-2'); + +/* + |-------------------------------------------------------------------------- + | Elixir Asset Management + |-------------------------------------------------------------------------- + | + | Elixir provides a clean, fluent API for defining some basic Gulp tasks + | for your Laravel application. By default, we are compiling the Sass + | file for your application as well as publishing vendor resources. + | + */ + +elixir((mix) => { + mix.sass('app.scss') + .webpack('app.js'); +}); diff --git a/site/package.json b/site/package.json new file mode 100644 index 000000000..f4f49c841 --- /dev/null +++ b/site/package.json @@ -0,0 +1,18 @@ +{ + "private": true, + "scripts": { + "prod": "gulp --production", + "dev": "gulp watch" + }, + "devDependencies": { + "bootstrap-sass": "^3.3.7", + "gulp": "^3.9.1", + "jquery": "^3.1.0", + "laravel-elixir": "^6.0.0-14", + "laravel-elixir-vue-2": "^0.2.0", + "laravel-elixir-webpack-official": "^1.0.2", + "lodash": "^4.16.2", + "vue": "^2.0.1", + "vue-resource": "^1.0.3" + } +} diff --git a/site/phpunit.xml b/site/phpunit.xml new file mode 100644 index 000000000..712e0af58 --- /dev/null +++ b/site/phpunit.xml @@ -0,0 +1,27 @@ + + + + + ./tests + + + + + ./app + + + + + + + + + diff --git a/site/public/.htaccess b/site/public/.htaccess new file mode 100644 index 000000000..903f6392c --- /dev/null +++ b/site/public/.htaccess @@ -0,0 +1,20 @@ + + + Options -MultiViews + + + RewriteEngine On + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule ^(.*)/$ /$1 [L,R=301] + + # Handle Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + diff --git a/site/public/css/app.css b/site/public/css/app.css new file mode 100644 index 000000000..a3327fc4d --- /dev/null +++ b/site/public/css/app.css @@ -0,0 +1,5 @@ +@import url(https://fonts.googleapis.com/css?family=Raleway:300,400,600);/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */.label,sub,sup{vertical-align:baseline}hr,img{border:0}body,figure{margin:0}.btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left}.img-responsive,.img-thumbnail,.table,label{max-width:100%}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{vertical-align:middle}svg:not(:root){overflow:hidden}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999}thead{display:table-header-group}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.btn-danger.dropdown-toggle,.open>.btn-default.dropdown-toggle,.open>.btn-info.dropdown-toggle,.open>.btn-primary.dropdown-toggle,.open>.btn-warning.dropdown-toggle{background-image:none}.img-thumbnail,body{background-color:#f5f8fa}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/bootstrap/glyphicons-halflings-regular.eot);src:url(../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/bootstrap/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/bootstrap/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/bootstrap/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:Raleway,sans-serif;font-size:14px;line-height:1.6;color:#636b6f}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#3097D1;text-decoration:none}a:focus,a:hover{color:#216a94;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.img-responsive{display:block;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.6;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:22px;margin-bottom:11px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:11px;margin-bottom:11px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:16px;font-weight:300;line-height:1.4}dt,kbd kbd,label{font-weight:700}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{padding-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#3097D1}a.text-primary:focus,a.text-primary:hover{color:#2579a9}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#3097D1}a.bg-primary:focus,a.bg-primary:hover{background-color:#2579a9}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}pre code,table{background-color:transparent}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #eee}dl,ol,ul{margin-top:0}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address,dl{margin-bottom:22px}ol,ul{margin-bottom:11px}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dd,dt{line-height:1.6}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.container{width:750px}}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dropdown-menu>li>a,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:11px 22px;margin:0 0 22px;font-size:17.5px;border-left:5px solid #eee}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.6;color:#777}legend,pre{color:#333}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}code,kbd{padding:2px 4px;font-size:90%}caption,th{text-align:left}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{font-style:normal;line-height:1.6}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:13px;line-height:1.6;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.row:after,.row:before{display:table;content:" "}.container,.container-fluid{margin-right:auto;margin-left:auto}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.container,.container-fluid{padding-left:15px;padding-right:15px}.pre-scrollable{overflow-y:scroll}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1{width:8.3333333333%}.col-xs-2{width:16.6666666667%}.col-xs-3{width:25%}.col-xs-4{width:33.3333333333%}.col-xs-5{width:41.6666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.3333333333%}.col-xs-8{width:66.6666666667%}.col-xs-9{width:75%}.col-xs-10{width:83.3333333333%}.col-xs-11{width:91.6666666667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.3333333333%}.col-xs-pull-2{right:16.6666666667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.3333333333%}.col-xs-pull-5{right:41.6666666667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.3333333333%}.col-xs-pull-8{right:66.6666666667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.3333333333%}.col-xs-pull-11{right:91.6666666667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.3333333333%}.col-xs-push-2{left:16.6666666667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.3333333333%}.col-xs-push-5{left:41.6666666667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.3333333333%}.col-xs-push-8{left:66.6666666667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.3333333333%}.col-xs-push-11{left:91.6666666667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.3333333333%}.col-xs-offset-2{margin-left:16.6666666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.3333333333%}.col-xs-offset-5{margin-left:41.6666666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.3333333333%}.col-xs-offset-8{margin-left:66.6666666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.3333333333%}.col-xs-offset-11{margin-left:91.6666666667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.3333333333%}.col-sm-2{width:16.6666666667%}.col-sm-3{width:25%}.col-sm-4{width:33.3333333333%}.col-sm-5{width:41.6666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.3333333333%}.col-sm-8{width:66.6666666667%}.col-sm-9{width:75%}.col-sm-10{width:83.3333333333%}.col-sm-11{width:91.6666666667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.3333333333%}.col-sm-pull-2{right:16.6666666667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.3333333333%}.col-sm-pull-5{right:41.6666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.3333333333%}.col-sm-pull-8{right:66.6666666667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.3333333333%}.col-sm-pull-11{right:91.6666666667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.3333333333%}.col-sm-push-2{left:16.6666666667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.3333333333%}.col-sm-push-5{left:41.6666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.3333333333%}.col-sm-push-8{left:66.6666666667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.3333333333%}.col-sm-push-11{left:91.6666666667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.3333333333%}.col-sm-offset-2{margin-left:16.6666666667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.3333333333%}.col-sm-offset-5{margin-left:41.6666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.3333333333%}.col-sm-offset-8{margin-left:66.6666666667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.3333333333%}.col-sm-offset-11{margin-left:91.6666666667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.3333333333%}.col-md-2{width:16.6666666667%}.col-md-3{width:25%}.col-md-4{width:33.3333333333%}.col-md-5{width:41.6666666667%}.col-md-6{width:50%}.col-md-7{width:58.3333333333%}.col-md-8{width:66.6666666667%}.col-md-9{width:75%}.col-md-10{width:83.3333333333%}.col-md-11{width:91.6666666667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.3333333333%}.col-md-pull-2{right:16.6666666667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.3333333333%}.col-md-pull-5{right:41.6666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.3333333333%}.col-md-pull-8{right:66.6666666667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.3333333333%}.col-md-pull-11{right:91.6666666667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.3333333333%}.col-md-push-2{left:16.6666666667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.3333333333%}.col-md-push-5{left:41.6666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.3333333333%}.col-md-push-8{left:66.6666666667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.3333333333%}.col-md-push-11{left:91.6666666667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.3333333333%}.col-md-offset-2{margin-left:16.6666666667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.3333333333%}.col-md-offset-5{margin-left:41.6666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.3333333333%}.col-md-offset-8{margin-left:66.6666666667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.3333333333%}.col-md-offset-11{margin-left:91.6666666667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.3333333333%}.col-lg-2{width:16.6666666667%}.col-lg-3{width:25%}.col-lg-4{width:33.3333333333%}.col-lg-5{width:41.6666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.3333333333%}.col-lg-8{width:66.6666666667%}.col-lg-9{width:75%}.col-lg-10{width:83.3333333333%}.col-lg-11{width:91.6666666667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.3333333333%}.col-lg-pull-2{right:16.6666666667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.3333333333%}.col-lg-pull-5{right:41.6666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.3333333333%}.col-lg-pull-8{right:66.6666666667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.3333333333%}.col-lg-pull-11{right:91.6666666667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.3333333333%}.col-lg-push-2{left:16.6666666667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.3333333333%}.col-lg-push-5{left:41.6666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.3333333333%}.col-lg-push-8{left:66.6666666667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.3333333333%}.col-lg-push-11{left:91.6666666667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.3333333333%}.col-lg-offset-2{margin-left:16.6666666667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.3333333333%}.col-lg-offset-5{margin-left:41.6666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.3333333333%}.col-lg-offset-8{margin-left:66.6666666667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.3333333333%}.col-lg-offset-11{margin-left:91.6666666667%}.col-lg-offset-12{margin-left:100%}}caption{padding-top:8px;padding-bottom:8px;color:#777}.table{width:100%;margin-bottom:22px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.6;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#f5f8fa}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset,legend{padding:0;border:0}fieldset{margin:0;min-width:0}legend{display:block;width:100%;margin-bottom:22px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px}input[type=search]{box-sizing:border-box;-webkit-appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.form-control,output{font-size:14px;line-height:1.6;color:#555;display:block}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{padding-top:7px}.form-control{width:100%;height:36px;padding:6px 12px;background-color:#fff;border:1px solid #ccd0d2;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#98cbe8;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(152,203,232,.6)}.form-control::-moz-placeholder{color:#b1b7ba;opacity:1}.form-control:-ms-input-placeholder{color:#b1b7ba}.form-control::-webkit-input-placeholder{color:#b1b7ba}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:36px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:36px}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:40px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.collapsing,.dropdown,.dropup{position:relative}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .form-control-feedback,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .form-control-feedback,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#a4aaae}@media (min-width:768px){.form-inline .form-control-static,.form-inline .form-group{display:inline-block}.form-inline .control-label,.form-inline .form-group{margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.6;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#636b6f;text-decoration:none}.btn.active,.btn:active{outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#636b6f;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#636b6f;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#636b6f;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#636b6f;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#636b6f}.btn-primary{color:#fff;background-color:#3097D1;border-color:#2a88bd}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#2579a9;border-color:#133d55}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#2579a9;border-color:#1f648b}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#1f648b;border-color:#133d55}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#3097D1;border-color:#2a88bd}.btn-primary .badge{color:#3097D1;background-color:#fff}.btn-success{color:#fff;background-color:#2ab27b;border-color:#259d6d}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#20895e;border-color:#0d3625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#20895e;border-color:#196c4b}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#196c4b;border-color:#0d3625}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#2ab27b;border-color:#259d6d}.btn-success .badge{color:#2ab27b;background-color:#fff}.btn-info{color:#fff;background-color:#8eb4cb;border-color:#7da8c3}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#6b9dbb;border-color:#3d6983}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#6b9dbb;border-color:#538db0}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#538db0;border-color:#3d6983}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#8eb4cb;border-color:#7da8c3}.btn-info .badge{color:#8eb4cb;background-color:#fff}.btn-warning{color:#fff;background-color:#cbb956;border-color:#c5b143}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#b6a338;border-color:#685d20}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#b6a338;border-color:#9b8a30}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#9b8a30;border-color:#685d20}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#cbb956;border-color:#c5b143}.btn-warning .badge{color:#cbb956;background-color:#fff}.btn-danger{color:#fff;background-color:#bf5329;border-color:#aa4a24}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#954120;border-color:#411c0e}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#954120;border-color:#78341a}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#78341a;border-color:#411c0e}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#bf5329;border-color:#aa4a24}.btn-danger .badge{color:#bf5329;background-color:#fff}.btn-link{color:#3097D1;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#216a94;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu-right,.dropdown-menu.pull-right{left:auto;right:0}.dropdown-header,.dropdown-menu>li>a{display:block;padding:3px 20px;line-height:1.6;white-space:nowrap}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{font-weight:400;color:#333}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#3097D1}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{font-size:12px;color:#777}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn .caret,.btn-group>.btn:first-child{margin-left:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child:not(:first-child){border-radius:0 0 4px 4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group,.input-group-btn,.input-group-btn>.btn{position:relative}.input-group{display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccd0d2;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav>li,.nav>li>a{display:block;position:relative}.nav:after{clear:both}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#3097D1}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.6;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#f5f8fa;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-justified>li,.nav-stacked>li,.nav-tabs.nav-justified>li{float:none}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#3097D1}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#f5f8fa}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:22px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar{border-radius:4px}.navbar-header{float:left}.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.embed-responsive,.modal,.modal-open,.progress{overflow:hidden}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}.navbar-static-top{z-index:1000;border-width:0 0 1px}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:14px 15px;font-size:18px;line-height:22px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}.navbar-nav{margin:7px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.progress-bar-striped,.progress-striped .progress-bar,.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}@media (min-width:768px){.navbar-toggle{display:none}.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin:7px -15px}@media (min-width:768px){.navbar-form .form-control-static,.navbar-form .form-group{display:inline-block}.navbar-form .control-label,.navbar-form .form-group{margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.breadcrumb>li,.pagination{display:inline-block}.btn .badge,.btn .label{top:-1px;position:relative}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:7px;margin-bottom:7px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs,.navbar-text{margin-top:14px;margin-bottom:14px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#fff;border-color:#d3e0e9}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#d3e0e9}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#eee;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#eee}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:22px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{padding-left:0;margin:22px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.6;text-decoration:none;color:#3097D1;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#216a94;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#3097D1;border-color:#3097D1;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.badge,.label{font-weight:700;line-height:1;white-space:nowrap;text-align:center}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:22px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em}.label:empty{display:none}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#3097D1}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#2579a9}.label-success{background-color:#2ab27b}.label-success[href]:focus,.label-success[href]:hover{background-color:#20895e}.label-info{background-color:#8eb4cb}.label-info[href]:focus,.label-info[href]:hover{background-color:#6b9dbb}.label-warning{background-color:#cbb956}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#b6a338}.label-danger{background-color:#bf5329}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#954120}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;color:#fff;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.media-object,.thumbnail{display:block}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#3097D1;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.alert,.thumbnail{margin-bottom:22px}.alert .alert-link,.close{font-weight:700}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{padding:4px;line-height:1.6;background-color:#f5f8fa;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#636b6f}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#3097D1}.alert{padding:15px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.modal,.modal-backdrop{top:0;right:0;bottom:0;left:0}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:22px;margin-bottom:22px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#3097D1;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#2ab27b}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-striped .progress-bar-info,.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#8eb4cb}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#cbb956}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#bf5329}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #d3e0e9}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#3097D1;border-color:#3097D1}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#d7ebf6}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.panel-heading>.dropdown .dropdown-toggle,.panel-title,.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:22px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-title,.panel>.list-group,.panel>.panel-collapse>.list-group,.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;font-size:16px}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #d3e0e9;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel-group .panel-heading,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #d3e0e9}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #d3e0e9}.panel-default{border-color:#d3e0e9}.panel-default>.panel-heading{color:#333;background-color:#fff;border-color:#d3e0e9}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d3e0e9}.panel-default>.panel-heading .badge{color:#fff;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d3e0e9}.panel-primary{border-color:#3097D1}.panel-primary>.panel-heading{color:#fff;background-color:#3097D1;border-color:#3097D1}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3097D1}.panel-primary>.panel-heading .badge{color:#3097D1;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3097D1}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.popover,.tooltip{font-family:Raleway,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.6;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;text-decoration:none}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-content,.popover{background-clip:padding-box}.modal{display:none;position:fixed;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before{display:table;content:" "}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.6}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0}.tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px}.tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px}.tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.carousel,.carousel-inner{position:relative}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.left>.arrow:after,.popover.right>.arrow:after{content:" ";bottom:-10px}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{left:1px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;background-color:transparent}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px}.carousel-caption .btn,.text-hide{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.hidden,.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}.hidden-lg{display:none!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}} \ No newline at end of file diff --git a/site/public/favicon.ico b/site/public/favicon.ico new file mode 100644 index 000000000..e69de29bb diff --git a/site/public/index.php b/site/public/index.php new file mode 100644 index 000000000..716731f83 --- /dev/null +++ b/site/public/index.php @@ -0,0 +1,58 @@ + + */ + +/* +|-------------------------------------------------------------------------- +| Register The Auto Loader +|-------------------------------------------------------------------------- +| +| Composer provides a convenient, automatically generated class loader for +| our application. We just need to utilize it! We'll simply require it +| into the script here so that we don't have to worry about manual +| loading any of our classes later on. It feels nice to relax. +| +*/ + +require __DIR__.'/../bootstrap/autoload.php'; + +/* +|-------------------------------------------------------------------------- +| Turn On The Lights +|-------------------------------------------------------------------------- +| +| We need to illuminate PHP development, so let us turn on the lights. +| This bootstraps the framework and gets it ready for use, then it +| will load up this application so that we can run it and send +| the responses back to the browser and delight our users. +| +*/ + +$app = require_once __DIR__.'/../bootstrap/app.php'; + +/* +|-------------------------------------------------------------------------- +| Run The Application +|-------------------------------------------------------------------------- +| +| Once we have the application, we can handle the incoming request +| through the kernel, and send the associated response back to +| the client's browser allowing them to enjoy the creative +| and wonderful application we have prepared for them. +| +*/ + +$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); + +$response = $kernel->handle( + $request = Illuminate\Http\Request::capture() +); + +$response->send(); + +$kernel->terminate($request, $response); diff --git a/site/public/js/app.js b/site/public/js/app.js new file mode 100644 index 000000000..2b43e63b4 --- /dev/null +++ b/site/public/js/app.js @@ -0,0 +1,10 @@ +!function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,e,n){Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=12)}([function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(r){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){window._=n(6),window.$=window.jQuery=n(5),n(4),window.Vue=n(9),n(8),Vue.http.interceptors.push(function(t,e){t.headers["X-CSRF-TOKEN"]=Laravel.csrfToken,e()})},function(t,e,n){var r,i;r=n(3),r&&r.__esModule&&Object.keys(r).length>1,i=n(11),t.exports=r||{},t.exports.__esModule&&(t.exports=t.exports["default"]),i&&(("function"==typeof t.exports?t.exports.options||(t.exports.options={}):t.exports).template=i)},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]={ready:function(){}},t.exports=e["default"]},function(t,e){if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in e)if(void 0!==t.style[n])return{end:e[n]};return!1}t.fn.emulateTransitionEnd=function(e){var n=!1,r=this;t(this).one("bsTransitionEnd",function(){n=!0});var i=function(){n||t(r).trigger(t.support.transition.end)};return setTimeout(i,e),this},t(function(){t.support.transition=e(),t.support.transition&&(t.event.special.bsTransitionEnd={bindType:t.support.transition.end,delegateType:t.support.transition.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var n=t(this),i=n.data("bs.alert");i||n.data("bs.alert",i=new r(this)),"string"==typeof e&&i[e].call(n)})}var n='[data-dismiss="alert"]',r=function(e){t(e).on("click",n,this.close)};r.VERSION="3.3.7",r.TRANSITION_DURATION=150,r.prototype.close=function(e){function n(){s.detach().trigger("closed.bs.alert").remove()}var i=t(this),o=i.attr("data-target");o||(o=i.attr("href"),o=o&&o.replace(/.*(?=#[^\s]*$)/,""));var s=t("#"===o?[]:o);e&&e.preventDefault(),s.length||(s=i.closest(".alert")),s.trigger(e=t.Event("close.bs.alert")),e.isDefaultPrevented()||(s.removeClass("in"),t.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",n).emulateTransitionEnd(r.TRANSITION_DURATION):n())};var i=t.fn.alert;t.fn.alert=e,t.fn.alert.Constructor=r,t.fn.alert.noConflict=function(){return t.fn.alert=i,this},t(document).on("click.bs.alert.data-api",n,r.prototype.close)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.button"),o="object"==typeof e&&e;i||r.data("bs.button",i=new n(this,o)),"toggle"==e?i.toggle():e&&i.setState(e)})}var n=function(e,r){this.$element=t(e),this.options=t.extend({},n.DEFAULTS,r),this.isLoading=!1};n.VERSION="3.3.7",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(e){var n="disabled",r=this.$element,i=r.is("input")?"val":"html",o=r.data();e+="Text",null==o.resetText&&r.data("resetText",r[i]()),setTimeout(t.proxy(function(){r[i](null==o[e]?this.options[e]:o[e]),"loadingText"==e?(this.isLoading=!0,r.addClass(n).attr(n,n).prop(n,!0)):this.isLoading&&(this.isLoading=!1,r.removeClass(n).removeAttr(n).prop(n,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),t&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var r=t.fn.button;t.fn.button=e,t.fn.button.Constructor=n,t.fn.button.noConflict=function(){return t.fn.button=r,this},t(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var r=t(n.target).closest(".btn");e.call(r,"toggle"),t(n.target).is('input[type="radio"], input[type="checkbox"]')||(n.preventDefault(),r.is("input,button")?r.trigger("focus"):r.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){t(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.carousel"),o=t.extend({},n.DEFAULTS,r.data(),"object"==typeof e&&e),s="string"==typeof e?e:o.slide;i||r.data("bs.carousel",i=new n(this,o)),"number"==typeof e?i.to(e):s?i[s]():o.interval&&i.pause().cycle()})}var n=function(e,n){this.$element=t(e),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",t.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",t.proxy(this.pause,this)).on("mouseleave.bs.carousel",t.proxy(this.cycle,this))};n.VERSION="3.3.7",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},n.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(t.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},n.prototype.getItemForDirection=function(t,e){var n=this.getItemIndex(e),r="prev"==t&&0===n||"next"==t&&n==this.$items.length-1;if(r&&!this.options.wrap)return e;var i="prev"==t?-1:1,o=(n+i)%this.$items.length;return this.$items.eq(o)},n.prototype.to=function(t){var e=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):n==t?this.pause().cycle():this.slide(t>n?"next":"prev",this.$items.eq(t))},n.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&t.support.transition&&(this.$element.trigger(t.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){if(!this.sliding)return this.slide("next")},n.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},n.prototype.slide=function(e,r){var i=this.$element.find(".item.active"),o=r||this.getItemForDirection(e,i),s=this.interval,a="next"==e?"left":"right",u=this;if(o.hasClass("active"))return this.sliding=!1;var c=o[0],l=t.Event("slide.bs.carousel",{relatedTarget:c,direction:a});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,s&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var f=t(this.$indicators.children()[this.getItemIndex(o)]);f&&f.addClass("active")}var h=t.Event("slid.bs.carousel",{relatedTarget:c,direction:a});return t.support.transition&&this.$element.hasClass("slide")?(o.addClass(e),o[0].offsetWidth,i.addClass(a),o.addClass(a),i.one("bsTransitionEnd",function(){o.removeClass([e,a].join(" ")).addClass("active"),i.removeClass(["active",a].join(" ")),u.sliding=!1,setTimeout(function(){u.$element.trigger(h)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(h)),s&&this.cycle(),this}};var r=t.fn.carousel;t.fn.carousel=e,t.fn.carousel.Constructor=n,t.fn.carousel.noConflict=function(){return t.fn.carousel=r,this};var i=function(n){var r,i=t(this),o=t(i.attr("data-target")||(r=i.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,""));if(o.hasClass("carousel")){var s=t.extend({},o.data(),i.data()),a=i.attr("data-slide-to");a&&(s.interval=!1),e.call(o,s),a&&o.data("bs.carousel").to(a),n.preventDefault()}};t(document).on("click.bs.carousel.data-api","[data-slide]",i).on("click.bs.carousel.data-api","[data-slide-to]",i),t(window).on("load",function(){t('[data-ride="carousel"]').each(function(){var n=t(this);e.call(n,n.data())})})}(jQuery),+function(t){"use strict";function e(e){var n,r=e.attr("data-target")||(n=e.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return t(r)}function n(e){return this.each(function(){var n=t(this),i=n.data("bs.collapse"),o=t.extend({},r.DEFAULTS,n.data(),"object"==typeof e&&e);!i&&o.toggle&&/show|hide/.test(e)&&(o.toggle=!1),i||n.data("bs.collapse",i=new r(this,o)),"string"==typeof e&&i[e]()})}var r=function(e,n){this.$element=t(e),this.options=t.extend({},r.DEFAULTS,n),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};r.VERSION="3.3.7",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(e=i.data("bs.collapse"),e&&e.transitioning))){var o=t.Event("show.bs.collapse");if(this.$element.trigger(o),!o.isDefaultPrevented()){i&&i.length&&(n.call(i,"hide"),e||i.data("bs.collapse",null));var s=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[s](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[s](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return a.call(this);var u=t.camelCase(["scroll",s].join("-"));this.$element.one("bsTransitionEnd",t.proxy(a,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[s](this.$element[0][u])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[n](0).one("bsTransitionEnd",t.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION):i.call(this)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(n,r){var i=t(r);this.addAriaAndCollapsedClass(e(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var n=t.hasClass("in");t.attr("aria-expanded",n),e.toggleClass("collapsed",!n).attr("aria-expanded",n)};var i=t.fn.collapse;t.fn.collapse=n,t.fn.collapse.Constructor=r,t.fn.collapse.noConflict=function(){return t.fn.collapse=i,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(r){var i=t(this);i.attr("data-target")||r.preventDefault();var o=e(i),s=o.data("bs.collapse"),a=s?"toggle":i.data();n.call(o,a)})}(jQuery),+function(t){"use strict";function e(e){var n=e.attr("data-target");n||(n=e.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var r=n&&t(n);return r&&r.length?r:e.parent()}function n(n){n&&3===n.which||(t(i).remove(),t(o).each(function(){var r=t(this),i=e(r),o={relatedTarget:this};i.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&t.contains(i[0],n.target)||(i.trigger(n=t.Event("hide.bs.dropdown",o)),n.isDefaultPrevented()||(r.attr("aria-expanded","false"),i.removeClass("open").trigger(t.Event("hidden.bs.dropdown",o)))))}))}function r(e){return this.each(function(){var n=t(this),r=n.data("bs.dropdown");r||n.data("bs.dropdown",r=new s(this)),"string"==typeof e&&r[e].call(n)})}var i=".dropdown-backdrop",o='[data-toggle="dropdown"]',s=function(e){t(e).on("click.bs.dropdown",this.toggle)};s.VERSION="3.3.7",s.prototype.toggle=function(r){var i=t(this);if(!i.is(".disabled, :disabled")){var o=e(i),s=o.hasClass("open");if(n(),!s){"ontouchstart"in document.documentElement&&!o.closest(".navbar-nav").length&&t(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(t(this)).on("click",n);var a={relatedTarget:this};if(o.trigger(r=t.Event("show.bs.dropdown",a)),r.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),o.toggleClass("open").trigger(t.Event("shown.bs.dropdown",a))}return!1}},s.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var r=t(this);if(n.preventDefault(),n.stopPropagation(),!r.is(".disabled, :disabled")){var i=e(r),s=i.hasClass("open");if(!s&&27!=n.which||s&&27==n.which)return 27==n.which&&i.find(o).trigger("focus"),r.trigger("click");var a=" li:not(.disabled):visible a",u=i.find(".dropdown-menu"+a);if(u.length){var c=u.index(n.target);38==n.which&&c>0&&c--,40==n.which&&cdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(e,n,r){var i=this;if(this.enabled=!0,this.type=e,this.$element=t(n),this.options=this.getOptions(r),this.$viewport=this.options.viewport&&t(t.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),s=o.length;s--;){var a=o[s];if("click"==a)i.$element.on("click."+i.type,i.options.selector,t.proxy(i.toggle,i));else if("manual"!=a){var u="hover"==a?"mouseenter":"focusin",c="hover"==a?"mouseleave":"focusout";i.$element.on(u+"."+i.type,i.options.selector,t.proxy(i.enter,i)),i.$element.on(c+"."+i.type,i.options.selector,t.proxy(i.leave,i))}}this.options.selector?this._options=t.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(e){return e=t.extend({},this.getDefaults(),this.$element.data(),e),e.delay&&"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),e},n.prototype.getDelegateOptions=function(){var e={},n=this.getDefaults();return this._options&&t.each(this._options,function(t,r){n[t]!=r&&(e[t]=r)}),e},n.prototype.enter=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusin"==e.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){var t=this;for(var e in this.inState)if(t.inState[e])return!0;return!1},n.prototype.leave=function(e){var n=e instanceof this.constructor?e:t(e.currentTarget).data("bs."+this.type);if(n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n)),e instanceof t.Event&&(n.inState["focusout"==e.type?"focus":"hover"]=!1),!n.isInStateTrue())return clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide()},n.prototype.show=function(){var e=t.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var r=t.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!r)return;var i=this,o=this.tip(),s=this.getUID(this.type);this.setContent(),o.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&o.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,c=u.test(a);c&&(a=a.replace(u,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?o.appendTo(this.options.container):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),f=o[0].offsetWidth,h=o[0].offsetHeight;if(c){var p=a,d=this.getPosition(this.$viewport);a="bottom"==a&&l.bottom+h>d.bottom?"top":"top"==a&&l.top-hd.width?"left":"left"==a&&l.left-fs.top+s.height&&(i.top=s.top+s.height-u)}else{var c=e.left-o,l=e.left+o+n;cs.right&&(i.left=s.left+s.width-l)}return i},n.prototype.getTitle=function(){var t,e=this.$element,n=this.options;return t=e.attr("data-original-title")||("function"==typeof n.title?n.title.call(e[0]):n.title)},n.prototype.getUID=function(t){do t+=~~(1e6*Math.random());while(document.getElementById(t));return t},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=t(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(e){var n=this;e&&(n=t(e.currentTarget).data("bs."+this.type),n||(n=new this.constructor(e.currentTarget,this.getDelegateOptions()),t(e.currentTarget).data("bs."+this.type,n))),e?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})};var r=t.fn.tooltip;t.fn.tooltip=e,t.fn.tooltip.Constructor=n,t.fn.tooltip.noConflict=function(){return t.fn.tooltip=r,this}}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.popover"),o="object"==typeof e&&e;!i&&/destroy|hide/.test(e)||(i||r.data("bs.popover",i=new n(this,o)),"string"==typeof e&&i[e]())})}var n=function(t,e){this.init("popover",t,e)};if(!t.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.7",n.DEFAULTS=t.extend({},t.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),n.prototype=t.extend({},t.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),n=this.getContent();t.find(".popover-title")[this.options.html?"html":"text"](e),t.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var r=t.fn.popover;t.fn.popover=e,t.fn.popover.Constructor=n,t.fn.popover.noConflict=function(){return t.fn.popover=r,this}}(jQuery),+function(t){"use strict";function e(n,r){this.$body=t(document.body),this.$scrollElement=t(t(n).is(document.body)?window:n),this.options=t.extend({},e.DEFAULTS,r),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",t.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var r=t(this),i=r.data("bs.scrollspy"),o="object"==typeof n&&n;i||r.data("bs.scrollspy",i=new e(this,o)),"string"==typeof n&&i[n]()})}e.VERSION="3.3.7",e.DEFAULTS={offset:10},e.prototype.getScrollHeight=function(){ +return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},e.prototype.refresh=function(){var e=this,n="offset",r=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),t.isWindow(this.$scrollElement[0])||(n="position",r=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var e=t(this),i=e.data("target")||e.attr("href"),o=/^#./.test(i)&&t(i);return o&&o.length&&o.is(":visible")&&[[o[n]().top+r,i]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){e.offsets.push(this[0]),e.targets.push(this[1])})},e.prototype.process=function(){var t,e=this,n=this.$scrollElement.scrollTop()+this.options.offset,r=this.getScrollHeight(),i=this.options.offset+r-this.$scrollElement.height(),o=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=r&&this.refresh(),n>=i)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&n=o[t]&&(void 0===o[t+1]||n .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),e.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),a?(e[0].offsetWidth,e.addClass("in")):e.removeClass("fade"),e.parent(".dropdown-menu").length&&e.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}var s=r.find("> .active"),a=i&&t.support.transition&&(s.length&&s.hasClass("fade")||!!r.find("> .fade").length);s.length&&a?s.one("bsTransitionEnd",o).emulateTransitionEnd(n.TRANSITION_DURATION):o(),s.removeClass("in")};var r=t.fn.tab;t.fn.tab=e,t.fn.tab.Constructor=n,t.fn.tab.noConflict=function(){return t.fn.tab=r,this};var i=function(n){n.preventDefault(),e.call(t(this),"show")};t(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),+function(t){"use strict";function e(e){return this.each(function(){var r=t(this),i=r.data("bs.affix"),o="object"==typeof e&&e;i||r.data("bs.affix",i=new n(this,o)),"string"==typeof e&&i[e]()})}var n=function(e,r){this.options=t.extend({},n.DEFAULTS,r),this.$target=t(this.options.target).on("scroll.bs.affix.data-api",t.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",t.proxy(this.checkPositionWithEventLoop,this)),this.$element=t(e),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.7",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(t,e,n,r){var i=this.$target.scrollTop(),o=this.$element.offset(),s=this.$target.height();if(null!=n&&"top"==this.affixed)return i=t-r&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},n.prototype.checkPositionWithEventLoop=function(){setTimeout(t.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var e=this.$element.height(),r=this.options.offset,i=r.top,o=r.bottom,s=Math.max(t(document).height(),t(document.body).height());"object"!=typeof r&&(o=i=r),"function"==typeof i&&(i=r.top(this.$element)),"function"==typeof o&&(o=r.bottom(this.$element));var a=this.getState(s,e,i,o);if(this.affixed!=a){null!=this.unpin&&this.$element.css("top","");var u="affix"+(a?"-"+a:""),c=t.Event(u+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==a&&this.$element.offset({top:s-e-o})}};var r=t.fn.affix;t.fn.affix=e,t.fn.affix.Constructor=n,t.fn.affix.noConflict=function(){return t.fn.affix=r,this},t(window).on("load",function(){t('[data-spy="affix"]').each(function(){var n=t(this),r=n.data();r.offset=r.offset||{},null!=r.offsetBottom&&(r.offset.bottom=r.offsetBottom),null!=r.offsetTop&&(r.offset.top=r.offsetTop),e.call(n,r)})})}(jQuery)},function(t,e,n){var r,i;!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(t){if(!t.document)throw new Error("jQuery requires a window with a document");return n(t)}:n(e)}("undefined"!=typeof window?window:this,function(n,o){"use strict";function s(t,e){e=e||rt;var n=e.createElement("script");n.text=t,e.head.appendChild(n).parentNode.removeChild(n)}function a(t){var e=!!t&&"length"in t&&t.length,n=gt.type(t);return"function"!==n&&!gt.isWindow(t)&&("array"===n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function u(t,e,n){if(gt.isFunction(e))return gt.grep(t,function(t,r){return!!e.call(t,r,t)!==n});if(e.nodeType)return gt.grep(t,function(t){return t===e!==n});if("string"==typeof e){if($t.test(e))return gt.filter(e,t,n);e=gt.filter(e,t)}return gt.grep(t,function(t){return ut.call(e,t)>-1!==n&&1===t.nodeType})}function c(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}function l(t){var e={};return gt.each(t.match(Dt)||[],function(t,n){e[n]=!0}),e}function f(t){return t}function h(t){throw t}function p(t,e,n){var r;try{t&>.isFunction(r=t.promise)?r.call(t).done(e).fail(n):t&>.isFunction(r=t.then)?r.call(t,e,n):e.call(void 0,t)}catch(t){n.call(void 0,t)}}function d(){rt.removeEventListener("DOMContentLoaded",d),n.removeEventListener("load",d),gt.ready()}function v(){this.expando=gt.expando+v.uid++}function g(t,e,n){var r;if(void 0===n&&1===t.nodeType)if(r="data-"+e.replace(Wt,"-$&").toLowerCase(),n=t.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Ht.test(n)?JSON.parse(n):n)}catch(i){}Ft.set(t,e,n)}else n=void 0;return n}function m(t,e,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return gt.css(t,e,"")},u=a(),c=n&&n[3]||(gt.cssNumber[e]?"":"px"),l=(gt.cssNumber[e]||"px"!==c&&+u)&&Vt.exec(gt.css(t,e));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do o=o||".5",l/=o,gt.style(t,e,l+c);while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function y(t){var e,n=t.ownerDocument,r=t.nodeName,i=zt[r];return i?i:(e=n.body.appendChild(n.createElement(r)),i=gt.css(e,"display"),e.parentNode.removeChild(e),"none"===i&&(i="block"),zt[r]=i,i)}function b(t,e){for(var n,r,i=[],o=0,s=t.length;o-1)i&&i.push(o);else if(c=gt.contains(o.ownerDocument,o),s=_(f.appendChild(o),"script"),c&&w(s),n)for(l=0;o=s[l++];)Jt.test(o.type||"")&&n.push(o);return f}function C(){return!0}function T(){return!1}function E(){try{return rt.activeElement}catch(t){}}function $(t,e,n,r,i,o){var s,a;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=void 0);for(a in e)$(t,a,n,r,e[a],o);return t}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=T;else if(!i)return t;return 1===o&&(s=i,i=function(t){return gt().off(t),s.apply(this,arguments)},i.guid=s.guid||(s.guid=gt.guid++)),t.each(function(){gt.event.add(this,e,i,r,n)})}function k(t,e){return gt.nodeName(t,"table")&>.nodeName(11!==e.nodeType?e:e.firstChild,"tr")?t.getElementsByTagName("tbody")[0]||t:t}function N(t){return t.type=(null!==t.getAttribute("type"))+"/"+t.type,t}function O(t){var e=oe.exec(t.type);return e?t.type=e[1]:t.removeAttribute("type"),t}function A(t,e){var n,r,i,o,s,a,u,c;if(1===e.nodeType){if(Pt.hasData(t)&&(o=Pt.access(t),s=Pt.set(e,o),c=o.events)){delete s.handle,s.events={};for(i in c)for(n=0,r=c[i].length;n1&&"string"==typeof d&&!dt.checkClone&&ie.test(d))return t.each(function(i){var o=t.eq(i);v&&(e[0]=d.call(this,i,o.html())),D(o,e,n,r)});if(h&&(i=x(e,t[0].ownerDocument,!1,t,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(a=gt.map(_(i,"script"),N),u=a.length;f=0&&nC.cacheLength&&delete t[e.shift()],t[n+" "]=r}var e=[];return t}function r(t){return t[W]=!0,t}function i(t){var e=S.createElement("fieldset");try{return!!t(e)}catch(n){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function o(t,e){for(var n=t.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=e}function s(t,e){var n=e&&t,r=n&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===e)return-1;return t?1:-1}function a(t){return function(e){var n=e.nodeName.toLowerCase();return"input"===n&&e.type===t}}function u(t){return function(e){var n=e.nodeName.toLowerCase();return("input"===n||"button"===n)&&e.type===t}}function c(t){return function(e){return"label"in e&&e.disabled===t||"form"in e&&e.disabled===t||"form"in e&&e.disabled===!1&&(e.isDisabled===t||e.isDisabled!==!t&&("label"in e||!Tt(e))!==t)}}function l(t){return r(function(e){return e=+e,r(function(n,r){for(var i,o=t([],n.length,e),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function f(t){return t&&"undefined"!=typeof t.getElementsByTagName&&t}function h(){}function p(t){for(var e=0,n=t.length,r="";e1?function(e,n,r){for(var i=t.length;i--;)if(!t[i](e,n,r))return!1;return!0}:t[0]}function g(t,n,r){for(var i=0,o=n.length;i-1&&(r[c]=!(s[c]=f))}}else b=m(b===s?b.splice(d,b.length):b),o?o(null,s,b,u):Z.apply(s,b)})}function b(t){for(var e,n,r,i=t.length,o=C.relative[t[0].type],s=o||C.relative[" "],a=o?1:0,u=d(function(t){return t===e},s,!0),c=d(function(t){return tt(e,t)>-1},s,!0),l=[function(t,n,r){var i=!o&&(r||n!==O)||((e=n).nodeType?u(t,n,r):c(t,n,r));return e=null,i}];a1&&v(l),a>1&&p(t.slice(0,a-1).concat({value:" "===t[a-2].type?"*":""})).replace(at,"$1"),n,a0,o=t.length>0,s=function(r,s,a,u,c){var l,f,h,p=0,d="0",v=r&&[],g=[],y=O,b=r||o&&C.find.TAG("*",c),_=V+=null==y?1:Math.random()||.1,w=b.length;for(c&&(O=s===S||s||c);d!==w&&null!=(l=b[d]);d++){if(o&&l){for(f=0,s||l.ownerDocument===S||(D(l),a=!R);h=t[f++];)if(h(l,s||S,a)){u.push(l);break}c&&(V=_)}i&&((l=!h&&l)&&p--,r&&v.push(l))}if(p+=d,i&&d!==p){for(f=0;h=n[f++];)h(v,g,s,a);if(r){if(p>0)for(;d--;)v[d]||g[d]||(g[d]=Y.call(u));g=m(g)}Z.apply(u,g),c&&!r&&g.length>0&&p+n.length>1&&e.uniqueSort(u)}return c&&(V=_,O=y),v};return i?r(s):s}var w,x,C,T,E,$,k,N,O,A,j,D,S,I,R,L,P,F,H,W="sizzle"+1*new Date,q=t.document,V=0,M=0,B=n(),U=n(),z=n(),Q=function(t,e){return t===e&&(j=!0),0},X={}.hasOwnProperty,J=[],Y=J.pop,G=J.push,Z=J.push,K=J.slice,tt=function(t,e){for(var n=0,r=t.length;n+~]|"+nt+")"+nt+"*"),lt=new RegExp("="+nt+"*([^\\]'\"]*?)"+nt+"*\\]","g"),ft=new RegExp(ot),ht=new RegExp("^"+rt+"$"),pt={ID:new RegExp("^#("+rt+")"),CLASS:new RegExp("^\\.("+rt+")"),TAG:new RegExp("^("+rt+"|[*])"),ATTR:new RegExp("^"+it),PSEUDO:new RegExp("^"+ot),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),bool:new RegExp("^(?:"+et+")$","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},dt=/^(?:input|select|textarea|button)$/i,vt=/^h\d$/i,gt=/^[^{]+\{\s*\[native \w/,mt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,yt=/[+~]/,bt=new RegExp("\\\\([\\da-f]{1,6}"+nt+"?|("+nt+")|.)","ig"),_t=function(t,e,n){var r="0x"+e-65536;return r!==r||n?e:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},wt=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,xt=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t},Ct=function(){D()},Tt=d(function(t){return t.disabled===!0},{dir:"parentNode",next:"legend"});try{Z.apply(J=K.call(q.childNodes),q.childNodes),J[q.childNodes.length].nodeType}catch(Et){Z={apply:J.length?function(t,e){G.apply(t,K.call(e))}:function(t,e){for(var n=t.length,r=0;t[n++]=e[r++];);t.length=n-1}}}x=e.support={},E=e.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&"HTML"!==e.nodeName},D=e.setDocument=function(t){var e,n,r=t?t.ownerDocument||t:q;return r!==S&&9===r.nodeType&&r.documentElement?(S=r,I=S.documentElement,R=!E(S),q!==S&&(n=S.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ct,!1):n.attachEvent&&n.attachEvent("onunload",Ct)),x.attributes=i(function(t){return t.className="i",!t.getAttribute("className")}),x.getElementsByTagName=i(function(t){return t.appendChild(S.createComment("")),!t.getElementsByTagName("*").length}),x.getElementsByClassName=gt.test(S.getElementsByClassName),x.getById=i(function(t){return I.appendChild(t).id=W,!S.getElementsByName||!S.getElementsByName(W).length}),x.getById?(C.find.ID=function(t,e){if("undefined"!=typeof e.getElementById&&R){var n=e.getElementById(t);return n?[n]:[]}},C.filter.ID=function(t){var e=t.replace(bt,_t);return function(t){return t.getAttribute("id")===e}}):(delete C.find.ID,C.filter.ID=function(t){var e=t.replace(bt,_t);return function(t){var n="undefined"!=typeof t.getAttributeNode&&t.getAttributeNode("id");return n&&n.value===e}}),C.find.TAG=x.getElementsByTagName?function(t,e){return"undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t):x.qsa?e.querySelectorAll(t):void 0}:function(t,e){var n,r=[],i=0,o=e.getElementsByTagName(t);if("*"===t){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},C.find.CLASS=x.getElementsByClassName&&function(t,e){if("undefined"!=typeof e.getElementsByClassName&&R)return e.getElementsByClassName(t)},P=[],L=[],(x.qsa=gt.test(S.querySelectorAll))&&(i(function(t){I.appendChild(t).innerHTML="",t.querySelectorAll("[msallowcapture^='']").length&&L.push("[*^$]="+nt+"*(?:''|\"\")"),t.querySelectorAll("[selected]").length||L.push("\\["+nt+"*(?:value|"+et+")"),t.querySelectorAll("[id~="+W+"-]").length||L.push("~="),t.querySelectorAll(":checked").length||L.push(":checked"),t.querySelectorAll("a#"+W+"+*").length||L.push(".#.+[+~]")}),i(function(t){t.innerHTML="";var e=S.createElement("input");e.setAttribute("type","hidden"),t.appendChild(e).setAttribute("name","D"),t.querySelectorAll("[name=d]").length&&L.push("name"+nt+"*[*^$|!~]?="),2!==t.querySelectorAll(":enabled").length&&L.push(":enabled",":disabled"),I.appendChild(t).disabled=!0,2!==t.querySelectorAll(":disabled").length&&L.push(":enabled",":disabled"),t.querySelectorAll("*,:x"),L.push(",.*:")})),(x.matchesSelector=gt.test(F=I.matches||I.webkitMatchesSelector||I.mozMatchesSelector||I.oMatchesSelector||I.msMatchesSelector))&&i(function(t){x.disconnectedMatch=F.call(t,"*"),F.call(t,"[s!='']:x"),P.push("!=",ot)}),L=L.length&&new RegExp(L.join("|")),P=P.length&&new RegExp(P.join("|")),e=gt.test(I.compareDocumentPosition),H=e||gt.test(I.contains)?function(t,e){var n=9===t.nodeType?t.documentElement:t,r=e&&e.parentNode;return t===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):t.compareDocumentPosition&&16&t.compareDocumentPosition(r))); +}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},Q=e?function(t,e){if(t===e)return j=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n?n:(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1,1&n||!x.sortDetached&&e.compareDocumentPosition(t)===n?t===S||t.ownerDocument===q&&H(q,t)?-1:e===S||e.ownerDocument===q&&H(q,e)?1:A?tt(A,t)-tt(A,e):0:4&n?-1:1)}:function(t,e){if(t===e)return j=!0,0;var n,r=0,i=t.parentNode,o=e.parentNode,a=[t],u=[e];if(!i||!o)return t===S?-1:e===S?1:i?-1:o?1:A?tt(A,t)-tt(A,e):0;if(i===o)return s(t,e);for(n=t;n=n.parentNode;)a.unshift(n);for(n=e;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===q?-1:u[r]===q?1:0},S):S},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==S&&D(t),n=n.replace(lt,"='$1']"),x.matchesSelector&&R&&!z[n+" "]&&(!P||!P.test(n))&&(!L||!L.test(n)))try{var r=F.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,S,null,[t]).length>0},e.contains=function(t,e){return(t.ownerDocument||t)!==S&&D(t),H(t,e)},e.attr=function(t,e){(t.ownerDocument||t)!==S&&D(t);var n=C.attrHandle[e.toLowerCase()],r=n&&X.call(C.attrHandle,e.toLowerCase())?n(t,e,!R):void 0;return void 0!==r?r:x.attributes||!R?t.getAttribute(e):(r=t.getAttributeNode(e))&&r.specified?r.value:null},e.escape=function(t){return(t+"").replace(wt,xt)},e.error=function(t){throw new Error("Syntax error, unrecognized expression: "+t)},e.uniqueSort=function(t){var e,n=[],r=0,i=0;if(j=!x.detectDuplicates,A=!x.sortStable&&t.slice(0),t.sort(Q),j){for(;e=t[i++];)e===t[i]&&(r=n.push(i));for(;r--;)t.splice(n[r],1)}return A=null,t},T=e.getText=function(t){var e,n="",r=0,i=t.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)n+=T(t)}else if(3===i||4===i)return t.nodeValue}else for(;e=t[r++];)n+=T(e);return n},C=e.selectors={cacheLength:50,createPseudo:r,match:pt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(bt,_t),t[3]=(t[3]||t[4]||t[5]||"").replace(bt,_t),"~="===t[2]&&(t[3]=" "+t[3]+" "),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(t){var e,n=!t[6]&&t[2];return pt.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||"":n&&ft.test(n)&&(e=$(n,!0))&&(e=n.indexOf(")",n.length-e)-n.length)&&(t[0]=t[0].slice(0,e),t[2]=n.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(bt,_t).toLowerCase();return"*"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=B[t+" "];return e||(e=new RegExp("(^|"+nt+")"+t+"("+nt+"|$)"))&&B(t,function(t){return e.test("string"==typeof t.className&&t.className||"undefined"!=typeof t.getAttribute&&t.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(st," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(t,e,n,r,i){var o="nth"!==t.slice(0,3),s="last"!==t.slice(-4),a="of-type"===e;return 1===r&&0===i?function(t){return!!t.parentNode}:function(e,n,u){var c,l,f,h,p,d,v=o!==s?"nextSibling":"previousSibling",g=e.parentNode,m=a&&e.nodeName.toLowerCase(),y=!u&&!a,b=!1;if(g){if(o){for(;v;){for(h=e;h=h[v];)if(a?h.nodeName.toLowerCase()===m:1===h.nodeType)return!1;d=v="only"===t&&!d&&"nextSibling"}return!0}if(d=[s?g.firstChild:g.lastChild],s&&y){for(h=g,f=h[W]||(h[W]={}),l=f[h.uniqueID]||(f[h.uniqueID]={}),c=l[t]||[],p=c[0]===V&&c[1],b=p&&c[2],h=p&&g.childNodes[p];h=++p&&h&&h[v]||(b=p=0)||d.pop();)if(1===h.nodeType&&++b&&h===e){l[t]=[V,p,b];break}}else if(y&&(h=e,f=h[W]||(h[W]={}),l=f[h.uniqueID]||(f[h.uniqueID]={}),c=l[t]||[],p=c[0]===V&&c[1],b=p),b===!1)for(;(h=++p&&h&&h[v]||(b=p=0)||d.pop())&&((a?h.nodeName.toLowerCase()!==m:1!==h.nodeType)||!++b||(y&&(f=h[W]||(h[W]={}),l=f[h.uniqueID]||(f[h.uniqueID]={}),l[t]=[V,b]),h!==e)););return b-=i,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(t,n){var i,o=C.pseudos[t]||C.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[W]?o(n):o.length>1?(i=[t,t,"",n],C.setFilters.hasOwnProperty(t.toLowerCase())?r(function(t,e){for(var r,i=o(t,n),s=i.length;s--;)r=tt(t,i[s]),t[r]=!(e[r]=i[s])}):function(t){return o(t,0,i)}):o}},pseudos:{not:r(function(t){var e=[],n=[],i=k(t.replace(at,"$1"));return i[W]?r(function(t,e,n,r){for(var o,s=i(t,null,r,[]),a=t.length;a--;)(o=s[a])&&(t[a]=!(e[a]=o))}):function(t,r,o){return e[0]=t,i(e,null,o,n),e[0]=null,!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(t){return t=t.replace(bt,_t),function(e){return(e.textContent||e.innerText||T(e)).indexOf(t)>-1}}),lang:r(function(t){return ht.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(bt,_t).toLowerCase(),function(e){var n;do if(n=R?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var n=t.location&&t.location.hash;return n&&n.slice(1)===e.id},root:function(t){return t===I},focus:function(t){return t===S.activeElement&&(!S.hasFocus||S.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&!!t.checked||"option"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,t.selected===!0},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!C.pseudos.empty(t)},header:function(t){return vt.test(t.nodeName)},input:function(t){return dt.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return"input"===e&&"button"===t.type||"button"===e},text:function(t){var e;return"input"===t.nodeName.toLowerCase()&&"text"===t.type&&(null==(e=t.getAttribute("type"))||"text"===e.toLowerCase())},first:l(function(){return[0]}),last:l(function(t,e){return[e-1]}),eq:l(function(t,e,n){return[n<0?n+e:n]}),even:l(function(t,e){for(var n=0;n=0;)t.push(r);return t}),gt:l(function(t,e,n){for(var r=n<0?n+e:n;++r2&&"ID"===(s=o[0]).type&&x.getById&&9===e.nodeType&&R&&C.relative[o[1].type]){if(e=(C.find.ID(s.matches[0].replace(bt,_t),e)||[])[0],!e)return n;c&&(e=e.parentNode),t=t.slice(o.shift().value.length)}for(i=pt.needsContext.test(t)?0:o.length;i--&&(s=o[i],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(bt,_t),yt.test(o[0].type)&&f(e.parentNode)||e))){if(o.splice(i,1),t=r.length&&p(o),!t)return Z.apply(n,r),n;break}}return(c||k(t,l))(r,e,!R,n,!e||yt.test(t)&&f(e.parentNode)||e),n},x.sortStable=W.split("").sort(Q).join("")===W,x.detectDuplicates=!!j,D(),x.sortDetached=i(function(t){return 1&t.compareDocumentPosition(S.createElement("fieldset"))}),i(function(t){return t.innerHTML="","#"===t.firstChild.getAttribute("href")})||o("type|href|height|width",function(t,e,n){if(!n)return t.getAttribute(e,"type"===e.toLowerCase()?1:2)}),x.attributes&&i(function(t){return t.innerHTML="",t.firstChild.setAttribute("value",""),""===t.firstChild.getAttribute("value")})||o("value",function(t,e,n){if(!n&&"input"===t.nodeName.toLowerCase())return t.defaultValue}),i(function(t){return null==t.getAttribute("disabled")})||o(et,function(t,e,n){var r;if(!n)return t[e]===!0?e.toLowerCase():(r=t.getAttributeNode(e))&&r.specified?r.value:null}),e}(n);gt.find=wt,gt.expr=wt.selectors,gt.expr[":"]=gt.expr.pseudos,gt.uniqueSort=gt.unique=wt.uniqueSort,gt.text=wt.getText,gt.isXMLDoc=wt.isXML,gt.contains=wt.contains,gt.escapeSelector=wt.escape;var xt=function(t,e,n){for(var r=[],i=void 0!==n;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&>(t).is(n))break;r.push(t)}return r},Ct=function(t,e){for(var n=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&n.push(t);return n},Tt=gt.expr.match.needsContext,Et=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,$t=/^.[^:#\[\.,]*$/;gt.filter=function(t,e,n){var r=e[0];return n&&(t=":not("+t+")"),1===e.length&&1===r.nodeType?gt.find.matchesSelector(r,t)?[r]:[]:gt.find.matches(t,gt.grep(e,function(t){return 1===t.nodeType}))},gt.fn.extend({find:function(t){var e,n,r=this.length,i=this;if("string"!=typeof t)return this.pushStack(gt(t).filter(function(){var t=this;for(e=0;e1?gt.uniqueSort(n):n},filter:function(t){return this.pushStack(u(this,t||[],!1))},not:function(t){return this.pushStack(u(this,t||[],!0))},is:function(t){return!!u(this,"string"==typeof t&&Tt.test(t)?gt(t):t||[],!1).length}});var kt,Nt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Ot=gt.fn.init=function(t,e,n){var r,i,o=this;if(!t)return this;if(n=n||kt,"string"==typeof t){if(r="<"===t[0]&&">"===t[t.length-1]&&t.length>=3?[null,t,null]:Nt.exec(t),!r||!r[1]&&e)return!e||e.jquery?(e||n).find(t):this.constructor(e).find(t);if(r[1]){if(e=e instanceof gt?e[0]:e,gt.merge(this,gt.parseHTML(r[1],e&&e.nodeType?e.ownerDocument||e:rt,!0)),Et.test(r[1])&>.isPlainObject(e))for(r in e)gt.isFunction(o[r])?o[r](e[r]):o.attr(r,e[r]);return this}return i=rt.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):gt.isFunction(t)?void 0!==n.ready?n.ready(t):t(gt):gt.makeArray(t,this)};Ot.prototype=gt.fn,kt=gt(rt);var At=/^(?:parents|prev(?:Until|All))/,jt={children:!0,contents:!0,next:!0,prev:!0};gt.fn.extend({has:function(t){var e=gt(t,this),n=e.length;return this.filter(function(){for(var t=this,r=0;r-1:1===n.nodeType&>.find.matchesSelector(n,t))){o.push(n);break}return this.pushStack(o.length>1?gt.uniqueSort(o):o)},index:function(t){return t?"string"==typeof t?ut.call(gt(t),this[0]):ut.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(gt.uniqueSort(gt.merge(this.get(),gt(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),gt.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return xt(t,"parentNode")},parentsUntil:function(t,e,n){return xt(t,"parentNode",n)},next:function(t){return c(t,"nextSibling")},prev:function(t){return c(t,"previousSibling")},nextAll:function(t){return xt(t,"nextSibling")},prevAll:function(t){return xt(t,"previousSibling")},nextUntil:function(t,e,n){return xt(t,"nextSibling",n)},prevUntil:function(t,e,n){return xt(t,"previousSibling",n)},siblings:function(t){return Ct((t.parentNode||{}).firstChild,t)},children:function(t){return Ct(t.firstChild)},contents:function(t){return t.contentDocument||gt.merge([],t.childNodes)}},function(t,e){gt.fn[t]=function(n,r){var i=gt.map(this,e,n);return"Until"!==t.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=gt.filter(r,i)),this.length>1&&(jt[t]||gt.uniqueSort(i),At.test(t)&&i.reverse()),this.pushStack(i)}});var Dt=/\S+/g;gt.Callbacks=function(t){t="string"==typeof t?l(t):gt.extend({},t);var e,n,r,i,o=[],s=[],a=-1,u=function(){for(i=t.once,r=e=!0;s.length;a=-1)for(n=s.shift();++a-1;)o.splice(n,1),n<=a&&a--}),this},has:function(t){return t?gt.inArray(t,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=s=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=s=[],n||e||(o=n=""),this},locked:function(){return!!i},fireWith:function(t,n){return i||(n=n||[],n=[t,n.slice?n.slice():n],s.push(n),e||u()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},gt.extend({Deferred:function(t){var e=[["notify","progress",gt.Callbacks("memory"),gt.Callbacks("memory"),2],["resolve","done",gt.Callbacks("once memory"),gt.Callbacks("once memory"),0,"resolved"],["reject","fail",gt.Callbacks("once memory"),gt.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(t){return i.then(null,t)},pipe:function(){var t=arguments;return gt.Deferred(function(n){gt.each(e,function(e,r){var i=gt.isFunction(t[r[4]])&&t[r[4]];o[r[1]](function(){var t=i&&i.apply(this,arguments);t&>.isFunction(t.promise)?t.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[t]:arguments)})}),t=null}).promise()},then:function(t,r,i){function o(t,e,r,i){return function(){var a=this,u=arguments,c=function(){var n,c;if(!(t=s&&(r!==h&&(a=void 0,u=[n]),e.rejectWith(a,u))}};t?l():(gt.Deferred.getStackHook&&(l.stackTrace=gt.Deferred.getStackHook()),n.setTimeout(l))}}var s=0;return gt.Deferred(function(n){e[0][3].add(o(0,n,gt.isFunction(i)?i:f,n.notifyWith)),e[1][3].add(o(0,n,gt.isFunction(t)?t:f)),e[2][3].add(o(0,n,gt.isFunction(r)?r:h))}).promise()},promise:function(t){return null!=t?gt.extend(t,i):i}},o={};return gt.each(e,function(t,n){var s=n[2],a=n[5];i[n[1]]=s.add,a&&s.add(function(){r=a},e[3-t][2].disable,e[0][2].lock),s.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(t){var e=arguments.length,n=e,r=Array(n),i=ot.call(arguments),o=gt.Deferred(),s=function(t){return function(n){r[t]=this,i[t]=arguments.length>1?ot.call(arguments):n,--e||o.resolveWith(r,i)}};if(e<=1&&(p(t,o.done(s(n)).resolve,o.reject),"pending"===o.state()||gt.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)p(i[n],s(n),o.reject);return o.promise()}});var St=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;gt.Deferred.exceptionHook=function(t,e){n.console&&n.console.warn&&t&&St.test(t.name)&&n.console.warn("jQuery.Deferred exception: "+t.message,t.stack,e)},gt.readyException=function(t){n.setTimeout(function(){throw t})};var It=gt.Deferred();gt.fn.ready=function(t){return It.then(t)["catch"](function(t){gt.readyException(t)}),this},gt.extend({isReady:!1,readyWait:1,holdReady:function(t){t?gt.readyWait++:gt.ready(!0)},ready:function(t){(t===!0?--gt.readyWait:gt.isReady)||(gt.isReady=!0,t!==!0&&--gt.readyWait>0||It.resolveWith(rt,[gt]))}}),gt.ready.then=It.then,"complete"===rt.readyState||"loading"!==rt.readyState&&!rt.documentElement.doScroll?n.setTimeout(gt.ready):(rt.addEventListener("DOMContentLoaded",d),n.addEventListener("load",d));var Rt=function(t,e,n,r,i,o,s){var a=0,u=t.length,c=null==n;if("object"===gt.type(n)){i=!0;for(a in n)Rt(t,e,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,gt.isFunction(r)||(s=!0),c&&(s?(e.call(t,r),e=null):(c=e,e=function(t,e,n){return c.call(gt(t),n)})),e))for(;a1,null,!0)},removeData:function(t){return this.each(function(){Ft.remove(this,t)})}}),gt.extend({queue:function(t,e,n){var r;if(t)return e=(e||"fx")+"queue",r=Pt.get(t,e),n&&(!r||gt.isArray(n)?r=Pt.access(t,e,gt.makeArray(n)):r.push(n)),r||[]},dequeue:function(t,e){e=e||"fx";var n=gt.queue(t,e),r=n.length,i=n.shift(),o=gt._queueHooks(t,e),s=function(){gt.dequeue(t,e)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===e&&n.unshift("inprogress"),delete o.stop,i.call(t,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(t,e){var n=e+"queueHooks";return Pt.get(t,n)||Pt.access(t,n,{empty:gt.Callbacks("once memory").add(function(){Pt.remove(t,[e+"queue",n])})})}}),gt.fn.extend({queue:function(t,e){var n=2;return"string"!=typeof t&&(e=t,t="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Jt=/^$|\/(?:java|ecma)script/i,Yt={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Yt.optgroup=Yt.option,Yt.tbody=Yt.tfoot=Yt.colgroup=Yt.caption=Yt.thead,Yt.th=Yt.td;var Gt=/<|&#?\w+;/;!function(){var t=rt.createDocumentFragment(),e=t.appendChild(rt.createElement("div")),n=rt.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),dt.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",dt.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Zt=rt.documentElement,Kt=/^key/,te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ee=/^([^.]*)(?:\.(.+)|)/;gt.event={global:{},add:function(t,e,n,r,i){var o,s,a,u,c,l,f,h,p,d,v,g=Pt.get(t);if(g)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&>.find.matchesSelector(Zt,i),n.guid||(n.guid=gt.guid++),(u=g.events)||(u=g.events={}),(s=g.handle)||(s=g.handle=function(e){return"undefined"!=typeof gt&>.event.triggered!==e.type?gt.event.dispatch.apply(t,arguments):void 0}),e=(e||"").match(Dt)||[""],c=e.length;c--;)a=ee.exec(e[c])||[],p=v=a[1],d=(a[2]||"").split(".").sort(),p&&(f=gt.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=gt.event.special[p]||{},l=gt.extend({type:p,origType:v,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&>.expr.match.needsContext.test(i),namespace:d.join(".")},o),(h=u[p])||(h=u[p]=[],h.delegateCount=0,f.setup&&f.setup.call(t,r,d,s)!==!1||t.addEventListener&&t.addEventListener(p,s)),f.add&&(f.add.call(t,l),l.handler.guid||(l.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,l):h.push(l),gt.event.global[p]=!0)},remove:function(t,e,n,r,i){var o,s,a,u,c,l,f,h,p,d,v,g=Pt.hasData(t)&&Pt.get(t);if(g&&(u=g.events)){for(e=(e||"").match(Dt)||[""],c=e.length;c--;)if(a=ee.exec(e[c])||[],p=v=a[1],d=(a[2]||"").split(".").sort(),p){for(f=gt.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,h=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=h.length;o--;)l=h[o],!i&&v!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(h.splice(o,1),l.selector&&h.delegateCount--,f.remove&&f.remove.call(t,l));s&&!h.length&&(f.teardown&&f.teardown.call(t,d,g.handle)!==!1||gt.removeEvent(t,p,g.handle),delete u[p])}else for(p in u)gt.event.remove(t,p+e[c],n,r,!0);gt.isEmptyObject(u)&&Pt.remove(t,"handle events")}},dispatch:function(t){var e,n,r,i,o,s,a=arguments,u=gt.event.fix(t),c=new Array(arguments.length),l=(Pt.get(this,"events")||{})[u.type]||[],f=gt.event.special[u.type]||{};for(c[0]=u,e=1;e-1:gt.find(i,s,null,[c]).length),r[i]&&r.push(o);r.length&&a.push({elem:c,handlers:r})}return u\x20\t\r\n\f]*)[^>]*)\/>/gi,re=/\s*$/g;gt.extend({htmlPrefilter:function(t){return t.replace(ne,"<$1>")},clone:function(t,e,n){var r,i,o,s,a=t.cloneNode(!0),u=gt.contains(t.ownerDocument,t);if(!(dt.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||gt.isXMLDoc(t)))for(s=_(a),o=_(t),r=0,i=o.length;r0&&w(s,!u&&_(t,"script")),a},cleanData:function(t){for(var e,n,r,i=gt.event.special,o=0;void 0!==(n=t[o]);o++)if(Lt(n)){if(e=n[Pt.expando]){if(e.events)for(r in e.events)i[r]?gt.event.remove(n,r):gt.removeEvent(n,r,e.handle);n[Pt.expando]=void 0}n[Ft.expando]&&(n[Ft.expando]=void 0)}}}),gt.fn.extend({detach:function(t){return S(this,t,!0)},remove:function(t){return S(this,t)},text:function(t){return Rt(this,function(t){return void 0===t?gt.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return D(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=k(this,t);e.appendChild(t)}})},prepend:function(){return D(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=k(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return D(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return D(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(gt.cleanData(_(t,!1)),t.textContent="");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return gt.clone(this,t,e)})},html:function(t){return Rt(this,function(t){var e=this,n=this[0]||{},r=0,i=this.length;if(void 0===t&&1===n.nodeType)return n.innerHTML;if("string"==typeof t&&!re.test(t)&&!Yt[(Xt.exec(t)||["",""])[1].toLowerCase()]){t=gt.htmlPrefilter(t);try{for(;r1)}}),gt.Tween=W,W.prototype={constructor:W,init:function(t,e,n,r,i,o){this.elem=t,this.prop=n,this.easing=i||gt.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=r,this.unit=o||(gt.cssNumber[n]?"":"px")},cur:function(){var t=W.propHooks[this.prop];return t&&t.get?t.get(this):W.propHooks._default.get(this)},run:function(t){var e,n=W.propHooks[this.prop];return this.options.duration?this.pos=e=gt.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):W.propHooks._default.set(this),this}},W.prototype.init.prototype=W.prototype,W.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=gt.css(t.elem,t.prop,""),e&&"auto"!==e?e:0)},set:function(t){gt.fx.step[t.prop]?gt.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[gt.cssProps[t.prop]]&&!gt.cssHooks[t.prop]?t.elem[t.prop]=t.now:gt.style(t.elem,t.prop,t.now+t.unit)}}},W.propHooks.scrollTop=W.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},gt.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:"swing"},gt.fx=W.prototype.init,gt.fx.step={};var ve,ge,me=/^(?:toggle|show|hide)$/,ye=/queueHooks$/;gt.Animation=gt.extend(Q,{tweeners:{"*":[function(t,e){var n=this.createTween(t,e);return m(n.elem,t,Vt.exec(e),n),n}]},tweener:function(t,e){gt.isFunction(t)?(e=t,t=["*"]):t=t.match(Dt);for(var n,r=0,i=t.length;r1)},removeAttr:function(t){return this.each(function(){gt.removeAttr(this,t)})}}),gt.extend({attr:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof t.getAttribute?gt.prop(t,e,n):(1===o&>.isXMLDoc(t)||(i=gt.attrHooks[e.toLowerCase()]||(gt.expr.match.bool.test(e)?be:void 0)),void 0!==n?null===n?void gt.removeAttr(t,e):i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:(t.setAttribute(e,n+""),n):i&&"get"in i&&null!==(r=i.get(t,e))?r:(r=gt.find.attr(t,e),null==r?void 0:r))},attrHooks:{type:{set:function(t,e){if(!dt.radioValue&&"radio"===e&>.nodeName(t,"input")){var n=t.value;return t.setAttribute("type",e),n&&(t.value=n),e}}}},removeAttr:function(t,e){var n,r=0,i=e&&e.match(Dt);if(i&&1===t.nodeType)for(;n=i[r++];)t.removeAttribute(n)}}),be={set:function(t,e,n){return e===!1?gt.removeAttr(t,n):t.setAttribute(n,n),n}},gt.each(gt.expr.match.bool.source.match(/\w+/g),function(t,e){var n=_e[e]||gt.find.attr;_e[e]=function(t,e,r){var i,o,s=e.toLowerCase();return r||(o=_e[s],_e[s]=i,i=null!=n(t,e,r)?s:null,_e[s]=o),i}});var we=/^(?:input|select|textarea|button)$/i,xe=/^(?:a|area)$/i;gt.fn.extend({prop:function(t,e){return Rt(this,gt.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[gt.propFix[t]||t]})}}),gt.extend({prop:function(t,e,n){var r,i,o=t.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&>.isXMLDoc(t)||(e=gt.propFix[e]||e,i=gt.propHooks[e]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(t,n,e))?r:t[e]=n:i&&"get"in i&&null!==(r=i.get(t,e))?r:t[e]},propHooks:{tabIndex:{get:function(t){var e=gt.find.attr(t,"tabindex");return e?parseInt(e,10):we.test(t.nodeName)||xe.test(t.nodeName)&&t.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),dt.optSelected||(gt.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),gt.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){gt.propFix[this.toLowerCase()]=this});var Ce=/[\t\r\n\f]/g;gt.fn.extend({addClass:function(t){var e,n,r,i,o,s,a,u=0;if(gt.isFunction(t))return this.each(function(e){gt(this).addClass(t.call(this,e,X(this)))});if("string"==typeof t&&t)for(e=t.match(Dt)||[];n=this[u++];)if(i=X(n),r=1===n.nodeType&&(" "+i+" ").replace(Ce," ")){for(s=0;o=e[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");a=gt.trim(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(t){var e,n,r,i,o,s,a,u=0;if(gt.isFunction(t))return this.each(function(e){gt(this).removeClass(t.call(this,e,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof t&&t)for(e=t.match(Dt)||[];n=this[u++];)if(i=X(n),r=1===n.nodeType&&(" "+i+" ").replace(Ce," ")){for(s=0;o=e[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");a=gt.trim(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(t,e){var n=typeof t;return"boolean"==typeof e&&"string"===n?e?this.addClass(t):this.removeClass(t):gt.isFunction(t)?this.each(function(n){gt(this).toggleClass(t.call(this,n,X(this),e),e)}):this.each(function(){var e,r,i,o;if("string"===n)for(r=0,i=gt(this),o=t.match(Dt)||[];e=o[r++];)i.hasClass(e)?i.removeClass(e):i.addClass(e);else void 0!==t&&"boolean"!==n||(e=X(this),e&&Pt.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||t===!1?"":Pt.get(this,"__className__")||""))})},hasClass:function(t){var e,n,r=0;for(e=" "+t+" ";n=this[r++];)if(1===n.nodeType&&(" "+X(n)+" ").replace(Ce," ").indexOf(e)>-1)return!0;return!1}});var Te=/\r/g,Ee=/[\x20\t\r\n\f]+/g;gt.fn.extend({val:function(t){var e,n,r,i=this[0];{if(arguments.length)return r=gt.isFunction(t),this.each(function(n){var i;1===this.nodeType&&(i=r?t.call(this,n,gt(this).val()):t,null==i?i="":"number"==typeof i?i+="":gt.isArray(i)&&(i=gt.map(i,function(t){return null==t?"":t+""})),e=gt.valHooks[this.type]||gt.valHooks[this.nodeName.toLowerCase()],e&&"set"in e&&void 0!==e.set(this,i,"value")||(this.value=i))});if(i)return e=gt.valHooks[i.type]||gt.valHooks[i.nodeName.toLowerCase()],e&&"get"in e&&void 0!==(n=e.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Te,""):null==n?"":n)}}}),gt.extend({valHooks:{option:{get:function(t){var e=gt.find.attr(t,"value");return null!=e?e:gt.trim(gt.text(t)).replace(Ee," ")}},select:{get:function(t){for(var e,n,r=t.options,i=t.selectedIndex,o="select-one"===t.type,s=o?null:[],a=o?i+1:r.length,u=i<0?a:o?i:0;u-1)&&(n=!0);return n||(t.selectedIndex=-1),o}}}}),gt.each(["radio","checkbox"],function(){gt.valHooks[this]={set:function(t,e){if(gt.isArray(e))return t.checked=gt.inArray(gt(t).val(),e)>-1}},dt.checkOn||(gt.valHooks[this].get=function(t){return null===t.getAttribute("value")?"on":t.value})});var $e=/^(?:focusinfocus|focusoutblur)$/;gt.extend(gt.event,{trigger:function(t,e,r,i){var o,s,a,u,c,l,f,h=[r||rt],p=ft.call(t,"type")?t.type:t,d=ft.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||rt,3!==r.nodeType&&8!==r.nodeType&&!$e.test(p+gt.event.triggered)&&(p.indexOf(".")>-1&&(d=p.split("."),p=d.shift(),d.sort()),c=p.indexOf(":")<0&&"on"+p,t=t[gt.expando]?t:new gt.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),e=null==e?[t]:gt.makeArray(e,[t]),f=gt.event.special[p]||{},i||!f.trigger||f.trigger.apply(r,e)!==!1)){if(!i&&!f.noBubble&&!gt.isWindow(r)){for(u=f.delegateType||p,$e.test(u+p)||(s=s.parentNode);s;s=s.parentNode)h.push(s),a=s;a===(r.ownerDocument||rt)&&h.push(a.defaultView||a.parentWindow||n)}for(o=0;(s=h[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||p,l=(Pt.get(s,"events")||{})[t.type]&&Pt.get(s,"handle"),l&&l.apply(s,e),l=c&&s[c],l&&l.apply&&Lt(s)&&(t.result=l.apply(s,e),t.result===!1&&t.preventDefault());return t.type=p,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),e)!==!1||!Lt(r)||c&>.isFunction(r[p])&&!gt.isWindow(r)&&(a=r[c],a&&(r[c]=null),gt.event.triggered=p,r[p](),gt.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(t,e,n){var r=gt.extend(new gt.Event,n,{type:t,isSimulated:!0});gt.event.trigger(r,null,e)}}),gt.fn.extend({trigger:function(t,e){return this.each(function(){gt.event.trigger(t,e,this)})},triggerHandler:function(t,e){var n=this[0];if(n)return gt.event.trigger(t,e,n,!0)}}),gt.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(t,e){gt.fn[e]=function(t,n){return arguments.length>0?this.on(e,null,t,n):this.trigger(e)}}),gt.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),dt.focusin="onfocusin"in n,dt.focusin||gt.each({focus:"focusin",blur:"focusout"},function(t,e){var n=function(t){gt.event.simulate(e,t.target,gt.event.fix(t))};gt.event.special[e]={setup:function(){var r=this.ownerDocument||this,i=Pt.access(r,e);i||r.addEventListener(t,n,!0),Pt.access(r,e,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Pt.access(r,e)-1;i?Pt.access(r,e,i):(r.removeEventListener(t,n,!0),Pt.remove(r,e))}}});var ke=n.location,Ne=gt.now(),Oe=/\?/;gt.parseXML=function(t){var e;if(!t||"string"!=typeof t)return null;try{e=(new n.DOMParser).parseFromString(t,"text/xml")}catch(r){e=void 0}return e&&!e.getElementsByTagName("parsererror").length||gt.error("Invalid XML: "+t),e};var Ae=/\[\]$/,je=/\r?\n/g,De=/^(?:submit|button|image|reset|file)$/i,Se=/^(?:input|select|textarea|keygen)/i;gt.param=function(t,e){var n,r=[],i=function(t,e){var n=gt.isFunction(e)?e():e;r[r.length]=encodeURIComponent(t)+"="+encodeURIComponent(null==n?"":n)};if(gt.isArray(t)||t.jquery&&!gt.isPlainObject(t))gt.each(t,function(){i(this.name,this.value)});else for(n in t)J(n,t[n],e,i);return r.join("&")},gt.fn.extend({serialize:function(){return gt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=gt.prop(this,"elements");return t?gt.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!gt(this).is(":disabled")&&Se.test(this.nodeName)&&!De.test(t)&&(this.checked||!Qt.test(t))}).map(function(t,e){var n=gt(this).val();return null==n?null:gt.isArray(n)?gt.map(n,function(t){return{name:e.name,value:t.replace(je,"\r\n")}}):{name:e.name,value:n.replace(je,"\r\n")}}).get()}});var Ie=/%20/g,Re=/#.*$/,Le=/([?&])_=[^&]*/,Pe=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fe=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,He=/^(?:GET|HEAD)$/,We=/^\/\//,qe={},Ve={},Me="*/".concat("*"),Be=rt.createElement("a");Be.href=ke.href,gt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ke.href,type:"GET",isLocal:Fe.test(ke.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Me,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":gt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?Z(Z(t,gt.ajaxSettings),e):Z(gt.ajaxSettings,t)},ajaxPrefilter:Y(qe),ajaxTransport:Y(Ve),ajax:function(t,e){function r(t,e,r,a){var c,h,p,_,w,x=e;l||(l=!0,u&&n.clearTimeout(u),i=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(_=K(d,C,r)),_=tt(d,_,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(gt.lastModified[o]=w),w=C.getResponseHeader("etag"),w&&(gt.etag[o]=w)),204===t||"HEAD"===d.type?x="nocontent":304===t?x="notmodified":(x=_.state,h=_.data,p=_.error,c=!p)):(p=x,!t&&x||(x="error",t<0&&(t=0))),C.status=t,C.statusText=(e||x)+"",c?m.resolveWith(v,[h,x,C]):m.rejectWith(v,[C,x,p]),C.statusCode(b),b=void 0,f&&g.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?h:p]),y.fireWith(v,[C,x]),f&&(g.trigger("ajaxComplete",[C,d]),--gt.active||gt.event.trigger("ajaxStop")))}"object"==typeof t&&(e=t,t=void 0),e=e||{};var i,o,s,a,u,c,l,f,h,p,d=gt.ajaxSetup({},e),v=d.context||d,g=d.context&&(v.nodeType||v.jquery)?gt(v):gt.event,m=gt.Deferred(),y=gt.Callbacks("once memory"),b=d.statusCode||{},_={},w={},x="canceled",C={readyState:0,getResponseHeader:function(t){var e;if(l){if(!a)for(a={};e=Pe.exec(s);)a[e[1].toLowerCase()]=e[2];e=a[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(t,e){return null==l&&(t=w[t.toLowerCase()]=w[t.toLowerCase()]||t,_[t]=e),this},overrideMimeType:function(t){return null==l&&(d.mimeType=t),this},statusCode:function(t){var e;if(t)if(l)C.always(t[C.status]);else for(e in t)b[e]=[b[e],t[e]];return this},abort:function(t){var e=t||x;return i&&i.abort(e),r(0,e),this}};if(m.promise(C),d.url=((t||d.url||ke.href)+"").replace(We,ke.protocol+"//"),d.type=e.method||e.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(Dt)||[""],null==d.crossDomain){c=rt.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=Be.protocol+"//"+Be.host!=c.protocol+"//"+c.host}catch(T){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=gt.param(d.data,d.traditional)),G(qe,d,e,C),l)return C;f=gt.event&&d.global,f&&0===gt.active++&>.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!He.test(d.type),o=d.url.replace(Re,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Ie,"+")):(p=d.url.slice(o.length),d.data&&(o+=(Oe.test(o)?"&":"?")+d.data,delete d.data),d.cache===!1&&(o=o.replace(Le,""),p=(Oe.test(o)?"&":"?")+"_="+Ne++ +p),d.url=o+p),d.ifModified&&(gt.lastModified[o]&&C.setRequestHeader("If-Modified-Since",gt.lastModified[o]),gt.etag[o]&&C.setRequestHeader("If-None-Match",gt.etag[o])),(d.data&&d.hasContent&&d.contentType!==!1||e.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Me+"; q=0.01":""):d.accepts["*"]);for(h in d.headers)C.setRequestHeader(h,d.headers[h]);if(d.beforeSend&&(d.beforeSend.call(v,C,d)===!1||l))return C.abort();if(x="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),i=G(Ve,d,e,C)){if(C.readyState=1,f&&g.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=n.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,i.send(_,r)}catch(T){if(l)throw T;r(-1,T)}}else r(-1,"No Transport");return C},getJSON:function(t,e,n){return gt.get(t,e,n,"json")},getScript:function(t,e){return gt.get(t,void 0,e,"script")}}),gt.each(["get","post"],function(t,e){gt[e]=function(t,n,r,i){return gt.isFunction(n)&&(i=i||r,r=n,n=void 0),gt.ajax(gt.extend({url:t,type:e,dataType:i,data:n,success:r},gt.isPlainObject(t)&&t))}}),gt._evalUrl=function(t){return gt.ajax({url:t,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},gt.fn.extend({wrapAll:function(t){var e;return this[0]&&(gt.isFunction(t)&&(t=t.call(this[0])),e=gt(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return gt.isFunction(t)?this.each(function(e){gt(this).wrapInner(t.call(this,e))}):this.each(function(){var e=gt(this),n=e.contents();n.length?n.wrapAll(t):e.append(t)})},wrap:function(t){var e=gt.isFunction(t);return this.each(function(n){gt(this).wrapAll(e?t.call(this,n):t)})},unwrap:function(t){return this.parent(t).not("body").each(function(){gt(this).replaceWith(this.childNodes)}),this}}),gt.expr.pseudos.hidden=function(t){return!gt.expr.pseudos.visible(t)},gt.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},gt.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}};var Ue={0:200,1223:204},ze=gt.ajaxSettings.xhr();dt.cors=!!ze&&"withCredentials"in ze,dt.ajax=ze=!!ze,gt.ajaxTransport(function(t){var e,r;if(dt.cors||ze&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);e=function(t){return function(){e&&(e=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===t?a.abort():"error"===t?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Ue[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=e(),r=a.onerror=e("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){e&&r()})},e=e("abort");try{a.send(t.hasContent&&t.data||null)}catch(u){if(e)throw u}},abort:function(){e&&e()}}}),gt.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),gt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(t){return gt.globalEval(t),t}}}),gt.ajaxPrefilter("script",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type="GET")}),gt.ajaxTransport("script",function(t){if(t.crossDomain){var e,n;return{send:function(r,i){e=gt(" + + + + + + + diff --git a/resources/views/layouts/header.blade.php b/resources/views/layouts/header.blade.php new file mode 100644 index 000000000..933f824eb --- /dev/null +++ b/resources/views/layouts/header.blade.php @@ -0,0 +1,20 @@ + + + + + + + + + + + {{ config('app.name', 'Laravel') }} + + + + + + + + + \ No newline at end of file diff --git a/resources/views/layouts/menu.blade.php b/resources/views/layouts/menu.blade.php new file mode 100644 index 000000000..18e07325f --- /dev/null +++ b/resources/views/layouts/menu.blade.php @@ -0,0 +1,67 @@ +
+ +
+
+ @if (count($errors) > 0) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif \ No newline at end of file diff --git a/site/routes/api.php b/routes/api.php similarity index 100% rename from site/routes/api.php rename to routes/api.php diff --git a/site/routes/console.php b/routes/console.php similarity index 100% rename from site/routes/console.php rename to routes/console.php diff --git a/site/routes/web.php b/routes/web.php similarity index 92% rename from site/routes/web.php rename to routes/web.php index 09d18f5f1..962278784 100644 --- a/site/routes/web.php +++ b/routes/web.php @@ -21,6 +21,6 @@ Route::group(['middleware' => ['auth']], function () { - Route::resource('curso', 'CursosController'); + Route::resource('cursos', 'CursosController'); }); \ No newline at end of file diff --git a/site/server.php b/server.php similarity index 100% rename from site/server.php rename to server.php diff --git a/site/app/Http/Controllers/ApiController.php b/site/app/Http/Controllers/ApiController.php deleted file mode 100644 index c60c6b128..000000000 --- a/site/app/Http/Controllers/ApiController.php +++ /dev/null @@ -1,10 +0,0 @@ - { - request.headers.set('X-CSRF-TOKEN', Laravel.csrfToken); - - next(); -}); - -/** - * Echo exposes an expressive API for subscribing to channels and listening - * for events that are broadcast by Laravel. Echo and event broadcasting - * allows your team to easily build robust real-time web applications. - */ - -// import Echo from "laravel-echo" - -// window.Echo = new Echo({ -// broadcaster: 'pusher', -// key: 'your-pusher-key' -// }); diff --git a/site/resources/views/errors/503.blade.php b/site/resources/views/errors/503.blade.php deleted file mode 100644 index eb76d26b1..000000000 --- a/site/resources/views/errors/503.blade.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - Be right back. - - - - - - -
-
-
Be right back.
-
-
- - diff --git a/site/resources/views/vendor/.gitkeep b/site/resources/views/vendor/.gitkeep deleted file mode 100644 index 8b1378917..000000000 --- a/site/resources/views/vendor/.gitkeep +++ /dev/null @@ -1 +0,0 @@ - diff --git a/site/resources/views/welcome.blade.php b/site/resources/views/welcome.blade.php deleted file mode 100644 index d6760370a..000000000 --- a/site/resources/views/welcome.blade.php +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - Laravel - - - - - - - - -
- @if (Route::has('login')) - - @endif - -
-
- Laravel -
- - -
-
- - diff --git a/site/storage/app/.gitignore b/storage/app/.gitignore similarity index 100% rename from site/storage/app/.gitignore rename to storage/app/.gitignore diff --git a/site/storage/app/public/.gitignore b/storage/app/public/.gitignore similarity index 100% rename from site/storage/app/public/.gitignore rename to storage/app/public/.gitignore diff --git a/site/storage/framework/.gitignore b/storage/framework/.gitignore similarity index 100% rename from site/storage/framework/.gitignore rename to storage/framework/.gitignore diff --git a/site/storage/framework/cache/.gitignore b/storage/framework/cache/.gitignore similarity index 100% rename from site/storage/framework/cache/.gitignore rename to storage/framework/cache/.gitignore diff --git a/site/storage/framework/sessions/.gitignore b/storage/framework/sessions/.gitignore similarity index 100% rename from site/storage/framework/sessions/.gitignore rename to storage/framework/sessions/.gitignore diff --git a/site/storage/framework/views/.gitignore b/storage/framework/views/.gitignore similarity index 100% rename from site/storage/framework/views/.gitignore rename to storage/framework/views/.gitignore diff --git a/site/storage/logs/.gitignore b/storage/logs/.gitignore similarity index 100% rename from site/storage/logs/.gitignore rename to storage/logs/.gitignore diff --git a/site/tests/ExampleTest.php b/tests/ExampleTest.php similarity index 100% rename from site/tests/ExampleTest.php rename to tests/ExampleTest.php diff --git a/site/tests/TestCase.php b/tests/TestCase.php similarity index 100% rename from site/tests/TestCase.php rename to tests/TestCase.php From 1e511638d0358312342811f7a1119c0fb0caa796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dom=C3=ADcio=20Martins?= Date: Mon, 5 Nov 2018 00:29:17 -0200 Subject: [PATCH 6/7] =?UTF-8?q?Aplica=C3=A7=C3=A3o=20est=C3=A1vel=20com=20?= =?UTF-8?q?o=20cadastro=20do=20curso=20e=20visualiza=C3=A7=C3=A3o=20na=20l?= =?UTF-8?q?istagem.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Cursos.php | 9 ++-- app/Http/Controllers/CursosController.php | 14 +++--- app/Http/Requests/StoreCursos.php | 10 ++-- public/css/default.css | 12 ++++- public/js/default.js | 36 +------------- resources/views/cursos/create.blade.php | 47 +++++++++--------- resources/views/cursos/edit.blade.php | 36 -------------- resources/views/cursos/index.blade.php | 57 +++++++++++++--------- resources/views/cursos/show.blade.php | 42 ---------------- resources/views/layouts/header.blade.php | 2 +- schema/schema.png | Bin 0 -> 47804 bytes 11 files changed, 89 insertions(+), 176 deletions(-) delete mode 100644 resources/views/cursos/edit.blade.php delete mode 100644 resources/views/cursos/show.blade.php create mode 100644 schema/schema.png diff --git a/app/Cursos.php b/app/Cursos.php index 2dbdd53fb..06a2fc23e 100644 --- a/app/Cursos.php +++ b/app/Cursos.php @@ -9,19 +9,18 @@ class Cursos extends Model { protected $table = "cursos"; - protected $fillable = ['id_professor', 'id_sala', 'nome', 'inicio', 'fim']; - // protected $touches = ['Professors', 'Clientes']; + protected $fillable = ['professor_id', 'sala_id', 'nome', 'inicio', 'fim', 'user_id']; public function Professor(){ - return Professores::find($this->id_professor)->nome; + return Professores::find($this->professor_id)->nome; } public function Materia(){ - return Professores::find($this->id_professor)->materia; + return Professores::find($this->professor_id)->materia; } public function Sala(){ - return Salas::find($this->id_sala)->nome; + return Salas::find($this->sala_id)->nome; } } diff --git a/app/Http/Controllers/CursosController.php b/app/Http/Controllers/CursosController.php index cf168e3c0..94f54ea56 100644 --- a/app/Http/Controllers/CursosController.php +++ b/app/Http/Controllers/CursosController.php @@ -8,6 +8,7 @@ use App\Cursos; use App\Salas; use App\Professores; +use Illuminate\Support\Facades\Auth; class CursosController extends Controller { @@ -31,7 +32,8 @@ public function create() { $salas = Salas::pluck('nome', 'id')->toArray(); $professores = Professores::pluck('nome', 'id')->toArray(); - return view('Cursos.create', compact('salas', 'professores')); + $user = Auth::user()->id; + return view('Cursos.create', compact('salas', 'professores', 'user')); } /** @@ -44,7 +46,7 @@ public function store(StoreCursos $request) { $curso = $request->all(); Cursos::create($curso); - return redirect('Cursos'); + return redirect('cursos'); } /** @@ -56,7 +58,7 @@ public function store(StoreCursos $request) public function show($id) { $curso=Cursos::find($id); - return view('Cursos.show',compact('curso')); + return view('cursos.show',compact('curso')); } /** @@ -71,7 +73,7 @@ public function edit($id) $status = Cursos::getStatus(); $salas = Salas::pluck('nome', 'id')->toArray(); $professores = Professores::pluck('nome', 'id')->toArray(); - return view('Cursos.edit',compact('curso','professores', 'salas')); + return view('cursos.edit',compact('curso','professores', 'salas')); } /** @@ -87,7 +89,7 @@ public function update(StoreCursos $request, $id) $curso = Cursos::find($id); $curso->update($cursoUpdate); - return redirect('Cursos'); + return redirect('cursos'); } /** @@ -100,6 +102,6 @@ public function destroy($id) { Cursos::find($id)->delete(); - return redirect('Cursos'); + return redirect('cursos'); } } diff --git a/app/Http/Requests/StoreCursos.php b/app/Http/Requests/StoreCursos.php index d65ff9dcd..0532f1884 100644 --- a/app/Http/Requests/StoreCursos.php +++ b/app/Http/Requests/StoreCursos.php @@ -24,11 +24,11 @@ public function authorize() public function rules() { return [ - 'id_professor' => 'required', - 'id_sala' => 'required', - 'nome' => 'required', - 'inicio' => 'required', - 'fim' => 'required', + 'professor_id' => 'required', + 'sala_id' => 'required', + 'nome' => 'required|max:255', + 'inicio' => 'required|date', + 'fim' => 'required|date', // ]; } diff --git a/public/css/default.css b/public/css/default.css index 5e261479b..3882e87a5 100644 --- a/public/css/default.css +++ b/public/css/default.css @@ -1,3 +1,11 @@ -.search-size{ - width: 100%; +.border-rounded-black{ + border: 1px solid #000; + border-radius: 5px; } + +.margin-top-10{ + margin-top: 10px; +} +.margin-top-bottom-5{ + margin: 5px; +} \ No newline at end of file diff --git a/public/js/default.js b/public/js/default.js index 1ba9ba330..0dc025123 100644 --- a/public/js/default.js +++ b/public/js/default.js @@ -7,40 +7,8 @@ $(document).ready(function(){ return false }; - if($('table').exists()){ - // Setup - add a text input to each footer cell - $('table thead th').not('.no-filter').each( function () { - var title = $(this).text(); - $(this).append( '
' ); - } ); - - // DataTable - var table = $('table').DataTable(intialize_datatable); - - //Evitar bug do sorting - $('.search-size').click(function(e){ - e.stopPropagation(); - }); - - // Apply the search - table.columns().every( function () { - var that = this; - - $('.search-size', this.header() ).on('keyup change', function (event) { - if ( that.search() !== this.value ) { - that - .search( this.value ) - .draw(); - } - } ); - } ); - + if($('.time-format').exists()){ + $('.time-format').mask('H0:MN', {translation: {'N': {pattern: /[0-9]/}, 'M': {pattern: /[0-5]/}, 'H0': {pattern: /[0-1]/}} }); } - if($('#DtPedido').exists()){ - $('#DtPedido').mask('0000-00-00 00:00:00'); - } - if($('#ValorUnitario').exists()){ - $('#ValorUnitario').mask('0000.00', {reverse: true}); - } }); \ No newline at end of file diff --git a/resources/views/cursos/create.blade.php b/resources/views/cursos/create.blade.php index 4e13fadec..ea5390bba 100644 --- a/resources/views/cursos/create.blade.php +++ b/resources/views/cursos/create.blade.php @@ -1,33 +1,34 @@ @extends('layouts.app') @section('content') -

{{ trans('messages.Create')." ".trans('messages.Order') }}

+

Criar Curso

{!! Form::open(['method' => 'POST', 'url' => 'cursos']) !!} -
- {!! Form::label('nome', "Nome:") !!} - {!! Form::text('nome', null, ['class'=>'form-control col-sm-12 col-md-6', 'placeholder'=>'Nome do curso']) !!} -
-
- {!! Form::label('id_professor', "Professor:") !!} - {!! Form::select('id_professor', $professores, null, ['class'=>'form-control col-sm-12 col-md-6']) !!} -
-
- {!! Form::label('id_sala', "Sala:") !!} - {!! Form::select('id_sala',$salas, null, ['class'=>'form-control col-sm-12 col-md-6']) !!} -
-
- {!! Form::label('Inicio', "Inicio:") !!} - {!! Form::text('inicio',null,['class'=>'form-control col-sm-6 col-md-6','placeholder'=>'Inicio']) !!} - {!! Form::text('fim',null,['class'=>'form-control col-sm-6 col-md-6','placeholder'=>'Fim']) !!} -
-
-
-
+ {{ Form::hidden('user_id', $user) }} +
+
+ {!! Form::text('nome', null, ['class'=>'form-control ', 'placeholder'=>'Nome do curso']) !!} +
+
+ {!! Form::select('professor_id', $professores, null, ['class'=>'form-control ']) !!} +
+
+
+
+ {!! Form::select('sala_id',$salas, null, ['class'=>'form-control ']) !!} +
+
+ {!! Form::text('inicio',null,['class'=>'form-control time-format','placeholder'=>'Inicio' ]) !!} +
+
+ {!! Form::text('fim',null,['class'=>'form-control time-format','placeholder'=>'Fim']) !!} +
+
+
+
{!! Form::submit(trans('messages.Save'), ['class' => 'btn btn-primary form-control']) !!}
- -
{!! Form::close() !!} @stop \ No newline at end of file diff --git a/resources/views/cursos/edit.blade.php b/resources/views/cursos/edit.blade.php deleted file mode 100644 index d9ea8d81d..000000000 --- a/resources/views/cursos/edit.blade.php +++ /dev/null @@ -1,36 +0,0 @@ -@extends('layouts.app') -@section('content') -

{{ trans('messages.Update')." ".trans('messages.Order') }}

- {!! Form::model($pedido,['method' => 'PATCH','route'=>['pedidos.update',$pedido->id]]) !!} -
- {!! Form::label('DtPedido', trans('messages.DtPedido').":") !!} - {!! Form::text('DtPedido', null, ['class'=>'form-control', 'id'=>'DtPedido', 'placeholder'=>'____-__-__ __:__:__']) !!} -
-
- {!! Form::label('id_produto', trans('messages.Product').":") !!} - {!! Form::select('id_produto', $produtos, null, ['class'=>'form-control']) !!} -
-
- {!! Form::label('id_cliente', trans('messages.Client').":") !!} - {!! Form::select('id_cliente',$clientes, null, ['class'=>'form-control']) !!} -
-
- {!! Form::label('status', trans('messages.Status').":") !!} - {!! Form::select('status',$status, null, ['class'=>'form-control']) !!} -
-
- {!! Form::label('Quantidade', trans('messages.Amount').":") !!} - {!! Form::text('Quantidade',null,['class'=>'form-control', 'placeholder'=>'0']) !!} -
-
-
-
- {!! Form::submit(trans('messages.Update'), ['class' => 'btn btn-primary form-control']) !!} -
- -
-
- {!! Form::close() !!} -@stop \ No newline at end of file diff --git a/resources/views/cursos/index.blade.php b/resources/views/cursos/index.blade.php index 1156c0d4d..7921bdf04 100644 --- a/resources/views/cursos/index.blade.php +++ b/resources/views/cursos/index.blade.php @@ -4,29 +4,42 @@

Cursos

Novo curso
-
+ @if (count($cursos) == 0) + +
+

Não há cursos cadastrados no momento.

+
+ + @else @foreach ($cursos as $curso) -
-
- {{ $curso->Materia() }} -
-
- - - -
-
- {{ $curso->Professor()}} -
-
- {{ $curso->Sala()}} -
-
- {{ $curso->inicio}} às {{ $curso->fim}} -
-
+
+
+
+
+

{{ $curso->nome }}

+
+
+

+ + + +

+
+
+
+
+ Prof. {{ $curso->Professor()}} +
+
+ Sala {{ $curso->Sala()}} +
+
+ {{ substr($curso->inicio, 0, 5)}} às {{ substr($curso->fim, 0, 5)}} +
+
+
+
@endforeach - -
+ @endif @endsection \ No newline at end of file diff --git a/resources/views/cursos/show.blade.php b/resources/views/cursos/show.blade.php deleted file mode 100644 index 0de6ef942..000000000 --- a/resources/views/cursos/show.blade.php +++ /dev/null @@ -1,42 +0,0 @@ -@extends('layouts.app') -@section('content') -

{{ trans('messages.Show')." ".trans('messages.Order') }}

-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
- - -
-@stop \ No newline at end of file diff --git a/resources/views/layouts/header.blade.php b/resources/views/layouts/header.blade.php index 933f824eb..951dae831 100644 --- a/resources/views/layouts/header.blade.php +++ b/resources/views/layouts/header.blade.php @@ -13,8 +13,8 @@ - + \ No newline at end of file diff --git a/schema/schema.png b/schema/schema.png new file mode 100644 index 0000000000000000000000000000000000000000..362d0138067d63d18360bebdf3efb54923703954 GIT binary patch literal 47804 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 Date: Mon, 5 Nov 2018 01:09:51 -0200 Subject: [PATCH 7/7] =?UTF-8?q?Instru=C3=A7=C3=B5es=20no=20readme=20e=20pe?= =?UTF-8?q?quenas=20corre=C3=A7=C3=B5es.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 28 +++------------ app/Http/Controllers/CursosController.php | 4 +-- app/Http/Requests/StoreCursos.php | 4 +-- public/js/default.js | 2 +- readme (2).md | 40 ---------------------- resources/views/cursos/create.blade.php | 4 +-- resources/views/cursos/edit.blade.php | 34 ++++++++++++++++++ resources/views/cursos/index.blade.php | 13 +++++-- routes/web.php | 2 -- schema/schema.png | Bin 47804 -> 48610 bytes 10 files changed, 55 insertions(+), 76 deletions(-) delete mode 100644 readme (2).md create mode 100644 resources/views/cursos/edit.blade.php diff --git a/README.md b/README.md index 86d70e367..4e225a96d 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,9 @@ # Desafio Celso Lisboa para FullStack -### Cenário +### Start -**Como** Coordenador Acadêmico de uma Instituição de Ensino -**Eu preciso** realizar a gestão dos cursos oferecidos pela Instituição, com seus respectivos professores, salas e horários -**Para** que o setor de Marketing possa vender os cursos online. +Criar a base celsolisboa no banco -### Segue instruções para realizar o desafio +rodar php artisan migrate para executar as migrações -1. Faça um fork deste repositório. -2. Baseado no cenário acima, modele e crie o esquema do banco de dados para armazenar as informações normalizadas. - * Comite a imagem em jpg ou png do DER e o script do DDL. -3. Desenvolva uma API REST para realizar as operações necessárias com o banco de dados criado. -4. Baseado nas imagens `wireframe/1-login-mobile.png` e `wireframe/2-login-desktop.png`, crie a tela de login da aplicação. - * Considere apenas uma validação simples por e-mail e senha. - * Não existe a necessidade de CRUD de usuário, recuperação de senha ou outra operação mais complexa. -5. Baseado nas imagens `wireframe/3-cursos-mobile.png` e `wireframe/4-cursos-desktop.png`, crie a tela de visualização e deleção de cursos. - * Deve conter as informações de horário, professor e sala. -6. Baseado nas imagens `wireframe/5-detalhe-mobile.png` e `wireframe/6-detalhe-desktop.png`, crie a tela de criação e alteração de cursos. - * Os campos de professor e sala deverão ser um multi-select. - * Não existe a necessidade de CRUD de professor e sala. -7. Realizar um Pull Request para este repositório, com instruções necessárias para instalação e instânciação dos sistemas. - -### O que será avaliado - -1. Fidelidade às instruções e ao cenário. -2. Clean Code e boas práticas. -3. Boas práticas de versionamento. +Endereço da aplicação -> http://localhost/desafio-fullstack/public diff --git a/app/Http/Controllers/CursosController.php b/app/Http/Controllers/CursosController.php index 94f54ea56..a3a718d69 100644 --- a/app/Http/Controllers/CursosController.php +++ b/app/Http/Controllers/CursosController.php @@ -70,10 +70,10 @@ public function show($id) public function edit($id) { $curso = Cursos::find($id); - $status = Cursos::getStatus(); $salas = Salas::pluck('nome', 'id')->toArray(); $professores = Professores::pluck('nome', 'id')->toArray(); - return view('cursos.edit',compact('curso','professores', 'salas')); + $user = Auth::user()->id; + return view('cursos.edit',compact('curso','professores', 'salas', 'user')); } /** diff --git a/app/Http/Requests/StoreCursos.php b/app/Http/Requests/StoreCursos.php index 0532f1884..2f7b90510 100644 --- a/app/Http/Requests/StoreCursos.php +++ b/app/Http/Requests/StoreCursos.php @@ -27,8 +27,8 @@ public function rules() 'professor_id' => 'required', 'sala_id' => 'required', 'nome' => 'required|max:255', - 'inicio' => 'required|date', - 'fim' => 'required|date', + 'inicio' => 'required', + 'fim' => 'required', // ]; } diff --git a/public/js/default.js b/public/js/default.js index 0dc025123..e2d2cb060 100644 --- a/public/js/default.js +++ b/public/js/default.js @@ -8,7 +8,7 @@ $(document).ready(function(){ }; if($('.time-format').exists()){ - $('.time-format').mask('H0:MN', {translation: {'N': {pattern: /[0-9]/}, 'M': {pattern: /[0-5]/}, 'H0': {pattern: /[0-1]/}} }); + $('.time-format').mask('H0:MN', {translation: {'N': {pattern: /[0-9]/}, 'M': {pattern: /[0-5]/}, 'H': {pattern: /[0-1]/}} }); } }); \ No newline at end of file diff --git a/readme (2).md b/readme (2).md deleted file mode 100644 index 70f23e0b7..000000000 --- a/readme (2).md +++ /dev/null @@ -1,40 +0,0 @@ -

- -

-Build Status -Total Downloads -Latest Stable Version -License -

- -## About Laravel - -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as: - -- [Simple, fast routing engine](https://laravel.com/docs/routing). -- [Powerful dependency injection container](https://laravel.com/docs/container). -- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. -- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). -- Database agnostic [schema migrations](https://laravel.com/docs/migrations). -- [Robust background job processing](https://laravel.com/docs/queues). -- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). - -Laravel is accessible, yet powerful, providing tools needed for large, robust applications. A superb combination of simplicity, elegance, and innovation give you tools you need to build any application with which you are tasked. - -## Learning Laravel - -Laravel has the most extensive and thorough documentation and video tutorial library of any modern web application framework. The [Laravel documentation](https://laravel.com/docs) is thorough, complete, and makes it a breeze to get started learning the framework. - -If you're not in the mood to read, [Laracasts](https://laracasts.com) contains over 900 video tutorials on a range of topics including Laravel, modern PHP, unit testing, JavaScript, and more. Boost the skill level of yourself and your entire team by digging into our comprehensive video library. - -## Contributing - -Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions). - -## Security Vulnerabilities - -If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell at taylor@laravel.com. All security vulnerabilities will be promptly addressed. - -## License - -The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT). diff --git a/resources/views/cursos/create.blade.php b/resources/views/cursos/create.blade.php index ea5390bba..4ea3cdacd 100644 --- a/resources/views/cursos/create.blade.php +++ b/resources/views/cursos/create.blade.php @@ -8,12 +8,12 @@ {!! Form::text('nome', null, ['class'=>'form-control ', 'placeholder'=>'Nome do curso']) !!}
- {!! Form::select('professor_id', $professores, null, ['class'=>'form-control ']) !!} + {!! Form::select('professor_id', $professores, null, ['class'=>'form-control', 'multiple' => 'multiple']) !!}
- {!! Form::select('sala_id',$salas, null, ['class'=>'form-control ']) !!} + {!! Form::select('sala_id',$salas, null, ['class'=>'form-control', 'multiple' => 'multiple']) !!}
{!! Form::text('inicio',null,['class'=>'form-control time-format','placeholder'=>'Inicio' ]) !!} diff --git a/resources/views/cursos/edit.blade.php b/resources/views/cursos/edit.blade.php new file mode 100644 index 000000000..57d94ceee --- /dev/null +++ b/resources/views/cursos/edit.blade.php @@ -0,0 +1,34 @@ +@extends('layouts.app') +@section('content') +

Editar Curso

+ {!! Form::model($curso,['method' => 'PATCH','route'=>['cursos.update',$curso->id]]) !!} + {{ Form::hidden('user_id', $user) }} +
+
+ {!! Form::text('nome', null, ['class'=>'form-control ', 'placeholder'=>'Nome do curso']) !!} +
+
+ {!! Form::select('professor_id', $professores, null, ['class'=>'form-control', 'multiple' => 'multiple']) !!} +
+
+
+
+ {!! Form::select('sala_id',$salas, null, ['class'=>'form-control', 'multiple' => 'multiple']) !!} +
+
+ {!! Form::text('inicio',null,['class'=>'form-control time-format','placeholder'=>'Inicio' ]) !!} +
+
+ {!! Form::text('fim',null,['class'=>'form-control time-format','placeholder'=>'Fim']) !!} +
+
+
+
+ {!! Form::submit(trans('messages.Save'), ['class' => 'btn btn-primary form-control']) !!} +
+ +
+ {!! Form::close() !!} +@stop \ No newline at end of file diff --git a/resources/views/cursos/index.blade.php b/resources/views/cursos/index.blade.php index 7921bdf04..ae90ad36a 100644 --- a/resources/views/cursos/index.blade.php +++ b/resources/views/cursos/index.blade.php @@ -16,12 +16,19 @@
-
+

{{ $curso->nome }}

-
+ +
+

+

diff --git a/routes/web.php b/routes/web.php index 962278784..fd6ae2db9 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,7 +20,5 @@ Route::get('/home', 'HomeController@index')->name('home'); Route::group(['middleware' => ['auth']], function () { - Route::resource('cursos', 'CursosController'); - }); \ No newline at end of file diff --git a/schema/schema.png b/schema/schema.png index 362d0138067d63d18360bebdf3efb54923703954..9239bafeb49b57a049e8f0167c2c35d36484f6d0 100644 GIT binary patch literal 48610 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