diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-07-16 00:09:33 +0200 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-07-16 00:09:33 +0200 |
commit | 4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8 (patch) | |
tree | 8869134f1c3b5f7c3841578fbcaa4ff9cee7e2bc | |
parent | a6104f47f7a0534664f8f3740f303f01e7e7399e (diff) | |
download | chd_gestion-4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8.zip chd_gestion-4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8.tar.gz chd_gestion-4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8.tar.bz2 |
Cake 3.6.7 fresh install
79 files changed, 6936 insertions, 0 deletions
diff --git a/app-from-scratch.sh b/app-from-scratch.sh new file mode 100644 index 0000000..418686d --- /dev/null +++ b/app-from-scratch.sh @@ -0,0 +1,91 @@ + +# on a debian 9 fresh VM +ssh -A intarnet@intarnet.fr + +# "fork" from CHD' git repos +git config --global -e +git clone root@chd.sx:/var/git/chd_gestion +cd ~/chd_gestion/ +git checkout a6104f4 +git checkout -b cake36 +editor app-from-scratch.sh # Adding notes progressively + +# env setup +sudo apt --yes install php-cli apache2 libapache2-mod-php php-mbstring php-intl php-xml php-sqlite3 phpmyadmin mariadb-server unzip +sudo a2disconf phpmyadmin +sudo apache2 restart +sudo mkdir /var/www/intarnet.fr +sudo chown intarnet: /var/www/intarnet.fr + +# composer install +wget -q https://getcomposer.org/composer.phar -O ~/bin/composer.phar +chmod +x ~/bin/composer.phar +echo 'export PATH="$PATH:~/bin"' >> ~/.bashrc +source ~/.bashrc +composer.phar --version +# Composer version 1.7-dev (006c921abde5a9fa5ec682014265e3203a0987b1) 2018-07-12 20:08:52 + +# cake install +cd ~/chd_gestion/ +mkdir fai_gestion +yes | php ~/composer.phar create-project --prefer-dist cakephp/app fai_gestion +ln -s ~intarnet/chd_gestion/fai_gestion/bin/cake ~/bin/ +cd ~/chd_gestion/fai_gestion +cake version +# 3.6.7 + +# cake first start (embed webserver) +cake server -p 8080 +# from desktop linux : +# ssh -L 8080:localhost:8080 intarnet@intarnet.fr +# firefox http://localhost:8080/ +# -> everything green except database connection +^C + +# prepare for apache2 +ln -s ~intarnet/chd_gestion/fai_gestion /var/www/intarnet.fr/gestion +sudo chgrp -R www-data tmp/ logs/ +sudo chmod -R ug=rwX,o=rX tmp/ logs/ +# (cake bake runs with intarnet user, web served pages with www-data) +# do NOT allow www-data write elsewhere +sudo mv logs /var/log/fai_gestion +ln -s /var/log/fai_gestion logs + +# apache2 vhost excerpt + +# Alias "/gestion" "/var/www/intarnet.fr/gestion/webroot" +# <Directory /var/www/intarnet.fr/gestion> +# Options None +# AllowOverride None +# Require all denied +# </Directory> +# <Directory /var/www/intarnet.fr/gestion/webroot> +# Options SymLinksIfOwnerMatch +# AllowOverride None +# +# AuthType Basic +# AuthName "Partie privee" +# AuthUserFile /etc/apache2/passwords/intarnet.fr/www_priv.passwd +# Require valid-user +# +# SetEnv APP_DEFAULT_LOCALE fr_FR +# SetEnv DEBUG true +# +# RequestHeader unset Proxy +# RewriteEngine On +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteRule ^ index.php [L] +# </Directory> + +sudo a2enmod env headers rewrite +sudo service apache2 restart + +# from desktop linux : +# firefox https://intarnet.fr/gestion/ +# -> everything green except database connection + +cd ~/chd_gestion/ +cat fai_gestion/.gitignore +git add app-from-scratch.sh fai_gestion +git commit -m "Cake 3.6.7 fresh install" + diff --git a/fai_gestion/.editorconfig b/fai_gestion/.editorconfig new file mode 100644 index 0000000..7be895e --- /dev/null +++ b/fai_gestion/.editorconfig @@ -0,0 +1,24 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at http://editorconfig.org + +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.bat] +end_of_line = crlf + +[*.yml] +indent_style = space +indent_size = 2 + +[*.twig] +insert_final_newline = false + +[Makefile] +indent_style = tab diff --git a/fai_gestion/.gitattributes b/fai_gestion/.gitattributes new file mode 100644 index 0000000..9eafcd3 --- /dev/null +++ b/fai_gestion/.gitattributes @@ -0,0 +1,46 @@ +# Define the line ending behavior of the different file extensions +# Set default behaviour, in case users don't have core.autocrlf set. +* text=auto +* text eol=lf + +# Explicitly declare text files we want to always be normalized and converted +# to native line endings on checkout. +*.php text +*.default text +*.ctp text +*.sql text +*.md text +*.po text +*.js text +*.css text +*.ini text +*.properties text +*.txt text +*.xml text +*.svg text +*.yml text +.htaccess text + +# Declare files that will always have CRLF line endings on checkout. +*.bat eol=crlf + +# Declare files that will always have LF line endings on checkout. +*.pem eol=lf + +# Denote all files that are truly binary and should not be modified. +*.png binary +*.jpg binary +*.gif binary +*.ico binary +*.mo binary +*.pdf binary +*.phar binary +*.woff binary +*.woff2 binary +*.ttf binary +*.otf binary +*.eot binary +*.gz binary +*.bz2 binary +*.7z binary +*.zip binary diff --git a/fai_gestion/.github/ISSUE_TEMPLATE.md b/fai_gestion/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..660b539 --- /dev/null +++ b/fai_gestion/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,23 @@ +This is a (multiple allowed): + +* [x] bug +* [ ] enhancement +* [ ] feature-discussion (RFC) + +* CakePHP Application Skeleton Version: EXACT RELEASE VERSION OR COMMIT HASH, HERE. +* Platform and Target: YOUR WEB-SERVER, DATABASE AND OTHER RELEVANT INFO AND HOW THE REQUEST IS BEING MADE, HERE. + +### What you did +EXPLAIN WHAT YOU DID, PREFERABLY WITH CODE EXAMPLES, HERE. + +### What happened +EXPLAIN WHAT IS ACTUALLY HAPPENING, HERE. + +### What you expected to happen +EXPLAIN WHAT IS TO BE EXPECTED, HERE. + +P.S. Remember, an issue is not the place to ask questions. You can use [Stack Overflow](https://stackoverflow.com/questions/tagged/cakephp) +for that or join the #cakephp channel on irc.freenode.net, where we will be more +than happy to help answer your questions. + +Before you open an issue, please check if a similar issue already exists or has been closed before.
\ No newline at end of file diff --git a/fai_gestion/.github/PULL_REQUEST_TEMPLATE.md b/fai_gestion/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..05ca9eb --- /dev/null +++ b/fai_gestion/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,10 @@ +**PLEASE NOTE:** + +This is only a issue tracker for issues related to the CakePHP Application Skeleton. +For CakePHP Framework issues please use this [issue tracker](https://github.com/cakephp/cakephp/issues). + +Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue. + +The best way to propose a feature is to open an issue first and discuss your ideas there before implementing them. + +Always follow the [contribution guidelines](https://github.com/cakephp/cakephp/blob/master/.github/CONTRIBUTING.md) guidelines when submitting a pull request. In particular, make sure existing tests still pass, and add tests for all new behavior. When fixing a bug, you may want to add a test to verify the fix.
\ No newline at end of file diff --git a/fai_gestion/.gitignore b/fai_gestion/.gitignore new file mode 100644 index 0000000..e8ecc54 --- /dev/null +++ b/fai_gestion/.gitignore @@ -0,0 +1,40 @@ +# CakePHP specific files # +########################## +/config/app.php +/config/.env +/logs/* +/tmp/* +/vendor/* + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db + +# Tool specific files # +####################### +# vim +*~ +*.swp +*.swo +# sublime text & textmate +*.sublime-* +*.stTheme.cache +*.tmlanguage.cache +*.tmPreferences.cache +# Eclipse +.settings/* +# JetBrains, aka PHPStorm, IntelliJ IDEA +.idea/* +# NetBeans +nbproject/* +# Visual Studio Code +.vscode +# Sass preprocessor +.sass-cache/ diff --git a/fai_gestion/.htaccess b/fai_gestion/.htaccess new file mode 100644 index 0000000..54b08e8 --- /dev/null +++ b/fai_gestion/.htaccess @@ -0,0 +1,12 @@ +# Uncomment the following to prevent the httpoxy vulnerability +# See: https://httpoxy.org/ +#<IfModule mod_headers.c> +# RequestHeader unset Proxy +#</IfModule> + +<IfModule mod_rewrite.c> + RewriteEngine on + RewriteRule ^(\.well-known/.*)$ $1 [L] + RewriteRule ^$ webroot/ [L] + RewriteRule (.*) webroot/$1 [L] +</IfModule> diff --git a/fai_gestion/.travis.yml b/fai_gestion/.travis.yml new file mode 100644 index 0000000..3c86b71 --- /dev/null +++ b/fai_gestion/.travis.yml @@ -0,0 +1,31 @@ +language: php + +dist: trusty + +sudo: false + +php: + - 5.6 + - 7.0 + - 7.1 + - 7.2 + +matrix: + fast_finish: true + + include: + - php: 7.0 + env: PHPCS=1 + +before_script: + - if [[ $PHPCS = 1 ]]; then composer require cakephp/cakephp-codesniffer:~2.1; fi + - if [[ $PHPCS != 1 ]]; then composer install; fi + - if [[ $PHPCS != 1 ]]; then composer require phpunit/phpunit:"^5.7|^6.0"; fi + - if [[ $PHPCS != 1 ]]; then composer run-script post-install-cmd --no-interaction; fi + +script: + - if [[ $PHPCS != 1 ]]; then vendor/bin/phpunit; fi + - if [[ $PHPCS = 1 ]]; then vendor/bin/phpcs -p --extensions=php --standard=vendor/cakephp/cakephp-codesniffer/CakePHP ./src ./tests ./config ./webroot; fi + +notifications: + email: false diff --git a/fai_gestion/README.md b/fai_gestion/README.md new file mode 100644 index 0000000..61f89d3 --- /dev/null +++ b/fai_gestion/README.md @@ -0,0 +1,51 @@ +# CakePHP Application Skeleton + +[![Build Status](https://img.shields.io/travis/cakephp/app/master.svg?style=flat-square)](https://travis-ci.org/cakephp/app) +[![Total Downloads](https://img.shields.io/packagist/dt/cakephp/app.svg?style=flat-square)](https://packagist.org/packages/cakephp/app) + +A skeleton for creating applications with [CakePHP](https://cakephp.org) 3.x. + +The framework source code can be found here: [cakephp/cakephp](https://github.com/cakephp/cakephp). + +## Installation + +1. Download [Composer](https://getcomposer.org/doc/00-intro.md) or update `composer self-update`. +2. Run `php composer.phar create-project --prefer-dist cakephp/app [app_name]`. + +If Composer is installed globally, run + +```bash +composer create-project --prefer-dist cakephp/app +``` + +In case you want to use a custom app dir name (e.g. `/myapp/`): + +```bash +composer create-project --prefer-dist cakephp/app myapp +``` + +You can now either use your machine's webserver to view the default home page, or start +up the built-in webserver with: + +```bash +bin/cake server -p 8765 +``` + +Then visit `http://localhost:8765` to see the welcome page. + +## Update + +Since this skeleton is a starting point for your application and various files +would have been modified as per your needs, there isn't a way to provide +automated upgrades, so you have to do any updates manually. + +## Configuration + +Read and edit `config/app.php` and setup the `'Datasources'` and any other +configuration relevant for your application. + +## Layout + +The app skeleton uses a subset of [Foundation](http://foundation.zurb.com/) (v5) CSS +framework by default. You can, however, replace it with any other library or +custom styles. diff --git a/fai_gestion/bin/cake b/fai_gestion/bin/cake new file mode 100755 index 0000000..c5c7000 --- /dev/null +++ b/fai_gestion/bin/cake @@ -0,0 +1,68 @@ +#!/usr/bin/env sh +################################################################################ +# +# Cake is a shell script for invoking CakePHP shell commands +# +# CakePHP(tm) : Rapid Development Framework (https://cakephp.org) +# Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# +# Licensed under The MIT License +# For full copyright and license information, please see the LICENSE.txt +# Redistributions of files must retain the above copyright notice. +# +# @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# @link https://cakephp.org CakePHP(tm) Project +# @since 1.2.0 +# @license https://opensource.org/licenses/mit-license.php MIT License +# +################################################################################ + +# Canonicalize by following every symlink of the given name recursively +canonicalize() { + NAME="$1" + if [ -f "$NAME" ] + then + DIR=$(dirname -- "$NAME") + NAME=$(cd -P "$DIR" > /dev/null && pwd -P)/$(basename -- "$NAME") + fi + while [ -h "$NAME" ]; do + DIR=$(dirname -- "$NAME") + SYM=$(readlink "$NAME") + NAME=$(cd "$DIR" > /dev/null && cd $(dirname -- "$SYM") > /dev/null && pwd)/$(basename -- "$SYM") + done + echo "$NAME" +} + +# Find a CLI version of PHP +findCliPhp() { + for TESTEXEC in php php-cli /usr/local/bin/php + do + SAPI=`echo "<?= PHP_SAPI ?>" | $TESTEXEC 2>/dev/null` + if [ "$SAPI" = "cli" ] + then + echo $TESTEXEC + return + fi + done + echo "Failed to find a CLI version of PHP; falling back to system standard php executable" >&2 + echo "php"; +} + +CONSOLE=$(dirname -- "$(canonicalize "$0")") +APP=$(dirname "$CONSOLE") + +# If your CLI PHP is somewhere that this doesn't find, you can define a PHP environment +# variable with the correct path in it. +if [ -z "$PHP" ] +then + PHP=$(findCliPhp) +fi + +if [ $(basename $0) != 'cake' ] +then + exec $PHP "$CONSOLE"/cake.php $(basename $0) "$@" +else + exec $PHP "$CONSOLE"/cake.php "$@" +fi + +exit diff --git a/fai_gestion/bin/cake.bat b/fai_gestion/bin/cake.bat new file mode 100644 index 0000000..ad13782 --- /dev/null +++ b/fai_gestion/bin/cake.bat @@ -0,0 +1,27 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +:: +:: Cake is a Windows batch script for invoking CakePHP shell commands +:: +:: CakePHP(tm) : Rapid Development Framework (https://cakephp.org) +:: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +:: +:: Licensed under The MIT License +:: Redistributions of files must retain the above copyright notice. +:: +:: @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +:: @link https://cakephp.org CakePHP(tm) Project +:: @since 2.0.0 +:: @license https://opensource.org/licenses/mit-license.php MIT License +:: +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: + +@echo off + +SET app=%0 +SET lib=%~dp0 + +php "%lib%cake.php" %* + +echo. + +exit /B %ERRORLEVEL% diff --git a/fai_gestion/bin/cake.php b/fai_gestion/bin/cake.php new file mode 100644 index 0000000..320ee36 --- /dev/null +++ b/fai_gestion/bin/cake.php @@ -0,0 +1,12 @@ +#!/usr/bin/php -q +<?php +// Check platform requirements +require dirname(__DIR__) . '/config/requirements.php'; +require dirname(__DIR__) . '/vendor/autoload.php'; + +use App\Application; +use Cake\Console\CommandRunner; + +// Build the runner with an application and root executable name. +$runner = new CommandRunner(new Application(dirname(__DIR__) . '/config'), 'cake'); +exit($runner->run($argv)); diff --git a/fai_gestion/composer.json b/fai_gestion/composer.json new file mode 100644 index 0000000..7787c9a --- /dev/null +++ b/fai_gestion/composer.json @@ -0,0 +1,53 @@ +{ + "name": "cakephp/app", + "description": "CakePHP skeleton app", + "homepage": "https://cakephp.org", + "type": "project", + "license": "MIT", + "require": { + "php": ">=5.6", + "cakephp/cakephp": "3.6.*", + "cakephp/migrations": "^2.0.0", + "cakephp/plugin-installer": "^1.0", + "josegonzalez/dotenv": "3.*", + "mobiledetect/mobiledetectlib": "2.*" + }, + "require-dev": { + "cakephp/bake": "^1.1", + "cakephp/cakephp-codesniffer": "^3.0", + "cakephp/debug_kit": "^3.15.0", + "psy/psysh": "@stable" + }, + "suggest": { + "markstory/asset_compress": "An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.", + "dereuromark/cakephp-ide-helper": "After baking your code, this keeps your annotations in sync with the code evolving from there on for maximum IDE and PHPStan compatibility.", + "phpunit/phpunit": "Allows automated tests to be run without system-wide install." + }, + "autoload": { + "psr-4": { + "App\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "App\\Test\\": "tests/", + "Cake\\Test\\": "vendor/cakephp/cakephp/tests/" + } + }, + "scripts": { + "post-install-cmd": "App\\Console\\Installer::postInstall", + "post-create-project-cmd": "App\\Console\\Installer::postInstall", + "post-autoload-dump": "Cake\\Composer\\Installer\\PluginInstaller::postAutoloadDump", + "check": [ + "@test", + "@cs-check" + ], + "cs-check": "phpcs --colors -p --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/", + "cs-fix": "phpcbf --colors --standard=vendor/cakephp/cakephp-codesniffer/CakePHP src/ tests/", + "test": "phpunit --colors=always" + }, + "prefer-stable": true, + "config": { + "sort-packages": true + } +} diff --git a/fai_gestion/composer.lock b/fai_gestion/composer.lock new file mode 100644 index 0000000..21c6029 --- /dev/null +++ b/fai_gestion/composer.lock @@ -0,0 +1,2641 @@ +{ + "_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#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "226c85de8ca341def4f0f5329bb17fb3", + "packages": [ + { + "name": "aura/intl", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/auraphp/Aura.Intl.git", + "reference": "7fce228980b19bf4dee2d7bbd6202a69b0dde926" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/auraphp/Aura.Intl/zipball/7fce228980b19bf4dee2d7bbd6202a69b0dde926", + "reference": "7fce228980b19bf4dee2d7bbd6202a69b0dde926", + "shasum": "" + }, + "require": { + "php": "^5.6|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Aura\\Intl\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aura.Intl Contributors", + "homepage": "https://github.com/auraphp/Aura.Intl/contributors" + } + ], + "description": "The Aura Intl package provides internationalization tools, specifically message translation.", + "homepage": "https://github.com/auraphp/Aura.Intl", + "keywords": [ + "g11n", + "globalization", + "i18n", + "internationalization", + "intl", + "l10n", + "localization" + ], + "time": "2017-01-20T05:00:11+00:00" + }, + { + "name": "cakephp/cakephp", + "version": "3.6.7", + "source": { + "type": "git", + "url": "https://github.com/cakephp/cakephp.git", + "reference": "9a67c9d7158d5e299418f9956d1a8af39128cf57" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/9a67c9d7158d5e299418f9956d1a8af39128cf57", + "reference": "9a67c9d7158d5e299418f9956d1a8af39128cf57", + "shasum": "" + }, + "require": { + "aura/intl": "^3.0.0", + "cakephp/chronos": "^1.0.1", + "ext-intl": "*", + "ext-mbstring": "*", + "php": ">=5.6.0", + "psr/log": "^1.0.0", + "zendframework/zend-diactoros": "^1.4.0" + }, + "conflict": { + "phpunit/phpunit": "<5.7" + }, + "replace": { + "cakephp/cache": "self.version", + "cakephp/collection": "self.version", + "cakephp/core": "self.version", + "cakephp/database": "self.version", + "cakephp/datasource": "self.version", + "cakephp/event": "self.version", + "cakephp/filesystem": "self.version", + "cakephp/form": "self.version", + "cakephp/i18n": "self.version", + "cakephp/log": "self.version", + "cakephp/orm": "self.version", + "cakephp/utility": "self.version", + "cakephp/validation": "self.version" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "suggest": { + "ext-openssl": "To use Security::encrypt() or have secure CSRF token generation.", + "lib-ICU": "The intl PHP library, to use Text::transliterate() or Text::slug()" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\": "src/" + }, + "files": [ + "src/Core/functions.php", + "src/Collection/functions.php", + "src/I18n/functions.php", + "src/Utility/bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/cakephp/graphs/contributors" + } + ], + "description": "The CakePHP framework", + "homepage": "https://cakephp.org", + "keywords": [ + "conventions over configuration", + "dry", + "form", + "framework", + "mvc", + "orm", + "psr-7", + "rapid-development", + "validation" + ], + "time": "2018-07-08T18:02:23+00:00" + }, + { + "name": "cakephp/chronos", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/cakephp/chronos.git", + "reference": "30f5b26bcf76a5e53ecc274700ad1ec49dc05567" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/30f5b26bcf76a5e53ecc274700ad1ec49dc05567", + "reference": "30f5b26bcf76a5e53ecc274700ad1ec49dc05567", + "shasum": "" + }, + "require": { + "php": "^5.5.9|^7" + }, + "require-dev": { + "athletic/athletic": "~0.1", + "cakephp/cakephp-codesniffer": "^3.0", + "phpbench/phpbench": "@dev", + "phpstan/phpstan": "^0.6.4", + "phpunit/phpunit": "<6.0 || ^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cake\\Chronos\\": "src/" + }, + "files": [ + "src/carbon_compat.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + }, + { + "name": "The CakePHP Team", + "homepage": "http://cakephp.org" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "http://cakephp.org", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2018-07-11T18:51:56+00:00" + }, + { + "name": "cakephp/migrations", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/cakephp/migrations.git", + "reference": "928389e10edd16bae834f4d56336e1e66deb525a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/migrations/zipball/928389e10edd16bae834f4d56336e1e66deb525a", + "reference": "928389e10edd16bae834f4d56336e1e66deb525a", + "shasum": "" + }, + "require": { + "cakephp/cache": "^3.6.0", + "cakephp/orm": "^3.6.0", + "php": ">=5.6.0", + "robmorgan/phinx": "~0.10.3" + }, + "require-dev": { + "cakephp/bake": "^1.7.0", + "cakephp/cakephp": "^3.6.0", + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "suggest": { + "cakephp/bake": "Required if you want to generate migrations." + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "Migrations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/migrations/graphs/contributors" + } + ], + "description": "Database Migration plugin for CakePHP 3.0 based on Phinx", + "homepage": "https://github.com/cakephp/migrations", + "keywords": [ + "cakephp", + "migrations" + ], + "time": "2018-06-22T13:22:45+00:00" + }, + { + "name": "cakephp/plugin-installer", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/cakephp/plugin-installer.git", + "reference": "41373d0678490502f45adc7be88aa22d24ac1843" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/plugin-installer/zipball/41373d0678490502f45adc7be88aa22d24ac1843", + "reference": "41373d0678490502f45adc7be88aa22d24ac1843", + "shasum": "" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "dev-master", + "composer/composer": "1.0.*@dev", + "phpunit/phpunit": "^4.8|^5.7|^6.0" + }, + "type": "composer-installer", + "extra": { + "class": "Cake\\Composer\\Installer\\PluginInstaller" + }, + "autoload": { + "psr-4": { + "Cake\\Composer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "http://cakephp.org" + } + ], + "description": "A composer installer for CakePHP 3.0+ plugins.", + "time": "2017-12-24T21:09:29+00:00" + }, + { + "name": "josegonzalez/dotenv", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/josegonzalez/php-dotenv.git", + "reference": "f19174d9d7213a6c20e8e5e268aa7dd042d821ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/josegonzalez/php-dotenv/zipball/f19174d9d7213a6c20e8e5e268aa7dd042d821ca", + "reference": "f19174d9d7213a6c20e8e5e268aa7dd042d821ca", + "shasum": "" + }, + "require": { + "m1/env": "2.*", + "php": ">=5.5.0" + }, + "require-dev": { + "php-mock/php-mock-phpunit": "^1.1", + "satooshi/php-coveralls": "1.*", + "squizlabs/php_codesniffer": "2.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "josegonzalez\\Dotenv": [ + "src", + "tests" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jose Diaz-Gonzalez", + "email": "dotenv@josegonzalez.com", + "homepage": "http://josediazgonzalez.com", + "role": "Maintainer" + } + ], + "description": "dotenv file parsing for PHP", + "homepage": "https://github.com/josegonzalez/php-dotenv", + "keywords": [ + "configuration", + "dotenv", + "php" + ], + "time": "2017-09-19T15:49:58+00:00" + }, + { + "name": "m1/env", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/m1/Env.git", + "reference": "294addeedf15e1149eeb96ec829f2029d2017d39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/m1/Env/zipball/294addeedf15e1149eeb96ec829f2029d2017d39", + "reference": "294addeedf15e1149eeb96ec829f2029d2017d39", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*", + "scrutinizer/ocular": "~1.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "suggest": { + "josegonzalez/dotenv": "For loading of .env", + "m1/vars": "For loading of configs" + }, + "type": "library", + "autoload": { + "psr-4": { + "M1\\Env\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Miles Croxford", + "email": "hello@milescroxford.com", + "homepage": "http://milescroxford.com", + "role": "Developer" + } + ], + "description": "Env is a lightweight library bringing .env file parser compatibility to PHP. In short - it enables you to read .env files with PHP.", + "homepage": "https://github.com/m1/Env", + "keywords": [ + ".env", + "config", + "dotenv", + "env", + "loader", + "m1", + "parser", + "support" + ], + "time": "2018-06-19T18:55:08+00:00" + }, + { + "name": "mobiledetect/mobiledetectlib", + "version": "2.8.32", + "source": { + "type": "git", + "url": "https://github.com/serbanghita/Mobile-Detect.git", + "reference": "ec69a0c381b5fe44547680d3c7db6ced08e5abb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/ec69a0c381b5fe44547680d3c7db6ced08e5abb3", + "reference": "ec69a0c381b5fe44547680d3c7db6ced08e5abb3", + "shasum": "" + }, + "require": { + "php": ">=5.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8.35||~5.7" + }, + "type": "library", + "autoload": { + "classmap": [ + "Mobile_Detect.php" + ], + "psr-0": { + "Detection": "namespaced/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Serban Ghita", + "email": "serbanghita@gmail.com", + "homepage": "http://mobiledetect.net", + "role": "Developer" + } + ], + "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.", + "homepage": "https://github.com/serbanghita/Mobile-Detect", + "keywords": [ + "detect mobile devices", + "mobile", + "mobile detect", + "mobile detector", + "php mobile detect" + ], + "time": "2018-06-03T13:13:04+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "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-10T12:19:37+00:00" + }, + { + "name": "robmorgan/phinx", + "version": "0.10.5", + "source": { + "type": "git", + "url": "https://github.com/cakephp/phinx.git", + "reference": "a13ac32fa265d57ad270277514a69e6590866f4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/a13ac32fa265d57ad270277514a69e6590866f4d", + "reference": "a13ac32fa265d57ad270277514a69e6590866f4d", + "shasum": "" + }, + "require": { + "cakephp/collection": "^3.6", + "cakephp/database": "^3.6", + "php": ">=5.6", + "symfony/config": "^2.8|^3.0|^4.0", + "symfony/console": "^2.8|^3.0|^4.0", + "symfony/yaml": "^2.8|^3.0|^4.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": ">=5.7", + "sebastian/comparator": ">=1.2.3" + }, + "bin": [ + "bin/phinx" + ], + "type": "library", + "autoload": { + "psr-4": { + "Phinx\\": "src/Phinx/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com", + "homepage": "http://shadowhand.me", + "role": "Developer" + }, + { + "name": "Rob Morgan", + "email": "robbym@gmail.com", + "homepage": "https://robmorgan.id.au", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Developer" + }, + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/phinx/graphs/contributors" + } + ], + "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", + "homepage": "https://phinx.org", + "keywords": [ + "database", + "database migrations", + "db", + "migrations", + "phinx" + ], + "time": "2018-07-12T11:55:13+00:00" + }, + { + "name": "symfony/config", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "1fffdeb349ff36a25184e5564c25289b1dbfc402" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/1fffdeb349ff36a25184e5564c25289b1dbfc402", + "reference": "1fffdeb349ff36a25184e5564c25289b1dbfc402", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/filesystem": "~2.8|~3.0|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" + }, + "require-dev": { + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "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 Config Component", + "homepage": "https://symfony.com", + "time": "2018-06-19T14:02:58+00:00" + }, + { + "name": "symfony/console", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "1b97071a26d028c9bd4588264e101e14f6e7cd00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/1b97071a26d028c9bd4588264e101e14f6e7cd00", + "reference": "1b97071a26d028c9bd4588264e101e14f6e7cd00", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" + }, + "suggest": { + "psr/log-implementation": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-05-23T05:02:55+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "47e6788c5b151cf0cfdf3329116bf33800632d75" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/47e6788c5b151cf0cfdf3329116bf33800632d75", + "reference": "47e6788c5b151cf0cfdf3329116bf33800632d75", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "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/http-kernel": "~2.8|~3.0|~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-06-25T11:10:40+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "8a721a5f2553c6c3482b1c5b22ed60fe94dd63ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/8a721a5f2553c6c3482b1c5b22ed60fe94dd63ed", + "reference": "8a721a5f2553c6c3482b1c5b22ed60fe94dd63ed", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "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 Filesystem Component", + "homepage": "https://symfony.com", + "time": "2018-06-21T11:10:19+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-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-04-30T19:57:29+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.8.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "3296adf6a6454a050679cde90f95350ad604b171" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", + "reference": "3296adf6a6454a050679cde90f95350ad604b171", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-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-04-26T10:06:28+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", + "reference": "c5010cc1692ce1fa328b1fb666961eb3d4a85bb0", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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-05-03T23:18:14+00:00" + }, + { + "name": "zendframework/zend-diactoros", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/zendframework/zend-diactoros.git", + "reference": "63d920d1c9ebc009d860c3666593a66298727dd6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/63d920d1c9ebc009d860c3666593a66298727dd6", + "reference": "63d920d1c9ebc009d860c3666593a66298727dd6", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-dom": "*", + "ext-libxml": "*", + "phpunit/phpunit": "^5.7.16 || ^6.0.8", + "zendframework/zend-coding-standard": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8.x-dev", + "dev-develop": "1.9.x-dev", + "dev-release-2.0": "2.0.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions/create_uploaded_file.php", + "src/functions/marshal_headers_from_sapi.php", + "src/functions/marshal_method_from_sapi.php", + "src/functions/marshal_protocol_version_from_sapi.php", + "src/functions/marshal_uri_from_sapi.php", + "src/functions/normalize_server.php", + "src/functions/normalize_uploaded_files.php", + "src/functions/parse_cookie_header.php" + ], + "psr-4": { + "Zend\\Diactoros\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "PSR HTTP Message implementations", + "homepage": "https://github.com/zendframework/zend-diactoros", + "keywords": [ + "http", + "psr", + "psr-7" + ], + "time": "2018-07-09T21:17:27+00:00" + } + ], + "packages-dev": [ + { + "name": "ajgl/breakpoint-twig-extension", + "version": "0.3.1", + "source": { + "type": "git", + "url": "https://github.com/ajgarlag/AjglBreakpointTwigExtension.git", + "reference": "360ec6351ad7e1968ee78abb31430046c2e04fc5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ajgarlag/AjglBreakpointTwigExtension/zipball/360ec6351ad7e1968ee78abb31430046c2e04fc5", + "reference": "360ec6351ad7e1968ee78abb31430046c2e04fc5", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "twig/twig": "^1.14|^2.0" + }, + "require-dev": { + "phpunit/phpunit": "^5", + "symfony/framework-bundle": "^2.7|^3.2", + "symfony/twig-bundle": "^2.7|^3.2" + }, + "suggest": { + "ext-xdebug": "The Xdebug extension is required for the breakpoint to work", + "symfony/framework-bundle": "The framework bundle to integrate the extension into Symfony", + "symfony/twig-bundle": "The twig bundle to integrate the extension into Symfony" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Ajgl\\Twig\\Extension\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Antonio J. García Lagar", + "email": "aj@garcialagar.es", + "homepage": "http://aj.garcialagar.es", + "role": "developer" + } + ], + "description": "Twig extension to set breakpoints", + "homepage": "https://github.com/ajgarlag/AjglBreakpointTwigExtension", + "keywords": [ + "Xdebug", + "breakpoint", + "twig" + ], + "time": "2017-11-20T13:04:11+00:00" + }, + { + "name": "aptoma/twig-markdown", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/aptoma/twig-markdown.git", + "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aptoma/twig-markdown/zipball/64a9c5c7418c08faf91c4410b34bdb65fb25c23d", + "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d", + "shasum": "" + }, + "require": { + "twig/twig": "~1.12" + }, + "require-dev": { + "codeclimate/php-test-reporter": "dev-master", + "erusev/parsedown": "^1.6", + "knplabs/github-api": "~1.2", + "league/commonmark": "~0.5", + "michelf/php-markdown": "~1", + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~0.6" + }, + "suggest": { + "knplabs/github-api": "Needed for using GitHub's Markdown engine provided through their API.", + "michelf/php-markdown": "Original Markdown engine with MarkdownExtra." + }, + "type": "library", + "autoload": { + "psr-0": { + "Aptoma": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Joris Berthelot", + "email": "joris@berthelot.tel" + }, + { + "name": "Gunnar Lium", + "email": "gunnar@aptoma.com" + } + ], + "description": "Twig extension to work with Markdown content", + "keywords": [ + "markdown", + "twig" + ], + "time": "2015-10-23T20:27:08+00:00" + }, + { + "name": "asm89/twig-cache-extension", + "version": "1.3.2", + "source": { + "type": "git", + "url": "https://github.com/asm89/twig-cache-extension.git", + "reference": "630ea7abdc3fc62ba6786c02590a1560e449cf55" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/twig-cache-extension/zipball/630ea7abdc3fc62ba6786c02590a1560e449cf55", + "reference": "630ea7abdc3fc62ba6786c02590a1560e449cf55", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "twig/twig": "^1.0|^2.0" + }, + "require-dev": { + "doctrine/cache": "~1.0" + }, + "suggest": { + "psr/cache-implementation": "To make use of PSR-6 cache implementation via PsrCacheAdapter." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cache fragments of templates directly within Twig.", + "homepage": "https://github.com/asm89/twig-cache-extension", + "keywords": [ + "cache", + "extension", + "twig" + ], + "time": "2017-01-10T22:04:15+00:00" + }, + { + "name": "cakephp/bake", + "version": "1.8.1", + "source": { + "type": "git", + "url": "https://github.com/cakephp/bake.git", + "reference": "73073c27eb599d2aa7155472dd465d210ac782eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/bake/zipball/73073c27eb599d2aa7155472dd465d210ac782eb", + "reference": "73073c27eb599d2aa7155472dd465d210ac782eb", + "shasum": "" + }, + "require": { + "cakephp/cakephp": "^3.6.0", + "cakephp/plugin-installer": "^1.0", + "php": ">=5.6.0", + "wyrihaximus/twig-view": "^4.3.4" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "Bake\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/bake/graphs/contributors" + } + ], + "description": "Bake plugin for CakePHP 3", + "homepage": "https://github.com/cakephp/bake", + "keywords": [ + "bake", + "cakephp" + ], + "time": "2018-06-27T00:50:55+00:00" + }, + { + "name": "cakephp/cakephp-codesniffer", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/cakephp/cakephp-codesniffer.git", + "reference": "7f467fee00fd016b62cf8c85a57750ab2a895e81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/cakephp-codesniffer/zipball/7f467fee00fd016b62cf8c85a57750ab2a895e81", + "reference": "7f467fee00fd016b62cf8c85a57750ab2a895e81", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "squizlabs/php_codesniffer": "^3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "<6.0" + }, + "type": "phpcodesniffer-standard", + "autoload": { + "psr-4": { + "CakePHP\\": "CakePHP" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/cakephp-codesniffer/graphs/contributors" + } + ], + "description": "CakePHP CodeSniffer Standards", + "homepage": "http://cakephp.org", + "keywords": [ + "codesniffer", + "framework" + ], + "time": "2018-06-09T16:01:01+00:00" + }, + { + "name": "cakephp/debug_kit", + "version": "3.16.3", + "source": { + "type": "git", + "url": "https://github.com/cakephp/debug_kit.git", + "reference": "aabaecb032f7e91d2c4df9c79806992cf60e07ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/aabaecb032f7e91d2c4df9c79806992cf60e07ee", + "reference": "aabaecb032f7e91d2c4df9c79806992cf60e07ee", + "shasum": "" + }, + "require": { + "cakephp/cakephp": "^3.6.0", + "cakephp/chronos": "^1.0.0", + "cakephp/plugin-installer": "^1.0.0", + "composer/composer": "^1.3.0", + "jdorn/sql-formatter": "^1.2.0", + "php": ">=5.6.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^3.0", + "phpunit/phpunit": "^5.7.14|^6.0" + }, + "suggest": { + "ext-pdo_sqlite": "DebugKit needs to store panel data in a database. SQLite is simple and easy to use." + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "DebugKit\\": "src", + "DebugKit\\Test\\Fixture\\": "tests\\Fixture" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Story", + "homepage": "http://mark-story.com", + "role": "Author" + }, + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/debug_kit/graphs/contributors" + } + ], + "description": "CakePHP Debug Kit", + "homepage": "https://github.com/cakephp/debug_kit", + "keywords": [ + "cakephp", + "debug", + "kit" + ], + "time": "2018-06-11T02:33:52+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "d2c0a83b7533d6912e8d516756ebd34f893e9169" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/d2c0a83b7533d6912e8d516756ebd34f893e9169", + "reference": "d2c0a83b7533d6912e8d516756ebd34f893e9169", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2018-03-29T19:57:20+00:00" + }, + { + "name": "composer/composer", + "version": "1.6.5", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "b184a92419cc9a9c4c6a09db555a94d441cb11c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/b184a92419cc9a9c4c6a09db555a94d441cb11c9", + "reference": "b184a92419cc9a9c4c6a09db555a94d441cb11c9", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/cli-prompt": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0" + }, + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit-mock-objects": "^2.3 || ^3.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects, ensuring you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "time": "2018-05-04T09:44:59+00:00" + }, + { + "name": "composer/semver", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", + "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "time": "2016-08-30T16:08:34+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/cb17687e9f936acd7e7245ad3890f953770dec1b", + "reference": "cb17687e9f936acd7e7245ad3890f953770dec1b", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5", + "phpunit/phpunit-mock-objects": "2.3.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "time": "2018-04-30T10:33:04+00:00" + }, + { + "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-24T07:27:01+00:00" + }, + { + "name": "jakub-onderka/php-console-color", + "version": "0.1", + "source": { + "type": "git", + "url": "https://github.com/JakubOnderka/PHP-Console-Color.git", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JakubOnderka/PHP-Console-Color/zipball/e0b393dacf7703fc36a4efc3df1435485197e6c1", + "reference": "e0b393dacf7703fc36a4efc3df1435485197e6c1", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "jakub-onderka/php-code-style": "1.0", + "jakub-onderka/php-parallel-lint": "0.*", + "jakub-onderka/php-var-dump-check": "0.*", + "phpunit/phpunit": "3.7.*", + "squizlabs/php_codesniffer": "1.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "JakubOnderka\\PhpConsoleColor": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Jakub Onderka", + "email": "jakub.onderka@gmail.com", + "homepage": "http://www.acci.cz" + } + ], + "time": "2014-04-08T15:00:19+00:00" + }, + { + "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-20T18:58:01+00:00" + }, + { + "name": "jasny/twig-extensions", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/jasny/twig-extensions.git", + "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/30bdf3a3903c021544f36332c9d5d4d563527da4", + "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4", + "shasum": "" + }, + "require": { + "php": ">=7.0.0 | >=5.6.0", + "twig/twig": "^2.0 | ^1.12" + }, + "require-dev": { + "ext-intl": "*", + "ext-pcre": "*", + "jasny/php-code-quality": "^2.1", + "phpunit/phpunit": "^5.0" + }, + "suggest": { + "ext-intl": "Required for the use of the LocalDate Twig extension", + "ext-pcre": "Required for the use of the PCRE Twig extension" + }, + "type": "library", + "autoload": { + "psr-4": { + "Jasny\\Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arnold Daniels", + "email": "arnold@jasny.net", + "homepage": "http://www.jasny.net" + } + ], + "description": "A set of useful Twig filters", + "homepage": "http://github.com/jasny/twig-extensions#README", + "keywords": [ + "PCRE", + "array", + "date", + "datetime", + "preg", + "regex", + "templating", + "text", + "time" + ], + "time": "2017-09-13T07:38:01+00:00" + }, + { + "name": "jdorn/sql-formatter", + "version": "v1.2.17", + "source": { + "type": "git", + "url": "https://github.com/jdorn/sql-formatter.git", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/64990d96e0959dff8e059dfcdc1af130728d92bc", + "reference": "64990d96e0959dff8e059dfcdc1af130728d92bc", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "lib" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "http://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/jdorn/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "time": "2014-01-12T16:20:24+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.7", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "8560d4314577199ba51bf2032f02cd1315587c23" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/8560d4314577199ba51bf2032f02cd1315587c23", + "reference": "8560d4314577199ba51bf2032f02cd1315587c23", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "time": "2018-02-14T22:26:30+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.0.3", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bd088dc940a418f09cda079a9b5c7c478890fb8d", + "reference": "bd088dc940a418f09cda079a9b5c7c478890fb8d", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.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-07-15T17:25:16+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.9.6", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4a2ce86f199d51b6e2524214dc06835e872f4fce", + "reference": "4a2ce86f199d51b6e2524214dc06835e872f4fce", + "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|~4.0", + "php": ">=5.4.0", + "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0", + "symfony/var-dumper": "~2.7|~3.0|~4.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "~2.15|~3.16", + "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.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.9.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "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-06-10T17:57:20+00:00" + }, + { + "name": "seld/cli-prompt", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/cli-prompt.git", + "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd", + "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\CliPrompt\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type", + "keywords": [ + "cli", + "console", + "hidden", + "input", + "prompt" + ], + "time": "2017-03-18T11:32:45+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/d15f59a67ff805a44c50ea0516d2341740f81a38", + "reference": "d15f59a67ff805a44c50ea0516d2341740f81a38", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "time": "2018-01-24T12:46:19+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/7009b5139491975ef6486545a39f3e6dad5ac30a", + "reference": "7009b5139491975ef6486545a39f3e6dad5ac30a", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phra" + ], + "time": "2015-10-13T18:44:15+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "d86873af43b4aa9d1f39a3601cc0cfcf02b25266" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d86873af43b4aa9d1f39a3601cc0cfcf02b25266", + "reference": "d86873af43b4aa9d1f39a3601cc0cfcf02b25266", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "http://www.squizlabs.com/php-codesniffer", + "keywords": [ + "phpcs", + "standards" + ], + "time": "2018-06-06T23:58:19+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394", + "reference": "3a8c3de91d2b2c68cd2d665cf9d00f7ef9eaa394", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-06-19T20:52:10+00:00" + }, + { + "name": "symfony/process", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "acc5a37c706ace827962851b69705b24e71ca17c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/acc5a37c706ace827962851b69705b24e71ca17c", + "reference": "acc5a37c706ace827962851b69705b24e71ca17c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-05-30T04:24:30+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v3.4.12", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "e173954a28a44a32c690815fbe4d0f2eac43accb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/e173954a28a44a32c690815fbe4d0f2eac43accb", + "reference": "e173954a28a44a32c690815fbe4d0f2eac43accb", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" + }, + "require-dev": { + "ext-iconv": "*", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-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": "2018-06-15T07:47:49+00:00" + }, + { + "name": "twig/twig", + "version": "v1.35.4", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", + "reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "symfony/polyfill-ctype": "^1.8" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "^2.7", + "symfony/phpunit-bridge": "^3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.35-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "https://twig.symfony.com/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "time": "2018-07-13T07:12:17+00:00" + }, + { + "name": "umpirsky/twig-php-function", + "version": "v0.1", + "source": { + "type": "git", + "url": "https://github.com/umpirsky/twig-php-function.git", + "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/umpirsky/twig-php-function/zipball/53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", + "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "twig/twig": "~1.12" + }, + "require-dev": { + "phpspec/phpspec": "~2.0", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "Umpirsky\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Saša Stamenković", + "email": "umpirsky@gmail.com" + } + ], + "description": "Call (almost) any PHP function from your Twig templates.", + "time": "2016-03-12T16:36:32+00:00" + }, + { + "name": "wyrihaximus/twig-view", + "version": "4.3.5", + "source": { + "type": "git", + "url": "https://github.com/WyriHaximus/TwigView.git", + "reference": "ec2771e6a1fe799f9b16eff19da424cd04d593b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WyriHaximus/TwigView/zipball/ec2771e6a1fe799f9b16eff19da424cd04d593b7", + "reference": "ec2771e6a1fe799f9b16eff19da424cd04d593b7", + "shasum": "" + }, + "require": { + "ajgl/breakpoint-twig-extension": "^0.3.0", + "aptoma/twig-markdown": "^2.0", + "asm89/twig-cache-extension": "^1.0", + "cakephp/cakephp": "^3.5", + "jasny/twig-extensions": "^1.0", + "php": "^5.6 || ^7.0", + "twig/twig": "^1.27", + "umpirsky/twig-php-function": "0.1" + }, + "require-dev": { + "cakephp/bake": "^1.5", + "cakephp/debug_kit": "^3.0", + "phake/phake": "^1.0.4", + "phpunit/phpunit": "^5.7.14", + "squizlabs/php_codesniffer": "^1.5.6", + "wyrihaximus/phpunit-class-reflection-helpers": "dev-master" + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "WyriHaximus\\TwigView\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com", + "homepage": "http://wyrihaximus.net/" + } + ], + "description": "Twig powered View for CakePHP3", + "keywords": [ + "cakephp", + "cakephp3", + "twig", + "view" + ], + "time": "2018-07-03T15:46:29+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "psy/psysh": 0 + }, + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": ">=5.6" + }, + "platform-dev": [] +} diff --git a/fai_gestion/config/.env.default b/fai_gestion/config/.env.default new file mode 100644 index 0000000..24bc796 --- /dev/null +++ b/fai_gestion/config/.env.default @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# Used as a default to seed config/.env which +# enables you to use environment variables to configure +# the aspects of your application that vary by +# environment. +# +# To use this file, first copy it into `config/.env`. Also ensure the related +# code block for loading this file is uncommented in `config/boostrap.php` +# +# In development .env files are parsed by PHP +# and set into the environment. This provides a simpler +# development workflow over standard environment variables. +export APP_NAME="__APP_NAME__" +export DEBUG="true" +export APP_ENCODING="UTF-8" +export APP_DEFAULT_LOCALE="en_US" +export APP_DEFAULT_TIMEZONE="UTC" +export SECURITY_SALT="__SALT__" + +# Uncomment these to define cache configuration via environment variables. +#export CACHE_DURATION="+2 minutes" +#export CACHE_DEFAULT_URL="file://tmp/cache/?prefix=${APP_NAME}_default&duration=${CACHE_DURATION}" +#export CACHE_CAKECORE_URL="file://tmp/cache/persistent?prefix=${APP_NAME}_cake_core&serialize=true&duration=${CACHE_DURATION}" +#export CACHE_CAKEMODEL_URL="file://tmp/cache/models?prefix=${APP_NAME}_cake_model&serialize=true&duration=${CACHE_DURATION}" + +# Uncomment these to define email transport configuration via environment variables. +#export EMAIL_TRANSPORT_DEFAULT_URL="" + +# Uncomment these to define database configuration via environment variables. +#export DATABASE_URL="mysql://my_app:secret@localhost/${APP_NAME}?encoding=utf8&timezone=UTC&cacheMetadata=true"eIdentifiers=false&persistent=false" +#export DATABASE_TEST_URL="mysql://my_app:secret@localhost/test_${APP_NAME}?encoding=utf8&timezone=UTC&cacheMetadata=true"eIdentifiers=false&persistent=false" + +# Uncomment these to define logging configuration via environment variables. +#export LOG_DEBUG_URL="file://logs/?levels[]=notice&levels[]=info&levels[]=debug&file=debug" +#export LOG_ERROR_URL="file://logs/?levels[]=warning&levels[]=error&levels[]=critical&levels[]=alert&levels[]=emergency&file=error" diff --git a/fai_gestion/config/app.default.php b/fai_gestion/config/app.default.php new file mode 100644 index 0000000..93a2ae1 --- /dev/null +++ b/fai_gestion/config/app.default.php @@ -0,0 +1,385 @@ +<?php +return [ + /** + * Debug Level: + * + * Production Mode: + * false: No error messages, errors, or warnings shown. + * + * Development Mode: + * true: Errors and warnings shown. + */ + 'debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN), + + /** + * Configure basic information about the application. + * + * - namespace - The namespace to find app classes under. + * - defaultLocale - The default locale for translation, formatting currencies and numbers, date and time. + * - encoding - The encoding used for HTML + database connections. + * - base - The base directory the app resides in. If false this + * will be auto detected. + * - dir - Name of app directory. + * - webroot - The webroot directory. + * - wwwRoot - The file path to webroot. + * - baseUrl - To configure CakePHP to *not* use mod_rewrite and to + * use CakePHP pretty URLs, remove these .htaccess + * files: + * /.htaccess + * /webroot/.htaccess + * And uncomment the baseUrl key below. + * - fullBaseUrl - A base URL to use for absolute links. When set to false (default) + * CakePHP generates required value based on `HTTP_HOST` environment variable. + * However, you can define it manually to optimize performance or if you + * are concerned about people manipulating the `Host` header. + * - imageBaseUrl - Web path to the public images directory under webroot. + * - cssBaseUrl - Web path to the public css directory under webroot. + * - jsBaseUrl - Web path to the public js directory under webroot. + * - paths - Configure paths for non class based resources. Supports the + * `plugins`, `templates`, `locales` subkeys, which allow the definition of + * paths for plugins, view templates and locale files respectively. + */ + 'App' => [ + 'namespace' => 'App', + 'encoding' => env('APP_ENCODING', 'UTF-8'), + 'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'), + 'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'), + 'base' => false, + 'dir' => 'src', + 'webroot' => 'webroot', + 'wwwRoot' => WWW_ROOT, + //'baseUrl' => env('SCRIPT_NAME'), + 'fullBaseUrl' => false, + 'imageBaseUrl' => 'img/', + 'cssBaseUrl' => 'css/', + 'jsBaseUrl' => 'js/', + 'paths' => [ + 'plugins' => [ROOT . DS . 'plugins' . DS], + 'templates' => [APP . 'Template' . DS], + 'locales' => [APP . 'Locale' . DS], + ], + ], + + /** + * Security and encryption configuration + * + * - salt - A random string used in security hashing methods. + * The salt value is also used as the encryption key. + * You should treat it as extremely sensitive data. + */ + 'Security' => [ + 'salt' => env('SECURITY_SALT', '__SALT__'), + ], + + /** + * Apply timestamps with the last modified time to static assets (js, css, images). + * Will append a querystring parameter containing the time the file was modified. + * This is useful for busting browser caches. + * + * Set to true to apply timestamps when debug is true. Set to 'force' to always + * enable timestamping regardless of debug value. + */ + 'Asset' => [ + //'timestamp' => true, + ], + + /** + * Configure the cache adapters. + */ + 'Cache' => [ + 'default' => [ + 'className' => 'Cake\Cache\Engine\FileEngine', + 'path' => CACHE, + 'url' => env('CACHE_DEFAULT_URL', null), + ], + + /** + * Configure the cache used for general framework caching. + * Translation cache files are stored with this configuration. + * Duration will be set to '+2 minutes' in bootstrap.php when debug = true + * If you set 'className' => 'Null' core cache will be disabled. + */ + '_cake_core_' => [ + 'className' => 'Cake\Cache\Engine\FileEngine', + 'prefix' => 'myapp_cake_core_', + 'path' => CACHE . 'persistent/', + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKECORE_URL', null), + ], + + /** + * Configure the cache for model and datasource caches. This cache + * configuration is used to store schema descriptions, and table listings + * in connections. + * Duration will be set to '+2 minutes' in bootstrap.php when debug = true + */ + '_cake_model_' => [ + 'className' => 'Cake\Cache\Engine\FileEngine', + 'prefix' => 'myapp_cake_model_', + 'path' => CACHE . 'models/', + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKEMODEL_URL', null), + ], + + /** + * Configure the cache for routes. The cached routes collection is built the + * first time the routes are processed via `config/routes.php`. + * Duration will be set to '+2 seconds' in bootstrap.php when debug = true + */ + '_cake_routes_' => [ + 'className' => 'Cake\Cache\Engine\FileEngine', + 'prefix' => 'myapp_cake_routes_', + 'path' => CACHE, + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKEROUTES_URL', null), + ], + ], + + /** + * Configure the Error and Exception handlers used by your application. + * + * By default errors are displayed using Debugger, when debug is true and logged + * by Cake\Log\Log when debug is false. + * + * In CLI environments exceptions will be printed to stderr with a backtrace. + * In web environments an HTML page will be displayed for the exception. + * With debug true, framework errors like Missing Controller will be displayed. + * When debug is false, framework errors will be coerced into generic HTTP errors. + * + * Options: + * + * - `errorLevel` - int - The level of errors you are interested in capturing. + * - `trace` - boolean - Whether or not backtraces should be included in + * logged errors/exceptions. + * - `log` - boolean - Whether or not you want exceptions logged. + * - `exceptionRenderer` - string - The class responsible for rendering + * uncaught exceptions. If you choose a custom class you should place + * the file for that class in src/Error. This class needs to implement a + * render method. + * - `skipLog` - array - List of exceptions to skip for logging. Exceptions that + * extend one of the listed exceptions will also be skipped for logging. + * E.g.: + * `'skipLog' => ['Cake\Network\Exception\NotFoundException', 'Cake\Network\Exception\UnauthorizedException']` + * - `extraFatalErrorMemory` - int - The number of megabytes to increase + * the memory limit by when a fatal error is encountered. This allows + * breathing room to complete logging or error handling. + */ + 'Error' => [ + 'errorLevel' => E_ALL, + 'exceptionRenderer' => 'Cake\Error\ExceptionRenderer', + 'skipLog' => [], + 'log' => true, + 'trace' => true, + ], + + /** + * Email configuration. + * + * By defining transports separately from delivery profiles you can easily + * re-use transport configuration across multiple profiles. + * + * You can specify multiple configurations for production, development and + * testing. + * + * Each transport needs a `className`. Valid options are as follows: + * + * Mail - Send using PHP mail function + * Smtp - Send using SMTP + * Debug - Do not send the email, just return the result + * + * You can add custom transports (or override existing transports) by adding the + * appropriate file to src/Mailer/Transport. Transports should be named + * 'YourTransport.php', where 'Your' is the name of the transport. + */ + 'EmailTransport' => [ + 'default' => [ + 'className' => 'Cake\Mailer\Transport\MailTransport', + /* + * The following keys are used in SMTP transports: + */ + 'host' => 'localhost', + 'port' => 25, + 'timeout' => 30, + 'username' => null, + 'password' => null, + 'client' => null, + 'tls' => null, + 'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), + ], + ], + + /** + * Email delivery profiles + * + * Delivery profiles allow you to predefine various properties about email + * messages from your application and give the settings a name. This saves + * duplication across your application and makes maintenance and development + * easier. Each profile accepts a number of keys. See `Cake\Mailer\Email` + * for more information. + */ + 'Email' => [ + 'default' => [ + 'transport' => 'default', + 'from' => 'you@localhost', + //'charset' => 'utf-8', + //'headerCharset' => 'utf-8', + ], + ], + + /** + * Connection information used by the ORM to connect + * to your application's datastores. + * + * ### Notes + * - Drivers include Mysql Postgres Sqlite Sqlserver + * See vendor\cakephp\cakephp\src\Database\Driver for complete list + * - Do not use periods in database name - it may lead to error. + * See https://github.com/cakephp/cakephp/issues/6471 for details. + * - 'encoding' is recommended to be set to full UTF-8 4-Byte support. + * E.g set it to 'utf8mb4' in MariaDB and MySQL and 'utf8' for any + * other RDBMS. + */ + 'Datasources' => [ + 'default' => [ + 'className' => 'Cake\Database\Connection', + 'driver' => 'Cake\Database\Driver\Mysql', + 'persistent' => false, + 'host' => 'localhost', + /* + * CakePHP will use the default DB port based on the driver selected + * MySQL on MAMP uses port 8889, MAMP users will want to uncomment + * the following line and set the port accordingly + */ + //'port' => 'non_standard_port_number', + 'username' => 'my_app', + 'password' => 'secret', + 'database' => 'my_app', + /* + * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6). + */ + //'encoding' => 'utf8mb4', + 'timezone' => 'UTC', + 'flags' => [], + 'cacheMetadata' => true, + 'log' => false, + + /** + * Set identifier quoting to true if you are using reserved words or + * special characters in your table or column names. Enabling this + * setting will result in queries built using the Query Builder having + * identifiers quoted when creating SQL. It should be noted that this + * decreases performance because each query needs to be traversed and + * manipulated before being executed. + */ + 'quoteIdentifiers' => false, + + /** + * During development, if using MySQL < 5.6, uncommenting the + * following line could boost the speed at which schema metadata is + * fetched from the database. It can also be set directly with the + * mysql configuration directive 'innodb_stats_on_metadata = 0' + * which is the recommended value in production environments + */ + //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], + + 'url' => env('DATABASE_URL', null), + ], + + /** + * The test connection is used during the test suite. + */ + 'test' => [ + 'className' => 'Cake\Database\Connection', + 'driver' => 'Cake\Database\Driver\Mysql', + 'persistent' => false, + 'host' => 'localhost', + //'port' => 'non_standard_port_number', + 'username' => 'my_app', + 'password' => 'secret', + 'database' => 'test_myapp', + //'encoding' => 'utf8mb4', + 'timezone' => 'UTC', + 'cacheMetadata' => true, + 'quoteIdentifiers' => false, + 'log' => false, + //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], + 'url' => env('DATABASE_TEST_URL', null), + ], + ], + + /** + * Configures logging options + */ + 'Log' => [ + 'debug' => [ + 'className' => 'Cake\Log\Engine\FileLog', + 'path' => LOGS, + 'file' => 'debug', + 'url' => env('LOG_DEBUG_URL', null), + 'scopes' => false, + 'levels' => ['notice', 'info', 'debug'], + ], + 'error' => [ + 'className' => 'Cake\Log\Engine\FileLog', + 'path' => LOGS, + 'file' => 'error', + 'url' => env('LOG_ERROR_URL', null), + 'scopes' => false, + 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], + ], + // To enable this dedicated query log, you need set your datasource's log flag to true + 'queries' => [ + 'className' => 'Cake\Log\Engine\FileLog', + 'path' => LOGS, + 'file' => 'queries', + 'url' => env('LOG_QUERIES_URL', null), + 'scopes' => ['queriesLog'], + ], + ], + + /** + * Session configuration. + * + * Contains an array of settings to use for session configuration. The + * `defaults` key is used to define a default preset to use for sessions, any + * settings declared here will override the settings of the default config. + * + * ## Options + * + * - `cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'. Avoid using `.` in cookie names, + * as PHP will drop sessions from cookies with `.` in the name. + * - `cookiePath` - The url path for which session cookie is set. Maps to the + * `session.cookie_path` php.ini config. Defaults to base path of app. + * - `timeout` - The time in minutes the session should be valid for. + * Pass 0 to disable checking timeout. + * Please note that php.ini's session.gc_maxlifetime must be equal to or greater + * than the largest Session['timeout'] in all served websites for it to have the + * desired effect. + * - `defaults` - The default configuration set to use as a basis for your session. + * There are four built-in options: php, cake, cache, database. + * - `handler` - Can be used to enable a custom session handler. Expects an + * array with at least the `engine` key, being the name of the Session engine + * class to use for managing the session. CakePHP bundles the `CacheSession` + * and `DatabaseSession` engines. + * - `ini` - An associative array of additional ini values to set. + * + * The built-in `defaults` options are: + * + * - 'php' - Uses settings defined in your php.ini. + * - 'cake' - Saves session files in CakePHP's /tmp directory. + * - 'database' - Uses CakePHP's database sessions. + * - 'cache' - Use the Cache class to save sessions. + * + * To define a custom session handler, save it at src/Network/Session/<name>.php. + * Make sure the class implements PHP's `SessionHandlerInterface` and set + * Session.handler to <name> + * + * To use database sessions, load the SQL file located at config/schema/sessions.sql + */ + 'Session' => [ + 'defaults' => 'php', + ], +]; diff --git a/fai_gestion/config/bootstrap.php b/fai_gestion/config/bootstrap.php new file mode 100644 index 0000000..1911964 --- /dev/null +++ b/fai_gestion/config/bootstrap.php @@ -0,0 +1,199 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.8 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +/* + * Configure paths required to find CakePHP + general filepath constants + */ +require __DIR__ . '/paths.php'; + +/* + * Bootstrap CakePHP. + * + * Does the various bits of setup that CakePHP needs to do. + * This includes: + * + * - Registering the CakePHP autoloader. + * - Setting the default application paths. + */ +require CORE_PATH . 'config' . DS . 'bootstrap.php'; + +use Cake\Cache\Cache; +use Cake\Console\ConsoleErrorHandler; +use Cake\Core\App; +use Cake\Core\Configure; +use Cake\Core\Configure\Engine\PhpConfig; +use Cake\Core\Plugin; +use Cake\Database\Type; +use Cake\Datasource\ConnectionManager; +use Cake\Error\ErrorHandler; +use Cake\Http\ServerRequest; +use Cake\Log\Log; +use Cake\Mailer\Email; +use Cake\Utility\Inflector; +use Cake\Utility\Security; + +/** + * Uncomment block of code below if you want to use `.env` file during development. + * You should copy `config/.env.default to `config/.env` and set/modify the + * variables as required. + */ +// if (!env('APP_NAME') && file_exists(CONFIG . '.env')) { +// $dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']); +// $dotenv->parse() +// ->putenv() +// ->toEnv() +// ->toServer(); +// } + +/* + * Read configuration file and inject configuration into various + * CakePHP classes. + * + * By default there is only one configuration file. It is often a good + * idea to create multiple configuration files, and separate the configuration + * that changes from configuration that does not. This makes deployment simpler. + */ +try { + Configure::config('default', new PhpConfig()); + Configure::load('app', 'default', false); +} catch (\Exception $e) { + exit($e->getMessage() . "\n"); +} + +/* + * Load an environment local configuration file. + * You can use a file like app_local.php to provide local overrides to your + * shared configuration. + */ +//Configure::load('app_local', 'default'); + +/* + * When debug = true the metadata cache should only last + * for a short time. + */ +if (Configure::read('debug')) { + Configure::write('Cache._cake_model_.duration', '+2 minutes'); + Configure::write('Cache._cake_core_.duration', '+2 minutes'); + // disable router cache during development + Configure::write('Cache._cake_routes_.duration', '+2 seconds'); +} + +/* + * Set the default server timezone. Using UTC makes time calculations / conversions easier. + * Check http://php.net/manual/en/timezones.php for list of valid timezone strings. + */ +date_default_timezone_set(Configure::read('App.defaultTimezone')); + +/* + * Configure the mbstring extension to use the correct encoding. + */ +mb_internal_encoding(Configure::read('App.encoding')); + +/* + * Set the default locale. This controls how dates, number and currency is + * formatted and sets the default language to use for translations. + */ +ini_set('intl.default_locale', Configure::read('App.defaultLocale')); + +/* + * Register application error and exception handlers. + */ +$isCli = PHP_SAPI === 'cli'; +if ($isCli) { + (new ConsoleErrorHandler(Configure::read('Error')))->register(); +} else { + (new ErrorHandler(Configure::read('Error')))->register(); +} + +/* + * Include the CLI bootstrap overrides. + */ +if ($isCli) { + require __DIR__ . '/bootstrap_cli.php'; +} + +/* + * Set the full base URL. + * This URL is used as the base of all absolute links. + * + * If you define fullBaseUrl in your config file you can remove this. + */ +if (!Configure::read('App.fullBaseUrl')) { + $s = null; + if (env('HTTPS')) { + $s = 's'; + } + + $httpHost = env('HTTP_HOST'); + if (isset($httpHost)) { + Configure::write('App.fullBaseUrl', 'http' . $s . '://' . $httpHost); + } + unset($httpHost, $s); +} + +Cache::setConfig(Configure::consume('Cache')); +ConnectionManager::setConfig(Configure::consume('Datasources')); +Email::setConfigTransport(Configure::consume('EmailTransport')); +Email::setConfig(Configure::consume('Email')); +Log::setConfig(Configure::consume('Log')); +Security::setSalt(Configure::consume('Security.salt')); + +/* + * The default crypto extension in 3.0 is OpenSSL. + * If you are migrating from 2.x uncomment this code to + * use a more compatible Mcrypt based implementation + */ +//Security::engine(new \Cake\Utility\Crypto\Mcrypt()); + +/* + * Setup detectors for mobile and tablet. + */ +ServerRequest::addDetector('mobile', function ($request) { + $detector = new \Detection\MobileDetect(); + + return $detector->isMobile(); +}); +ServerRequest::addDetector('tablet', function ($request) { + $detector = new \Detection\MobileDetect(); + + return $detector->isTablet(); +}); + +/* + * Enable immutable time objects in the ORM. + * + * You can enable default locale format parsing by adding calls + * to `useLocaleParser()`. This enables the automatic conversion of + * locale specific date formats. For details see + * @link https://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization.html#parsing-localized-datetime-data + */ +Type::build('time') + ->useImmutable(); +Type::build('date') + ->useImmutable(); +Type::build('datetime') + ->useImmutable(); +Type::build('timestamp') + ->useImmutable(); + +/* + * Custom Inflector rules, can be set to correctly pluralize or singularize + * table, model, controller names or whatever other string is passed to the + * inflection functions. + */ +//Inflector::rules('plural', ['/^(inflect)or$/i' => '\1ables']); +//Inflector::rules('irregular', ['red' => 'redlings']); +//Inflector::rules('uninflected', ['dontinflectme']); +//Inflector::rules('transliteration', ['/å/' => 'aa']); diff --git a/fai_gestion/config/bootstrap_cli.php b/fai_gestion/config/bootstrap_cli.php new file mode 100644 index 0000000..287683a --- /dev/null +++ b/fai_gestion/config/bootstrap_cli.php @@ -0,0 +1,30 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +use Cake\Core\Configure; +use Cake\Core\Exception\MissingPluginException; +use Cake\Core\Plugin; + +/** + * Additional bootstrapping and configuration for CLI environments should + * be put here. + */ + +// Set the fullBaseUrl to allow URLs to be generated in shell tasks. +// This is useful when sending email from shells. +//Configure::write('App.fullBaseUrl', php_uname('n')); + +// Set logs to different files so they don't have permission conflicts. +Configure::write('Log.debug.file', 'cli-debug'); +Configure::write('Log.error.file', 'cli-error'); diff --git a/fai_gestion/config/paths.php b/fai_gestion/config/paths.php new file mode 100644 index 0000000..48d0041 --- /dev/null +++ b/fai_gestion/config/paths.php @@ -0,0 +1,85 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.0 + * @license MIT License (https://opensource.org/licenses/mit-license.php) + */ + +/** + * Use the DS to separate the directories in other defines + */ +if (!defined('DS')) { + define('DS', DIRECTORY_SEPARATOR); +} + +/** + * These defines should only be edited if you have cake installed in + * a directory layout other than the way it is distributed. + * When using custom settings be sure to use the DS and do not add a trailing DS. + */ + +/** + * The full path to the directory which holds "src", WITHOUT a trailing DS. + */ +define('ROOT', dirname(__DIR__)); + +/** + * The actual directory name for the application directory. Normally + * named 'src'. + */ +define('APP_DIR', 'src'); + +/** + * Path to the application's directory. + */ +define('APP', ROOT . DS . APP_DIR . DS); + +/** + * Path to the config directory. + */ +define('CONFIG', ROOT . DS . 'config' . DS); + +/** + * File path to the webroot directory. + */ +define('WWW_ROOT', ROOT . DS . 'webroot' . DS); + +/** + * Path to the tests directory. + */ +define('TESTS', ROOT . DS . 'tests' . DS); + +/** + * Path to the temporary files directory. + */ +define('TMP', ROOT . DS . 'tmp' . DS); + +/** + * Path to the logs directory. + */ +define('LOGS', ROOT . DS . 'logs' . DS); + +/** + * Path to the cache files directory. It can be shared between hosts in a multi-server setup. + */ +define('CACHE', TMP . 'cache' . DS); + +/** + * The absolute path to the "cake" directory, WITHOUT a trailing DS. + * + * CakePHP should always be installed with composer, so look there. + */ +define('CAKE_CORE_INCLUDE_PATH', ROOT . DS . 'vendor' . DS . 'cakephp' . DS . 'cakephp'); + +/** + * Path to the cake directory. + */ +define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS); +define('CAKE', CORE_PATH . 'src' . DS); diff --git a/fai_gestion/config/requirements.php b/fai_gestion/config/requirements.php new file mode 100644 index 0000000..d5b180f --- /dev/null +++ b/fai_gestion/config/requirements.php @@ -0,0 +1,39 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.5.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +/* + * You can empty out this file, if you are certain that you match all requirements. + */ + +/* + * You can remove this if you are confident that your PHP version is sufficient. + */ +if (version_compare(PHP_VERSION, '5.6.0') < 0) { + trigger_error('Your PHP version must be equal or higher than 5.6.0 to use CakePHP.' . PHP_EOL, E_USER_ERROR); +} + +/* + * You can remove this if you are confident you have intl installed. + */ +if (!extension_loaded('intl')) { + trigger_error('You must enable the intl extension to use CakePHP.' . PHP_EOL, E_USER_ERROR); +} + +/* + * You can remove this if you are confident you have mbstring installed. + */ +if (!extension_loaded('mbstring')) { + trigger_error('You must enable the mbstring extension to use CakePHP.' . PHP_EOL, E_USER_ERROR); +} diff --git a/fai_gestion/config/routes.php b/fai_gestion/config/routes.php new file mode 100644 index 0000000..b9b8c9f --- /dev/null +++ b/fai_gestion/config/routes.php @@ -0,0 +1,79 @@ +<?php +/** + * Routes configuration + * + * In this file, you set up routes to your controllers and their actions. + * Routes are very important mechanism that allows you to freely connect + * different URLs to chosen controllers and their actions (functions). + * + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +use Cake\Core\Plugin; +use Cake\Routing\RouteBuilder; +use Cake\Routing\Router; +use Cake\Routing\Route\DashedRoute; + +/** + * The default class to use for all routes + * + * The following route classes are supplied with CakePHP and are appropriate + * to set as the default: + * + * - Route + * - InflectedRoute + * - DashedRoute + * + * If no call is made to `Router::defaultRouteClass()`, the class used is + * `Route` (`Cake\Routing\Route\Route`) + * + * Note that `Route` does not do any inflections on URLs which will result in + * inconsistently cased URLs when used with `:plugin`, `:controller` and + * `:action` markers. + * + * Cache: Routes are cached to improve performance, check the RoutingMiddleware + * constructor in your `src/Application.php` file to change this behavior. + * + */ +Router::defaultRouteClass(DashedRoute::class); + +Router::scope('/', function (RouteBuilder $routes) { + /** + * Here, we are connecting '/' (base path) to a controller called 'Pages', + * its action called 'display', and we pass a param to select the view file + * to use (in this case, src/Template/Pages/home.ctp)... + */ + $routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']); + + /** + * ...and connect the rest of 'Pages' controller's URLs. + */ + $routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']); + + /** + * Connect catchall routes for all controllers. + * + * Using the argument `DashedRoute`, the `fallbacks` method is a shortcut for + * `$routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'DashedRoute']);` + * `$routes->connect('/:controller/:action/*', [], ['routeClass' => 'DashedRoute']);` + * + * Any route class can be used with this method, such as: + * - DashedRoute + * - InflectedRoute + * - Route + * - Or your own route class + * + * You can remove these routes once you've connected the + * routes you want in your application. + */ + $routes->fallbacks(DashedRoute::class); +}); diff --git a/fai_gestion/config/schema/i18n.sql b/fai_gestion/config/schema/i18n.sql new file mode 100644 index 0000000..e59d1e6 --- /dev/null +++ b/fai_gestion/config/schema/i18n.sql @@ -0,0 +1,18 @@ +# Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# +# Licensed under The MIT License +# For full copyright and license information, please see the LICENSE.txt +# Redistributions of files must retain the above copyright notice. +# MIT License (https://opensource.org/licenses/mit-license.php) + +CREATE TABLE i18n ( + id int NOT NULL auto_increment, + locale varchar(6) NOT NULL, + model varchar(255) NOT NULL, + foreign_key int(10) NOT NULL, + field varchar(255) NOT NULL, + content text, + PRIMARY KEY (id), + UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field), + INDEX I18N_FIELD(model, foreign_key, field) +); diff --git a/fai_gestion/config/schema/sessions.sql b/fai_gestion/config/schema/sessions.sql new file mode 100644 index 0000000..1aa0a0f --- /dev/null +++ b/fai_gestion/config/schema/sessions.sql @@ -0,0 +1,15 @@ +# Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) +# +# Licensed under The MIT License +# For full copyright and license information, please see the LICENSE.txt +# Redistributions of files must retain the above copyright notice. +# MIT License (https://opensource.org/licenses/mit-license.php) + +CREATE TABLE `sessions` ( + `id` char(40) CHARACTER SET ascii COLLATE ascii_bin NOT NULL, + `created` datetime DEFAULT CURRENT_TIMESTAMP, -- optional, requires MySQL 5.6.5+ + `modified` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- optional, requires MySQL 5.6.5+ + `data` blob DEFAULT NULL, -- for PostgreSQL use bytea instead of blob + `expires` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/fai_gestion/index.php b/fai_gestion/index.php new file mode 100644 index 0000000..4591769 --- /dev/null +++ b/fai_gestion/index.php @@ -0,0 +1,16 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +require 'webroot' . DIRECTORY_SEPARATOR . 'index.php'; diff --git a/fai_gestion/logs b/fai_gestion/logs new file mode 120000 index 0000000..36efa95 --- /dev/null +++ b/fai_gestion/logs @@ -0,0 +1 @@ +/var/log/fai_gestion
\ No newline at end of file diff --git a/fai_gestion/phpunit.xml.dist b/fai_gestion/phpunit.xml.dist new file mode 100644 index 0000000..489a401 --- /dev/null +++ b/fai_gestion/phpunit.xml.dist @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit + colors="true" + processIsolation="false" + stopOnFailure="false" + syntaxCheck="false" + bootstrap="tests/bootstrap.php" + > + <php> + <ini name="memory_limit" value="-1"/> + <ini name="apc.enable_cli" value="1"/> + </php> + + <!-- Add any additional test suites you want to run here --> + <testsuites> + <testsuite name="app"> + <directory>tests/TestCase/</directory> + </testsuite> + <!-- Add plugin test suites here. --> + </testsuites> + + <!-- Setup a listener for fixtures --> + <listeners> + <listener + class="\Cake\TestSuite\Fixture\FixtureInjector"> + <arguments> + <object class="\Cake\TestSuite\Fixture\FixtureManager" /> + </arguments> + </listener> + </listeners> + + <!-- Ignore vendor tests in code coverage reports --> + <filter> + <whitelist> + <directory suffix=".php">src/</directory> + <directory suffix=".php">plugins/*/src/</directory> + </whitelist> + </filter> +</phpunit> diff --git a/fai_gestion/plugins/empty b/fai_gestion/plugins/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/plugins/empty diff --git a/fai_gestion/src/Application.php b/fai_gestion/src/Application.php new file mode 100644 index 0000000..48484b4 --- /dev/null +++ b/fai_gestion/src/Application.php @@ -0,0 +1,89 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.3.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App; + +use Cake\Core\Configure; +use Cake\Core\Exception\MissingPluginException; +use Cake\Error\Middleware\ErrorHandlerMiddleware; +use Cake\Http\BaseApplication; +use Cake\Http\Middleware\CsrfProtectionMiddleware; +use Cake\Routing\Middleware\AssetMiddleware; +use Cake\Routing\Middleware\RoutingMiddleware; + +/** + * Application setup class. + * + * This defines the bootstrapping logic and middleware layers you + * want to use in your application. + */ +class Application extends BaseApplication +{ + /** + * {@inheritDoc} + */ + public function bootstrap() + { + // Call parent to load bootstrap from files. + parent::bootstrap(); + + if (PHP_SAPI === 'cli') { + try { + $this->addPlugin('Bake'); + } catch (MissingPluginException $e) { + // Do not halt if the plugin is missing + } + + $this->addPlugin('Migrations'); + } + + /* + * Only try to load DebugKit in development mode + * Debug Kit should not be installed on a production system + */ + if (Configure::read('debug')) { + $this->addPlugin(\DebugKit\Plugin::class); + } + } + + /** + * Setup the middleware queue your application will use. + * + * @param \Cake\Http\MiddlewareQueue $middlewareQueue The middleware queue to setup. + * @return \Cake\Http\MiddlewareQueue The updated middleware queue. + */ + public function middleware($middlewareQueue) + { + $middlewareQueue + // Catch any exceptions in the lower layers, + // and make an error page/response + ->add(ErrorHandlerMiddleware::class) + + // Handle plugin/theme assets like CakePHP normally does. + ->add(AssetMiddleware::class) + + // Add routing middleware. + // Routes collection cache enabled by default, to disable route caching + // pass null as cacheConfig, example: `new RoutingMiddleware($this)` + // you might want to disable this cache in case your routing is extremely simple + ->add(new RoutingMiddleware($this, '_cake_routes_')) + + // Add csrf middleware. + ->add(new CsrfProtectionMiddleware([ + 'httpOnly' => true + ])); + + return $middlewareQueue; + } +} diff --git a/fai_gestion/src/Console/Installer.php b/fai_gestion/src/Console/Installer.php new file mode 100644 index 0000000..3bcef47 --- /dev/null +++ b/fai_gestion/src/Console/Installer.php @@ -0,0 +1,246 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Console; + +if (!defined('STDIN')) { + define('STDIN', fopen('php://stdin', 'r')); +} + +use Cake\Utility\Security; +use Composer\Script\Event; +use Exception; + +/** + * Provides installation hooks for when this application is installed via + * composer. Customize this class to suit your needs. + */ +class Installer +{ + + /** + * An array of directories to be made writable + */ + const WRITABLE_DIRS = [ + 'logs', + 'tmp', + 'tmp/cache', + 'tmp/cache/models', + 'tmp/cache/persistent', + 'tmp/cache/views', + 'tmp/sessions', + 'tmp/tests' + ]; + + /** + * Does some routine installation tasks so people don't have to. + * + * @param \Composer\Script\Event $event The composer event object. + * @throws \Exception Exception raised by validator. + * @return void + */ + public static function postInstall(Event $event) + { + $io = $event->getIO(); + + $rootDir = dirname(dirname(__DIR__)); + + static::createAppConfig($rootDir, $io); + static::createWritableDirectories($rootDir, $io); + + // ask if the permissions should be changed + if ($io->isInteractive()) { + $validator = function ($arg) { + if (in_array($arg, ['Y', 'y', 'N', 'n'])) { + return $arg; + } + throw new Exception('This is not a valid answer. Please choose Y or n.'); + }; + $setFolderPermissions = $io->askAndValidate( + '<info>Set Folder Permissions ? (Default to Y)</info> [<comment>Y,n</comment>]? ', + $validator, + 10, + 'Y' + ); + + if (in_array($setFolderPermissions, ['Y', 'y'])) { + static::setFolderPermissions($rootDir, $io); + } + } else { + static::setFolderPermissions($rootDir, $io); + } + + static::setSecuritySalt($rootDir, $io); + + $class = 'Cake\Codeception\Console\Installer'; + if (class_exists($class)) { + $class::customizeCodeceptionBinary($event); + } + } + + /** + * Create the config/app.php file if it does not exist. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function createAppConfig($dir, $io) + { + $appConfig = $dir . '/config/app.php'; + $defaultConfig = $dir . '/config/app.default.php'; + if (!file_exists($appConfig)) { + copy($defaultConfig, $appConfig); + $io->write('Created `config/app.php` file'); + } + } + + /** + * Create the `logs` and `tmp` directories. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function createWritableDirectories($dir, $io) + { + foreach (static::WRITABLE_DIRS as $path) { + $path = $dir . '/' . $path; + if (!file_exists($path)) { + mkdir($path); + $io->write('Created `' . $path . '` directory'); + } + } + } + + /** + * Set globally writable permissions on the "tmp" and "logs" directory. + * + * This is not the most secure default, but it gets people up and running quickly. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function setFolderPermissions($dir, $io) + { + // Change the permissions on a path and output the results. + $changePerms = function ($path) use ($io) { + $currentPerms = fileperms($path) & 0777; + $worldWritable = $currentPerms | 0007; + if ($worldWritable == $currentPerms) { + return; + } + + $res = chmod($path, $worldWritable); + if ($res) { + $io->write('Permissions set on ' . $path); + } else { + $io->write('Failed to set permissions on ' . $path); + } + }; + + $walker = function ($dir) use (&$walker, $changePerms) { + $files = array_diff(scandir($dir), ['.', '..']); + foreach ($files as $file) { + $path = $dir . '/' . $file; + + if (!is_dir($path)) { + continue; + } + + $changePerms($path); + $walker($path); + } + }; + + $walker($dir . '/tmp'); + $changePerms($dir . '/tmp'); + $changePerms($dir . '/logs'); + } + + /** + * Set the security.salt value in the application's config file. + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @return void + */ + public static function setSecuritySalt($dir, $io) + { + $newKey = hash('sha256', Security::randomBytes(64)); + static::setSecuritySaltInFile($dir, $io, $newKey, 'app.php'); + } + + /** + * Set the security.salt value in a given file + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @param string $newKey key to set in the file + * @param string $file A path to a file relative to the application's root + * @return void + */ + public static function setSecuritySaltInFile($dir, $io, $newKey, $file) + { + $config = $dir . '/config/' . $file; + $content = file_get_contents($config); + + $content = str_replace('__SALT__', $newKey, $content, $count); + + if ($count == 0) { + $io->write('No Security.salt placeholder to replace.'); + + return; + } + + $result = file_put_contents($config, $content); + if ($result) { + $io->write('Updated Security.salt value in config/' . $file); + + return; + } + $io->write('Unable to update Security.salt value.'); + } + + /** + * Set the APP_NAME value in a given file + * + * @param string $dir The application's root directory. + * @param \Composer\IO\IOInterface $io IO interface to write to console. + * @param string $appName app name to set in the file + * @param string $file A path to a file relative to the application's root + * @return void + */ + public static function setAppNameInFile($dir, $io, $appName, $file) + { + $config = $dir . '/config/' . $file; + $content = file_get_contents($config); + $content = str_replace('__APP_NAME__', $appName, $content, $count); + + if ($count == 0) { + $io->write('No __APP_NAME__ placeholder to replace.'); + + return; + } + + $result = file_put_contents($config, $content); + if ($result) { + $io->write('Updated __APP_NAME__ value in config/' . $file); + + return; + } + $io->write('Unable to update __APP_NAME__ value.'); + } +} diff --git a/fai_gestion/src/Controller/AppController.php b/fai_gestion/src/Controller/AppController.php new file mode 100644 index 0000000..49fa03f --- /dev/null +++ b/fai_gestion/src/Controller/AppController.php @@ -0,0 +1,55 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.2.9 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Controller; + +use Cake\Controller\Controller; +use Cake\Event\Event; + +/** + * Application Controller + * + * Add your application-wide methods in the class below, your controllers + * will inherit them. + * + * @link https://book.cakephp.org/3.0/en/controllers.html#the-app-controller + */ +class AppController extends Controller +{ + + /** + * Initialization hook method. + * + * Use this method to add common initialization code like loading components. + * + * e.g. `$this->loadComponent('Security');` + * + * @return void + */ + public function initialize() + { + parent::initialize(); + + $this->loadComponent('RequestHandler', [ + 'enableBeforeRedirect' => false, + ]); + $this->loadComponent('Flash'); + + /* + * Enable the following component for recommended CakePHP security settings. + * see https://book.cakephp.org/3.0/en/controllers/components/security.html + */ + //$this->loadComponent('Security'); + } +} diff --git a/fai_gestion/src/Controller/Component/empty b/fai_gestion/src/Controller/Component/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/src/Controller/Component/empty diff --git a/fai_gestion/src/Controller/ErrorController.php b/fai_gestion/src/Controller/ErrorController.php new file mode 100644 index 0000000..43bd2fb --- /dev/null +++ b/fai_gestion/src/Controller/ErrorController.php @@ -0,0 +1,70 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.3.4 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Controller; + +use Cake\Event\Event; + +/** + * Error Handling Controller + * + * Controller used by ExceptionRenderer to render error responses. + */ +class ErrorController extends AppController +{ + /** + * Initialization hook method. + * + * @return void + */ + public function initialize() + { + $this->loadComponent('RequestHandler', [ + 'enableBeforeRedirect' => false, + ]); + } + + /** + * beforeFilter callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function beforeFilter(Event $event) + { + } + + /** + * beforeRender callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function beforeRender(Event $event) + { + parent::beforeRender($event); + + $this->viewBuilder()->setTemplatePath('Error'); + } + + /** + * afterFilter callback. + * + * @param \Cake\Event\Event $event Event. + * @return \Cake\Http\Response|null|void + */ + public function afterFilter(Event $event) + { + } +} diff --git a/fai_gestion/src/Controller/PagesController.php b/fai_gestion/src/Controller/PagesController.php new file mode 100644 index 0000000..d023661 --- /dev/null +++ b/fai_gestion/src/Controller/PagesController.php @@ -0,0 +1,69 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.2.9 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Controller; + +use Cake\Core\Configure; +use Cake\Http\Exception\ForbiddenException; +use Cake\Http\Exception\NotFoundException; +use Cake\View\Exception\MissingTemplateException; + +/** + * Static content controller + * + * This controller will render views from Template/Pages/ + * + * @link https://book.cakephp.org/3.0/en/controllers/pages-controller.html + */ +class PagesController extends AppController +{ + + /** + * Displays a view + * + * @param array ...$path Path segments. + * @return \Cake\Http\Response|null + * @throws \Cake\Http\Exception\ForbiddenException When a directory traversal attempt. + * @throws \Cake\Http\Exception\NotFoundException When the view file could not + * be found or \Cake\View\Exception\MissingTemplateException in debug mode. + */ + public function display(...$path) + { + $count = count($path); + if (!$count) { + return $this->redirect('/'); + } + if (in_array('..', $path, true) || in_array('.', $path, true)) { + throw new ForbiddenException(); + } + $page = $subpage = null; + + if (!empty($path[0])) { + $page = $path[0]; + } + if (!empty($path[1])) { + $subpage = $path[1]; + } + $this->set(compact('page', 'subpage')); + + try { + $this->render(implode('/', $path)); + } catch (MissingTemplateException $exception) { + if (Configure::read('debug')) { + throw $exception; + } + throw new NotFoundException(); + } + } +} diff --git a/fai_gestion/src/Model/Behavior/empty b/fai_gestion/src/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/src/Model/Behavior/empty diff --git a/fai_gestion/src/Model/Entity/empty b/fai_gestion/src/Model/Entity/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/src/Model/Entity/empty diff --git a/fai_gestion/src/Model/Table/empty b/fai_gestion/src/Model/Table/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/src/Model/Table/empty diff --git a/fai_gestion/src/Shell/ConsoleShell.php b/fai_gestion/src/Shell/ConsoleShell.php new file mode 100644 index 0000000..2eb9395 --- /dev/null +++ b/fai_gestion/src/Shell/ConsoleShell.php @@ -0,0 +1,81 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Shell; + +use Cake\Console\ConsoleOptionParser; +use Cake\Console\Shell; +use Cake\Log\Log; +use Psy\Shell as PsyShell; + +/** + * Simple console wrapper around Psy\Shell. + */ +class ConsoleShell extends Shell +{ + + /** + * Start the shell and interactive console. + * + * @return int|null + */ + public function main() + { + if (!class_exists('Psy\Shell')) { + $this->err('<error>Unable to load Psy\Shell.</error>'); + $this->err(''); + $this->err('Make sure you have installed psysh as a dependency,'); + $this->err('and that Psy\Shell is registered in your autoloader.'); + $this->err(''); + $this->err('If you are using composer run'); + $this->err(''); + $this->err('<info>$ php composer.phar require --dev psy/psysh</info>'); + $this->err(''); + + return self::CODE_ERROR; + } + + $this->out("You can exit with <info>`CTRL-C`</info> or <info>`exit`</info>"); + $this->out(''); + + Log::drop('debug'); + Log::drop('error'); + $this->_io->setLoggers(false); + restore_error_handler(); + restore_exception_handler(); + + $psy = new PsyShell(); + $psy->run(); + } + + /** + * Display help for this console. + * + * @return \Cake\Console\ConsoleOptionParser + */ + public function getOptionParser() + { + $parser = new ConsoleOptionParser('console'); + $parser->setDescription( + 'This shell provides a REPL that you can use to interact ' . + 'with your application in an interactive fashion. You can use ' . + 'it to run adhoc queries with your models, or experiment ' . + 'and explore the features of CakePHP and your application.' . + "\n\n" . + 'You will need to have psysh installed for this Shell to work.' + ); + + return $parser; + } +} diff --git a/fai_gestion/src/Template/Cell/empty b/fai_gestion/src/Template/Cell/empty new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/fai_gestion/src/Template/Cell/empty @@ -0,0 +1 @@ + diff --git a/fai_gestion/src/Template/Element/Flash/default.ctp b/fai_gestion/src/Template/Element/Flash/default.ctp new file mode 100644 index 0000000..736b27d --- /dev/null +++ b/fai_gestion/src/Template/Element/Flash/default.ctp @@ -0,0 +1,10 @@ +<?php +$class = 'message'; +if (!empty($params['class'])) { + $class .= ' ' . $params['class']; +} +if (!isset($params['escape']) || $params['escape'] !== false) { + $message = h($message); +} +?> +<div class="<?= h($class) ?>" onclick="this.classList.add('hidden');"><?= $message ?></div> diff --git a/fai_gestion/src/Template/Element/Flash/error.ctp b/fai_gestion/src/Template/Element/Flash/error.ctp new file mode 100644 index 0000000..e7c4af1 --- /dev/null +++ b/fai_gestion/src/Template/Element/Flash/error.ctp @@ -0,0 +1,6 @@ +<?php +if (!isset($params['escape']) || $params['escape'] !== false) { + $message = h($message); +} +?> +<div class="message error" onclick="this.classList.add('hidden');"><?= $message ?></div> diff --git a/fai_gestion/src/Template/Element/Flash/success.ctp b/fai_gestion/src/Template/Element/Flash/success.ctp new file mode 100644 index 0000000..becd5a1 --- /dev/null +++ b/fai_gestion/src/Template/Element/Flash/success.ctp @@ -0,0 +1,6 @@ +<?php +if (!isset($params['escape']) || $params['escape'] !== false) { + $message = h($message); +} +?> +<div class="message success" onclick="this.classList.add('hidden')"><?= $message ?></div> diff --git a/fai_gestion/src/Template/Email/html/default.ctp b/fai_gestion/src/Template/Email/html/default.ctp new file mode 100644 index 0000000..ac3daa7 --- /dev/null +++ b/fai_gestion/src/Template/Email/html/default.ctp @@ -0,0 +1,20 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +$content = explode("\n", $content); + +foreach ($content as $line) : + echo '<p> ' . $line . "</p>\n"; +endforeach; diff --git a/fai_gestion/src/Template/Email/text/default.ctp b/fai_gestion/src/Template/Email/text/default.ctp new file mode 100644 index 0000000..862cd9f --- /dev/null +++ b/fai_gestion/src/Template/Email/text/default.ctp @@ -0,0 +1,16 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +echo $content; diff --git a/fai_gestion/src/Template/Error/error400.ctp b/fai_gestion/src/Template/Error/error400.ctp new file mode 100644 index 0000000..6b538b7 --- /dev/null +++ b/fai_gestion/src/Template/Error/error400.ctp @@ -0,0 +1,38 @@ +<?php +use Cake\Core\Configure; +use Cake\Error\Debugger; + +$this->layout = 'error'; + +if (Configure::read('debug')) : + $this->layout = 'dev_error'; + + $this->assign('title', $message); + $this->assign('templateName', 'error400.ctp'); + + $this->start('file'); +?> +<?php if (!empty($error->queryString)) : ?> + <p class="notice"> + <strong>SQL Query: </strong> + <?= h($error->queryString) ?> + </p> +<?php endif; ?> +<?php if (!empty($error->params)) : ?> + <strong>SQL Query Params: </strong> + <?php Debugger::dump($error->params) ?> +<?php endif; ?> +<?= $this->element('auto_table_warning') ?> +<?php +if (extension_loaded('xdebug')) : + xdebug_print_function_stack(); +endif; + +$this->end(); +endif; +?> +<h2><?= h($message) ?></h2> +<p class="error"> + <strong><?= __d('cake', 'Error') ?>: </strong> + <?= __d('cake', 'The requested address {0} was not found on this server.', "<strong>'{$url}'</strong>") ?> +</p> diff --git a/fai_gestion/src/Template/Error/error500.ctp b/fai_gestion/src/Template/Error/error500.ctp new file mode 100644 index 0000000..3328cc5 --- /dev/null +++ b/fai_gestion/src/Template/Error/error500.ctp @@ -0,0 +1,43 @@ +<?php +use Cake\Core\Configure; +use Cake\Error\Debugger; + +$this->layout = 'error'; + +if (Configure::read('debug')) : + $this->layout = 'dev_error'; + + $this->assign('title', $message); + $this->assign('templateName', 'error500.ctp'); + + $this->start('file'); +?> +<?php if (!empty($error->queryString)) : ?> + <p class="notice"> + <strong>SQL Query: </strong> + <?= h($error->queryString) ?> + </p> +<?php endif; ?> +<?php if (!empty($error->params)) : ?> + <strong>SQL Query Params: </strong> + <?php Debugger::dump($error->params) ?> +<?php endif; ?> +<?php if ($error instanceof Error) : ?> + <strong>Error in: </strong> + <?= sprintf('%s, line %s', str_replace(ROOT, 'ROOT', $error->getFile()), $error->getLine()) ?> +<?php endif; ?> +<?php + echo $this->element('auto_table_warning'); + + if (extension_loaded('xdebug')) : + xdebug_print_function_stack(); + endif; + + $this->end(); +endif; +?> +<h2><?= __d('cake', 'An Internal Error Has Occurred') ?></h2> +<p class="error"> + <strong><?= __d('cake', 'Error') ?>: </strong> + <?= h($message) ?> +</p> diff --git a/fai_gestion/src/Template/Layout/Email/html/default.ctp b/fai_gestion/src/Template/Layout/Email/html/default.ctp new file mode 100644 index 0000000..3ff87ff --- /dev/null +++ b/fai_gestion/src/Template/Layout/Email/html/default.ctp @@ -0,0 +1,24 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<html> +<head> + <title><?= $this->fetch('title') ?></title> +</head> +<body> + <?= $this->fetch('content') ?> +</body> +</html> diff --git a/fai_gestion/src/Template/Layout/Email/text/default.ctp b/fai_gestion/src/Template/Layout/Email/text/default.ctp new file mode 100644 index 0000000..29b439c --- /dev/null +++ b/fai_gestion/src/Template/Layout/Email/text/default.ctp @@ -0,0 +1,16 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +echo $this->fetch('content'); diff --git a/fai_gestion/src/Template/Layout/ajax.ctp b/fai_gestion/src/Template/Layout/ajax.ctp new file mode 100644 index 0000000..29b439c --- /dev/null +++ b/fai_gestion/src/Template/Layout/ajax.ctp @@ -0,0 +1,16 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +echo $this->fetch('content'); diff --git a/fai_gestion/src/Template/Layout/default.ctp b/fai_gestion/src/Template/Layout/default.ctp new file mode 100644 index 0000000..caf014e --- /dev/null +++ b/fai_gestion/src/Template/Layout/default.ctp @@ -0,0 +1,57 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ + +$cakeDescription = 'CakePHP: the rapid development php framework'; +?> +<!DOCTYPE html> +<html> +<head> + <?= $this->Html->charset() ?> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title> + <?= $cakeDescription ?>: + <?= $this->fetch('title') ?> + </title> + <?= $this->Html->meta('icon') ?> + + <?= $this->Html->css('base.css') ?> + <?= $this->Html->css('style.css') ?> + + <?= $this->fetch('meta') ?> + <?= $this->fetch('css') ?> + <?= $this->fetch('script') ?> +</head> +<body> + <nav class="top-bar expanded" data-topbar role="navigation"> + <ul class="title-area large-3 medium-4 columns"> + <li class="name"> + <h1><a href=""><?= $this->fetch('title') ?></a></h1> + </li> + </ul> + <div class="top-bar-section"> + <ul class="right"> + <li><a target="_blank" href="https://book.cakephp.org/3.0/">Documentation</a></li> + <li><a target="_blank" href="https://api.cakephp.org/3.0/">API</a></li> + </ul> + </div> + </nav> + <?= $this->Flash->render() ?> + <div class="container clearfix"> + <?= $this->fetch('content') ?> + </div> + <footer> + </footer> +</body> +</html> diff --git a/fai_gestion/src/Template/Layout/error.ctp b/fai_gestion/src/Template/Layout/error.ctp new file mode 100644 index 0000000..7367c1b --- /dev/null +++ b/fai_gestion/src/Template/Layout/error.ctp @@ -0,0 +1,47 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +?> +<!DOCTYPE html> +<html> +<head> + <?= $this->Html->charset() ?> + <title> + <?= $this->fetch('title') ?> + </title> + <?= $this->Html->meta('icon') ?> + + <?= $this->Html->css('base.css') ?> + <?= $this->Html->css('style.css') ?> + + <?= $this->fetch('meta') ?> + <?= $this->fetch('css') ?> + <?= $this->fetch('script') ?> +</head> +<body> + <div id="container"> + <div id="header"> + <h1><?= __('Error') ?></h1> + </div> + <div id="content"> + <?= $this->Flash->render() ?> + + <?= $this->fetch('content') ?> + </div> + <div id="footer"> + <?= $this->Html->link(__('Back'), 'javascript:history.back()') ?> + </div> + </div> +</body> +</html> diff --git a/fai_gestion/src/Template/Layout/rss/default.ctp b/fai_gestion/src/Template/Layout/rss/default.ctp new file mode 100644 index 0000000..8269be2 --- /dev/null +++ b/fai_gestion/src/Template/Layout/rss/default.ctp @@ -0,0 +1,11 @@ +<?php +if (!isset($channel)) : + $channel = []; +endif; +if (!isset($channel['title'])) : + $channel['title'] = $this->fetch('title'); +endif; + +echo $this->Rss->document( + $this->Rss->channel([], $channel, $this->fetch('content')) +); diff --git a/fai_gestion/src/Template/Pages/home.ctp b/fai_gestion/src/Template/Pages/home.ctp new file mode 100644 index 0000000..a393d0e --- /dev/null +++ b/fai_gestion/src/Template/Pages/home.ctp @@ -0,0 +1,278 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.10.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +use Cake\Cache\Cache; +use Cake\Core\Configure; +use Cake\Core\Plugin; +use Cake\Datasource\ConnectionManager; +use Cake\Error\Debugger; +use Cake\Network\Exception\NotFoundException; + +$this->layout = false; + +if (!Configure::read('debug')) : + throw new NotFoundException( + 'Please replace src/Template/Pages/home.ctp with your own version or re-enable debug mode.' + ); +endif; + +$cakeDescription = 'CakePHP: the rapid development PHP framework'; +?> +<!DOCTYPE html> +<html> +<head> + <?= $this->Html->charset() ?> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title> + <?= $cakeDescription ?> + </title> + + <?= $this->Html->meta('icon') ?> + <?= $this->Html->css('base.css') ?> + <?= $this->Html->css('style.css') ?> + <?= $this->Html->css('home.css') ?> + <link href="https://fonts.googleapis.com/css?family=Raleway:500i|Roboto:300,400,700|Roboto+Mono" rel="stylesheet"> +</head> +<body class="home"> + +<header class="row"> + <div class="header-image"><?= $this->Html->image('cake.logo.svg') ?></div> + <div class="header-title"> + <h1>Welcome to CakePHP <?= Configure::version() ?> Red Velvet. Build fast. Grow solid.</h1> + </div> +</header> + +<div class="row"> + <div class="columns large-12"> + <div class="ctp-warning alert text-center"> + <p>Please be aware that this page will not be shown if you turn off debug mode unless you replace src/Template/Pages/home.ctp with your own version.</p> + </div> + <div id="url-rewriting-warning" class="alert url-rewriting"> + <ul> + <li class="bullet problem"> + URL rewriting is not properly configured on your server.<br /> + 1) <a target="_blank" href="https://book.cakephp.org/3.0/en/installation.html#url-rewriting">Help me configure it</a><br /> + 2) <a target="_blank" href="https://book.cakephp.org/3.0/en/development/configuration.html#general-configuration">I don't / can't use URL rewriting</a> + </li> + </ul> + </div> + <?php Debugger::checkSecurityKeys(); ?> + </div> +</div> + +<div class="row"> + <div class="columns large-6"> + <h4>Environment</h4> + <ul> + <?php if (version_compare(PHP_VERSION, '5.6.0', '>=')) : ?> + <li class="bullet success">Your version of PHP is 5.6.0 or higher (detected <?= PHP_VERSION ?>).</li> + <?php else : ?> + <li class="bullet problem">Your version of PHP is too low. You need PHP 5.6.0 or higher to use CakePHP (detected <?= PHP_VERSION ?>).</li> + <?php endif; ?> + + <?php if (extension_loaded('mbstring')) : ?> + <li class="bullet success">Your version of PHP has the mbstring extension loaded.</li> + <?php else : ?> + <li class="bullet problem">Your version of PHP does NOT have the mbstring extension loaded.</li> + <?php endif; ?> + + <?php if (extension_loaded('openssl')) : ?> + <li class="bullet success">Your version of PHP has the openssl extension loaded.</li> + <?php elseif (extension_loaded('mcrypt')) : ?> + <li class="bullet success">Your version of PHP has the mcrypt extension loaded.</li> + <?php else : ?> + <li class="bullet problem">Your version of PHP does NOT have the openssl or mcrypt extension loaded.</li> + <?php endif; ?> + + <?php if (extension_loaded('intl')) : ?> + <li class="bullet success">Your version of PHP has the intl extension loaded.</li> + <?php else : ?> + <li class="bullet problem">Your version of PHP does NOT have the intl extension loaded.</li> + <?php endif; ?> + </ul> + </div> + <div class="columns large-6"> + <h4>Filesystem</h4> + <ul> + <?php if (is_writable(TMP)) : ?> + <li class="bullet success">Your tmp directory is writable.</li> + <?php else : ?> + <li class="bullet problem">Your tmp directory is NOT writable.</li> + <?php endif; ?> + + <?php if (is_writable(LOGS)) : ?> + <li class="bullet success">Your logs directory is writable.</li> + <?php else : ?> + <li class="bullet problem">Your logs directory is NOT writable.</li> + <?php endif; ?> + + <?php $settings = Cache::getConfig('_cake_core_'); ?> + <?php if (!empty($settings)) : ?> + <li class="bullet success">The <em><?= $settings['className'] ?>Engine</em> is being used for core caching. To change the config edit config/app.php</li> + <?php else : ?> + <li class="bullet problem">Your cache is NOT working. Please check the settings in config/app.php</li> + <?php endif; ?> + </ul> + </div> + <hr /> +</div> + +<div class="row"> + <div class="columns large-6"> + <h4>Database</h4> + <?php + try { + $connection = ConnectionManager::get('default'); + $connected = $connection->connect(); + } catch (Exception $connectionError) { + $connected = false; + $errorMsg = $connectionError->getMessage(); + if (method_exists($connectionError, 'getAttributes')) : + $attributes = $connectionError->getAttributes(); + if (isset($errorMsg['message'])) : + $errorMsg .= '<br />' . $attributes['message']; + endif; + endif; + } + ?> + <ul> + <?php if ($connected) : ?> + <li class="bullet success">CakePHP is able to connect to the database.</li> + <?php else : ?> + <li class="bullet problem">CakePHP is NOT able to connect to the database.<br /><?= $errorMsg ?></li> + <?php endif; ?> + </ul> + </div> + <div class="columns large-6"> + <h4>DebugKit</h4> + <ul> + <?php if (Plugin::loaded('DebugKit')) : ?> + <li class="bullet success">DebugKit is loaded.</li> + <?php else : ?> + <li class="bullet problem">DebugKit is NOT loaded. You need to either install pdo_sqlite, or define the "debug_kit" connection name.</li> + <?php endif; ?> + </ul> + </div> + <hr /> +</div> + +<div class="row"> + <div class="columns large-6"> + <h3>Editing this Page</h3> + <ul> + <li class="bullet cutlery">To change the content of this page, edit: src/Template/Pages/home.ctp.</li> + <li class="bullet cutlery">You can also add some CSS styles for your pages at: webroot/css/.</li> + </ul> + </div> + <div class="columns large-6"> + <h3>Getting Started</h3> + <ul> + <li class="bullet book"><a target="_blank" href="https://book.cakephp.org/3.0/en/">CakePHP 3.0 Docs</a></li> + <li class="bullet book"><a target="_blank" href="https://book.cakephp.org/3.0/en/tutorials-and-examples/bookmarks/intro.html">The 15 min Bookmarker Tutorial</a></li> + <li class="bullet book"><a target="_blank" href="https://book.cakephp.org/3.0/en/tutorials-and-examples/blog/blog.html">The 15 min Blog Tutorial</a></li> + <li class="bullet book"><a target="_blank" href="https://book.cakephp.org/3.0/en/tutorials-and-examples/cms/installation.html">The 15 min CMS Tutorial</a></li> + </ul> + </div> +</div> + +<div class="row"> + <div class="columns large-12 text-center"> + <h3 class="more">More about Cake</h3> + <p> + CakePHP is a rapid development framework for PHP which uses commonly known design patterns like Front Controller and MVC.<br /> + Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility. + </p> + </div> + <hr/> +</div> + +<div class="row"> + <div class="columns large-4"> + <i class="icon support">P</i> + <h3>Help and Bug Reports</h3> + <ul> + <li class="bullet cutlery"> + <a href="irc://irc.freenode.net/cakephp">irc.freenode.net #cakephp</a> + <ul><li>Live chat about CakePHP</li></ul> + </li> + <li class="bullet cutlery"> + <a href="http://cakesf.herokuapp.com/">Slack</a> + <ul><li>CakePHP Slack support</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://github.com/cakephp/cakephp/issues">CakePHP Issues</a> + <ul><li>CakePHP issues and pull requests</li></ul> + </li> + <li class="bullet cutlery"> + <a href="http://discourse.cakephp.org/">CakePHP Forum</a> + <ul><li>CakePHP official discussion forum</li></ul> + </li> + </ul> + </div> + <div class="columns large-4"> + <i class="icon docs">r</i> + <h3>Docs and Downloads</h3> + <ul> + <li class="bullet cutlery"> + <a href="https://api.cakephp.org/3.0/">CakePHP API</a> + <ul><li>Quick Reference</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://book.cakephp.org/3.0/en/">CakePHP Documentation</a> + <ul><li>Your Rapid Development Cookbook</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://bakery.cakephp.org">The Bakery</a> + <ul><li>Everything CakePHP</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://plugins.cakephp.org">CakePHP plugins repo</a> + <ul><li>A comprehensive list of all CakePHP plugins created by the community</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://github.com/cakephp/">CakePHP Code</a> + <ul><li>For the Development of CakePHP Git repository, Downloads</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://github.com/FriendsOfCake/awesome-cakephp">CakePHP Awesome List</a> + <ul><li>A curated list of amazingly awesome CakePHP plugins, resources and shiny things.</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://www.cakephp.org">CakePHP</a> + <ul><li>The Rapid Development Framework</li></ul> + </li> + </ul> + </div> + <div class="columns large-4"> + <i class="icon training">s</i> + <h3>Training and Certification</h3> + <ul> + <li class="bullet cutlery"> + <a href="https://cakefoundation.org/">Cake Software Foundation</a> + <ul><li>Promoting development related to CakePHP</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://training.cakephp.org/">CakePHP Training</a> + <ul><li>Learn to use the CakePHP framework</li></ul> + </li> + <li class="bullet cutlery"> + <a href="https://certification.cakephp.org/">CakePHP Certification</a> + <ul><li>Become a certified CakePHP developer</li></ul> + </li> + </ul> + </div> +</div> + +</body> +</html> diff --git a/fai_gestion/src/View/AjaxView.php b/fai_gestion/src/View/AjaxView.php new file mode 100644 index 0000000..3cb7869 --- /dev/null +++ b/fai_gestion/src/View/AjaxView.php @@ -0,0 +1,49 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.4 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\View; + +use Cake\Event\EventManager; +use Cake\Http\Response; +use Cake\Http\ServerRequest; + +/** + * A view class that is used for AJAX responses. + * Currently only switches the default layout and sets the response type - + * which just maps to text/html by default. + */ +class AjaxView extends AppView +{ + + /** + * The name of the layout file to render the view inside of. The name + * specified is the filename of the layout in /src/Template/Layout without + * the .ctp extension. + * + * @var string + */ + public $layout = 'ajax'; + + /** + * Initialization hook method. + * + * @return void + */ + public function initialize() + { + parent::initialize(); + + $this->response = $this->response->withType('ajax'); + } +} diff --git a/fai_gestion/src/View/AppView.php b/fai_gestion/src/View/AppView.php new file mode 100644 index 0000000..7b92ebf --- /dev/null +++ b/fai_gestion/src/View/AppView.php @@ -0,0 +1,40 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\View; + +use Cake\View\View; + +/** + * Application View + * + * Your application’s default view class + * + * @link https://book.cakephp.org/3.0/en/views.html#the-app-view + */ +class AppView extends View +{ + + /** + * Initialization hook method. + * + * Use this method to add common initialization code like loading helpers. + * + * e.g. `$this->loadHelper('Html');` + * + * @return void + */ + public function initialize() + { + } +} diff --git a/fai_gestion/src/View/Cell/empty b/fai_gestion/src/View/Cell/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/src/View/Cell/empty diff --git a/fai_gestion/src/View/Helper/empty b/fai_gestion/src/View/Helper/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/src/View/Helper/empty diff --git a/fai_gestion/tests/Fixture/empty b/fai_gestion/tests/Fixture/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/tests/Fixture/empty diff --git a/fai_gestion/tests/TestCase/ApplicationTest.php b/fai_gestion/tests/TestCase/ApplicationTest.php new file mode 100644 index 0000000..56a838c --- /dev/null +++ b/fai_gestion/tests/TestCase/ApplicationTest.php @@ -0,0 +1,86 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.3.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Test\TestCase; + +use App\Application; +use Cake\Error\Middleware\ErrorHandlerMiddleware; +use Cake\Http\MiddlewareQueue; +use Cake\Http\Middleware\CsrfProtectionMiddleware; +use Cake\Routing\Middleware\AssetMiddleware; +use Cake\Routing\Middleware\RoutingMiddleware; +use Cake\TestSuite\IntegrationTestCase; +use InvalidArgumentException; + +/** + * ApplicationTest class + */ +class ApplicationTest extends IntegrationTestCase +{ + + /** + * testBootstrap + * + * @return void + */ + public function testBootstrap() + { + $app = new Application(dirname(dirname(__DIR__)) . '/config'); + $app->bootstrap(); + $plugins = $app->getPlugins(); + + $this->assertCount(3, $plugins); + $this->assertSame('Bake', $plugins->get('Bake')->getName()); + $this->assertSame('Migrations', $plugins->get('Migrations')->getName()); + $this->assertSame('DebugKit', $plugins->get('DebugKit')->getName()); + } + + /** + * testBootstrapPluginWitoutHalt + * + * @return void + */ + public function testBootstrapPluginWitoutHalt() + { + $this->expectException(InvalidArgumentException::class); + + $app = $this->getMockBuilder(Application::class) + ->setConstructorArgs([dirname(dirname(__DIR__)) . '/config']) + ->setMethods(['addPlugin']) + ->getMock(); + + $app->method('addPlugin') + ->will($this->throwException(new InvalidArgumentException('test exception.'))); + + $app->bootstrap(); + } + + /** + * testMiddleware + * + * @return void + */ + public function testMiddleware() + { + $app = new Application(dirname(dirname(__DIR__)) . '/config'); + $middleware = new MiddlewareQueue(); + + $middleware = $app->middleware($middleware); + + $this->assertInstanceOf(ErrorHandlerMiddleware::class, $middleware->get(0)); + $this->assertInstanceOf(AssetMiddleware::class, $middleware->get(1)); + $this->assertInstanceOf(RoutingMiddleware::class, $middleware->get(2)); + $this->assertInstanceOf(CsrfProtectionMiddleware::class, $middleware->get(3)); + } +} diff --git a/fai_gestion/tests/TestCase/Controller/Component/empty b/fai_gestion/tests/TestCase/Controller/Component/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/tests/TestCase/Controller/Component/empty diff --git a/fai_gestion/tests/TestCase/Controller/PagesControllerTest.php b/fai_gestion/tests/TestCase/Controller/PagesControllerTest.php new file mode 100644 index 0000000..11b8b1d --- /dev/null +++ b/fai_gestion/tests/TestCase/Controller/PagesControllerTest.php @@ -0,0 +1,97 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 1.2.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Test\TestCase\Controller; + +use App\Controller\PagesController; +use Cake\Core\App; +use Cake\Core\Configure; +use Cake\Http\Response; +use Cake\Http\ServerRequest; +use Cake\TestSuite\IntegrationTestCase; +use Cake\View\Exception\MissingTemplateException; + +/** + * PagesControllerTest class + */ +class PagesControllerTest extends IntegrationTestCase +{ + /** + * testMultipleGet method + * + * @return void + */ + public function testMultipleGet() + { + $this->get('/'); + $this->assertResponseOk(); + $this->get('/'); + $this->assertResponseOk(); + } + + /** + * testDisplay method + * + * @return void + */ + public function testDisplay() + { + $this->get('/pages/home'); + $this->assertResponseOk(); + $this->assertResponseContains('CakePHP'); + $this->assertResponseContains('<html>'); + } + + /** + * Test that missing template renders 404 page in production + * + * @return void + */ + public function testMissingTemplate() + { + Configure::write('debug', false); + $this->get('/pages/not_existing'); + + $this->assertResponseError(); + $this->assertResponseContains('Error'); + } + + /** + * Test that missing template in debug mode renders missing_template error page + * + * @return void + */ + public function testMissingTemplateInDebug() + { + Configure::write('debug', true); + $this->get('/pages/not_existing'); + + $this->assertResponseFailure(); + $this->assertResponseContains('Missing Template'); + $this->assertResponseContains('Stacktrace'); + $this->assertResponseContains('not_existing.ctp'); + } + + /** + * Test directory traversal protection + * + * @return void + */ + public function testDirectoryTraversalProtection() + { + $this->get('/pages/../Layout/ajax'); + $this->assertResponseCode(403); + $this->assertResponseContains('Forbidden'); + } +} diff --git a/fai_gestion/tests/TestCase/Model/Behavior/empty b/fai_gestion/tests/TestCase/Model/Behavior/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/tests/TestCase/Model/Behavior/empty diff --git a/fai_gestion/tests/TestCase/View/Helper/empty b/fai_gestion/tests/TestCase/View/Helper/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/tests/TestCase/View/Helper/empty diff --git a/fai_gestion/tests/bootstrap.php b/fai_gestion/tests/bootstrap.php new file mode 100644 index 0000000..0ca191e --- /dev/null +++ b/fai_gestion/tests/bootstrap.php @@ -0,0 +1,12 @@ +<?php +/** + * Test runner bootstrap. + * + * Add additional configuration/setup your application needs when running + * unit tests in this file. + */ +require dirname(__DIR__) . '/vendor/autoload.php'; + +require dirname(__DIR__) . '/config/bootstrap.php'; + +$_SERVER['PHP_SELF'] = '/'; diff --git a/fai_gestion/webroot/.htaccess b/fai_gestion/webroot/.htaccess new file mode 100644 index 0000000..f5f2d63 --- /dev/null +++ b/fai_gestion/webroot/.htaccess @@ -0,0 +1,5 @@ +<IfModule mod_rewrite.c> + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] +</IfModule> diff --git a/fai_gestion/webroot/css/base.css b/fai_gestion/webroot/css/base.css new file mode 100644 index 0000000..458cd94 --- /dev/null +++ b/fai_gestion/webroot/css/base.css @@ -0,0 +1,455 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +/** + * Foundation for Sites by ZURB + * Version 5 + */ + +/* + * Copyright (c) 2013-2014 ZURB, inc. +* MIT License +* Permission is hereby granted, free of charge, to any person obtaining +* a copy of this software and associated documentation files (the +* "Software"), to deal in the Software without restriction, including +* without limitation the rights to use, copy, modify, merge, publish, +* distribute, sublicense, and/or sell copies of the Software, and to +* permit persons to whom the Software is furnished to do so, subject to +* the following conditions: +* The above copyright notice and this permission notice shall be +* included in all copies or substantial portions of the Software. +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +meta.foundation-version{font-family:"{{ VERSION }}"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.0625em) and (max-width:64em)/";width:40.0625em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.0625em)/";width:64.0625em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.0625em) and (max-width:90em)/";width:64.0625em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.0625em)/";width:90.0625em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.0625em) and (max-width:120em)/";width:90.0625em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.0625em)/";width:120.0625em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}html{box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}html,body{font-size:100%}body{background:#fff;color:#222;cursor:auto;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.5;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{margin:0 auto;max-width:62.5rem;width:100%}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{margin:0 -0.9375rem;max-width:none;width:auto}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{margin:0;max-width:none;width:auto}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left}.column+.column:last-child,.columns+.column:last-child,.column+.columns:last-child,.columns+.columns:last-child{float:right}.column+.column.end,.columns+.column.end,.column+.columns.end,.columns+.columns.end{float:left}@media only screen{.small-push-0{position:relative;left:0;right:auto}.small-pull-0{position:relative;right:0;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0 !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{float:left;margin-left:0;margin-right:0}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}}@media only screen and (min-width: 40.0625em){.medium-push-0{position:relative;left:0;right:auto}.medium-pull-0{position:relative;right:0;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0 !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{float:left;margin-left:0;margin-right:0}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.0625em){.large-push-0{position:relative;left:0;right:auto}.large-pull-0{position:relative;right:0;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}.large-offset-0{margin-left:0 !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{float:left;margin-left:0;margin-right:0}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}button,.button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#fff;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#007095}button:hover,button:focus,.button:hover,.button:focus{color:#fff}button.secondary,.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#b9b9b9}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#333}button.success,.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#fff}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#fff}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#fff}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#fff}button.large,.button.large{padding:1.125rem 2.25rem 1.1875rem 2.25rem;font-size:1.25rem}button.small,.button.small{padding:0.875rem 1.75rem 0.9375rem 1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding:0.625rem 1.25rem 0.6875rem 1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding-left:0;padding-right:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008CBA;border-color:#007095;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#007095}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#fff}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#008CBA}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#b9b9b9}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#333}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#e7e7e7}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#fff}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43AC6A}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#fff}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#fff}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#fff}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width: 40.0625em){button,.button{display:inline-block}}form{margin:0 0 1rem}form .row .row{margin:0 -0.5rem}form .row .row .column,form .row .row .columns{padding:0 0.5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:0.5rem}label{color:#4d4d4d;cursor:pointer;display:block;font-size:0.875rem;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:0.5625rem 0}label small{text-transform:capitalize;color:#676767}.prefix,.postfix{border-style:solid;border-width:1px;display:block;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem;overflow:visible;padding-bottom:0;padding-top:0;position:relative;text-align:center;width:100%;z-index:2}.postfix.button{border-color:true}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333;border-color:#ccc}span.postfix,label.postfix{background:#f2f2f2;color:#333;border-color:#ccc}input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-moz-appearance:none;border-radius:0;background-color:#fff;border-style:solid;border-width:1px;border-color:#ccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-family:inherit;font-size:0.875rem;height:2.3125rem;margin:0 0 1rem 0;padding:0.5rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color 0.15s linear,background 0.15s linear;-moz-transition:border-color 0.15s linear,background 0.15s linear;-ms-transition:border-color 0.15s linear,background 0.15s linear;-o-transition:border-color 0.15s linear,background 0.15s linear;transition:border-color 0.15s linear,background 0.15s linear}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#ddd;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#ddd;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#ccc}:-moz-placeholder{color:#ccc}::-moz-placeholder{color:#ccc}:-ms-input-placeholder{color:#ccc}select{-webkit-appearance:none !important;-moz-appearance:none !important;background-color:#FAFAFA;border-radius:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#ccc;color:rgba(0,0,0,0.75);font-family:inherit;font-size:0.875rem;line-height:normal;padding:0.5rem;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999}select:disabled{background-color:#ddd;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #ddd;margin:1.125rem 0;padding:1.25rem}fieldset legend{background:#fff;font-weight:bold;margin-left:-0.1875rem;margin:0;padding:0 0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#f04124}.error small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}.error>label>small{background:transparent;color:#676767;display:inline;font-size:60%;font-style:normal;margin:0;padding:0;text-transform:capitalize}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}.contain-to-grid{width:100%;background:#333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{position:fixed;top:0;width:100%;z-index:99;left:0}.fixed.expanded:not(.top-bar){height:auto;max-height:100%;overflow-y:auto;width:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{margin-top:2.8125rem;z-index:98}.top-bar{background:#333;height:2.8125rem;line-height:2.8125rem;margin-bottom:0;overflow:hidden;position:relative}.top-bar ul{list-style:none;margin-bottom:0}.top-bar .row{max-width:none}.top-bar form,.top-bar input,.top-bar select{margin-bottom:0}.top-bar input,.top-bar select{font-size:0.75rem;height:1.75rem;padding-bottom:.35rem;padding-top:.35rem}.top-bar .button,.top-bar button{font-size:0.75rem;margin-bottom:0;padding-bottom:0.4125rem;padding-top:0.4125rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px}}.top-bar .title-area{margin:0;position:relative}.top-bar .name{font-size:16px;height:2.8125rem;margin:0}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{font-size:1.0625rem;line-height:2.8125rem;margin:0}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name p a,.top-bar .name span a{color:#fff;display:block;font-weight:normal;padding:0 0.9375rem;width:75%}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#fff;display:block;font-size:0.8125rem;font-weight:bold;height:2.8125rem;line-height:2.8125rem;padding:0 0.9375rem;position:relative;text-transform:uppercase}.top-bar .toggle-topbar.menu-icon{margin-top:-16px;top:50%}.top-bar .toggle-topbar.menu-icon a{color:#fff;height:34px;line-height:33px;padding:0 2.5rem 0 0.9375rem;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";display:block;height:0;position:absolute;margin-top:-8px;top:50%;right:0.9375rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{background:transparent;height:auto}.top-bar.expanded .title-area{background:#333}.top-bar.expanded .toggle-topbar a{color:#888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888,0 7px 0 1px #888,0 14px 0 1px #888}@media screen and (-webkit-min-device-pixel-ratio: 0){.top-bar.expanded .top-bar-section .has-dropdown.moved>.dropdown,.top-bar.expanded .top-bar-section .dropdown{clip:initial}.top-bar.expanded .top-bar-section .has-dropdown:not(.moved)>ul{padding:0}}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{display:block;font-size:16px;height:auto;margin:0;padding:0;width:100%}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#333}.top-bar-section ul li>a{color:#fff;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;padding-left:0.9375rem;padding:12px 0 12px 0.9375rem;text-transform:none;width:100%}.top-bar-section ul li>a.button{font-size:0.8125rem;padding-left:0.9375rem;padding-right:0.9375rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#007095}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#fff}.top-bar-section ul li>a.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#333}.top-bar-section ul li>a.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#fff}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#fff}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#fff}.top-bar-section ul li>a.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{background-color:#61b6d9}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{color:#fff}.top-bar-section ul li>button{font-size:0.8125rem;padding-left:0.9375rem;padding-right:0.9375rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#007095}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#fff}.top-bar-section ul li>button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#333}.top-bar-section ul li>button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#368a55}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#fff}.top-bar-section ul li>button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#fff}.top-bar-section ul li>button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#fff}.top-bar-section ul li>button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{background-color:#61b6d9}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{color:#fff}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555;color:#fff;background:#222}.top-bar-section ul li.active>a{background:#008CBA;color:#fff}.top-bar-section ul li.active>a:hover{background:#0078a0;color:#fff}.top-bar-section .has-form{padding:0.9375rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:0.9375rem;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block;padding:0;position:absolute;top:0;z-index:99;left:100%}.top-bar-section .dropdown li{height:auto;width:100%}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 0.9375rem}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#fff;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px 0.9375rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{color:#777;font-size:0.625rem;font-weight:bold;margin-bottom:0;padding:8px 0.9375rem 2px;text-transform:uppercase}.js-generated{display:block}@media only screen and (min-width: 40.0625em){.top-bar{background:#333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name h5 a,.top-bar .name h6 a{width:auto}.top-bar input,.top-bar select,.top-bar .button,.top-bar button{font-size:0.875rem;height:1.75rem;position:relative;top:0.53125rem}.top-bar.expanded{background:#333}.contain-to-grid .top-bar{margin-bottom:0;margin:0 auto;max-width:62.5rem}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{display:inline;height:auto !important;width:auto}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555;background:#222;color:#fff}.top-bar-section li:not(.has-form) a:not(.button){background:#333;line-height:2.8125rem;padding:0 0.9375rem}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555;background:#222}.top-bar-section li.active:not(.has-form) a:not(.button){background:#008CBA;color:#fff;line-height:2.8125rem;padding:0 0.9375rem}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#0078a0;color:#fff}.top-bar-section .has-dropdown>a{padding-right:2.1875rem !important}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.40625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:0.1875rem;right:5px}.top-bar-section .dropdown{left:0;background:transparent;min-width:100%;top:auto}.top-bar-section .dropdown li a{background:#333;color:#fff;line-height:2.8125rem;padding:12px 0.9375rem;white-space:nowrap}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){background:#333;color:#fff}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background-color:#555;color:#fff;background:#222}.top-bar-section .dropdown li label{background:#333;white-space:nowrap}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-right:solid 1px #4e4e4e;border-bottom:none;border-top:none;clear:none;height:2.8125rem;width:0}.top-bar-section .has-form{background:#333;height:2.8125rem;padding:0 0.9375rem}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555;background:#222;color:#fff}.no-js .top-bar-section ul li:active>a{background:#008CBA;color:#fff}.no-js .top-bar-section .has-dropdown:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}}.breadcrumbs{border-style:solid;border-width:1px;display:block;list-style:none;margin-left:0;overflow:hidden;padding:0.5625rem 0.875rem 0.5625rem;background-color:#f4f4f4;border-color:#dcdcdc;border-radius:3px}.breadcrumbs>*{color:#008CBA;float:left;font-size:0.6875rem;line-height:0.6875rem;margin:0;text-transform:uppercase}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#008CBA}.breadcrumbs>*.current{color:#333;cursor:default}.breadcrumbs>*.current a{color:#333;cursor:default}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999}.breadcrumbs>*.unavailable a{color:#999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{color:#999;cursor:not-allowed;text-decoration:none}.breadcrumbs>*:before{color:#aaa;content:"/";margin:0 0.75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}.alert-box{border-style:solid;border-width:1px;display:block;font-size:0.8125rem;font-weight:normal;margin-bottom:1.25rem;padding:0.875rem 1.5rem 0.875rem 0.875rem;position:relative;transition:opacity 300ms ease-out;background-color:#008CBA;border-color:#0078a0;color:#fff}.alert-box .close{right:0.25rem;background:inherit;color:#333;font-size:1.375rem;line-height:.9;margin-top:-0.6875rem;opacity:0.3;padding:0 6px 4px;position:absolute;top:50%}.alert-box .close:hover,.alert-box .close:focus{opacity:0.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#43AC6A;border-color:#3a945b;color:#fff}.alert-box.alert{background-color:#f04124;border-color:#de2d0f;color:#fff}.alert-box.secondary{background-color:#e7e7e7;border-color:#c7c7c7;color:#4f4f4f}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#fff}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#4f4f4f}.alert-box.alert-close{opacity:0}.inline-list{list-style:none;margin-left:-1.375rem;margin-right:0;margin:0 auto 1.0625rem auto;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{display:inline-block;margin:0 -2px;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{display:inline-block;margin:0 -2px;width:33.33333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{display:inline-block;margin:0 -2px;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{display:inline-block;margin:0 -2px;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{display:inline-block;margin:0 -2px;width:16.66667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{display:inline-block;margin:0 -2px;width:14.28571%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{display:inline-block;margin:0 -2px;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{display:inline-block;margin:0 -2px}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{display:inline-block;margin:0 -2px}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{display:block;margin:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{display:inline-block;margin:0 -2px}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width: 40.0625em){.button-group.radius.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{display:block;margin:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{display:inline-block;margin:0 -2px}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width: 40.0625em){.button-group.round.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{display:block;margin:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:0.625rem}.button-bar .button-group div{overflow:hidden}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:0.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#ecfaff;color:#333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:0.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#008CBA}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#0078a0}.panel.radius{border-radius:3px}.dropdown.button,button.dropdown{position:relative;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent;border-style:solid;content:"";display:block;height:0;position:absolute;top:50%;width:0}.dropdown.button::after,button.dropdown::after{border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:0.375rem;right:1.125rem;margin-top:-0.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#fff transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#fff transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#fff transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333 transparent transparent transparent}.th{border:solid 4px #fff;box-shadow:0 0 0 1px rgba(0,0,0,0.2);display:inline-block;line-height:0;max-width:100%;transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(0,140,186,0.5)}.th.radius{border-radius:3px}.pricing-table{border:solid 1px #ddd;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333;color:#eee;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:2rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .description{background-color:#fff;border-bottom:dotted 1px #ddd;color:#777;font-size:0.75rem;font-weight:normal;line-height:1.4;padding:0.9375rem;text-align:center}.pricing-table .bullet-item{background-color:#fff;border-bottom:dotted 1px #ddd;color:#333;font-size:0.875rem;font-weight:normal;padding:0.9375rem;text-align:center}.pricing-table .cta-button{background-color:#fff;padding:1.25rem 1.25rem 0;text-align:center}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{border-radius:1000px;animation-duration:1.5s;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;border-color:#555 #fff;border:solid 3px;display:block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px}.orbit-container{background:none;overflow:hidden;position:relative;width:100%}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0}.orbit-container .orbit-slides-container>* .orbit-caption{bottom:0;position:absolute;background-color:rgba(51,51,51,0.8);color:#fff;font-size:0.875rem;padding:0.625rem 0.875rem;width:100%}.orbit-container .orbit-slide-number{left:10px;background:transparent;color:#fff;font-size:12px;position:absolute;top:10px;z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:0.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{border:solid 4px #fff;border-bottom:none;border-top:none;display:none;height:14px;position:absolute;top:0;width:11px;right:0}.orbit-container .orbit-timer.paused>span{top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#fff;right:-4px}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{background-color:transparent;color:white;height:60px;line-height:50px;margin-top:-25px;position:absolute;text-indent:-9999px !important;top:45%;width:36px;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{border:inset 10px;display:block;height:0;margin-top:-10px;position:absolute;top:50%;width:0}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#fff}.orbit-container .orbit-prev:hover>span{border-right-color:#fff}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#fff;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#fff}.orbit-bullets-container{text-align:center}.orbit-bullets{display:block;float:none;margin:0 auto 30px auto;overflow:hidden;position:relative;text-align:center;top:10px}.orbit-bullets li{background:#ccc;cursor:pointer;display:inline-block;float:none;height:0.5625rem;margin-right:6px;width:0.5625rem;border-radius:1000px}.orbit-bullets li.active{background:#999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width: 40.0625em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{margin:0 !important;opacity:1 !important;position:relative}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#fff;min-width:100%;padding:10px;z-index:50}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}.icon-bar{display:inline-block;font-size:0;width:100%;background:#333}.icon-bar>*{display:block;float:left;font-size:1rem;margin:0 auto;padding:1.25rem;text-align:center;width:25%}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{display:inline-block;margin:0 .0625rem 0 0}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{float:none;margin:auto;width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{float:none;margin:auto;width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{float:none;margin:auto;width:auto}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem;font-size:1rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar>* label{color:#fff}.icon-bar>* i{color:#fff}.icon-bar>a:hover{background:#008CBA}.icon-bar>a:hover label{color:#fff}.icon-bar>a:hover i{color:#fff}.icon-bar>a.active{background:#008CBA}.icon-bar>a.active label{color:#fff}.icon-bar>a.active i{color:#fff}.icon-bar .item.disabled{cursor:not-allowed;opacity:0.7;pointer-events:none}.icon-bar .item.disabled>*{opacity:0.7;cursor:not-allowed}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{float:left;list-style:none;margin-bottom:0 !important;position:relative}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;padding:1rem 2rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active a,.tabs .tab-title.active a{background-color:#fff;color:#222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:0.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:0.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 0.9375rem}@media only screen and (min-width: 40.0625em){.tabs.vertical{float:left;margin:0;margin-bottom:1.25rem !important;max-width:20%;width:20%}.tabs-content.vertical{float:left;margin-left:-1px;max-width:80%;padding-left:1rem;width:80%}}.no-js .tabs-content>.content{display:block;float:none}ul.pagination{display:block;margin-left:-0.3125rem;min-height:1.5rem}ul.pagination li{color:#222;font-size:0.875rem;height:1.5rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{border-radius:3px;transition:background-color 300ms ease-out;background:none;color:#999;display:block;font-size:1em;font-weight:normal;line-height:inherit;padding:0.0625rem 0.625rem 0.0625rem}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008CBA;color:#fff;cursor:default;font-weight:bold}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#008CBA}ul.pagination li{display:block;float:left}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{display:inline-block;float:none}.side-nav{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;list-style-position:outside;list-style-type:none;margin:0;padding:0.875rem 0}.side-nav li{font-size:0.875rem;font-weight:normal;margin:0 0 0.4375rem 0}.side-nav li a:not(.button){color:#008CBA;display:block;margin:0;padding:0.4375rem 0.875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#1cc7ff}.side-nav li a:not(.button):active{color:#1cc7ff}.side-nav li.active>a:first-child:not(.button){color:#1cc7ff;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal}.side-nav li.divider{border-top:1px solid;height:0;list-style:none;padding:0;border-top-color:#e6e6e6}.side-nav li.heading{color:#008CBA;font-size:0.875rem;font-weight:bold;text-transform:uppercase}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;padding:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:0.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{background:#fff;display:block}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#222;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.4;margin-bottom:0.5rem;margin-top:0.2rem;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#6f6f6f;font-size:60%;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25rem 0 1.1875rem}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{background-color:#f8f8f8;border-color:#dfdfdf;border-style:solid;border-width:1px;color:#333;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-family:inherit;font-size:1rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:0.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width: 40.0625em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button span:after{border-color:#fff transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#fff transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:0.4375rem;margin-left:-0.375rem;top:48%}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:0.3125rem;margin-left:-0.375rem;top:48%}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{display:block;left:50%;margin-left:-0.28889em;margin-top:-0.48889em;position:absolute;top:50%}.reveal-modal-bg{background:#000;background:rgba(0,0,0,0.45);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1004;left:0}.reveal-modal{border-radius:3px;display:none;position:absolute;top:0;visibility:hidden;width:100%;z-index:1005;left:0;background-color:#fff;padding:1.875rem;border:solid 1px #666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width: 40.0625em){.reveal-modal{left:0;margin:0 auto;max-width:62.5rem;right:0;width:80%}}@media only screen and (min-width: 40.0625em){.reveal-modal{top:6.25rem}}.reveal-modal.radius{border-radius:3px}.reveal-modal.round{border-radius:1000px}.reveal-modal.collapse{padding:0}@media only screen and (min-width: 40.0625em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:62.5rem;right:0;width:30%}}@media only screen and (min-width: 40.0625em){.reveal-modal.small{left:0;margin:0 auto;max-width:62.5rem;right:0;width:40%}}@media only screen and (min-width: 40.0625em){.reveal-modal.medium{left:0;margin:0 auto;max-width:62.5rem;right:0;width:60%}}@media only screen and (min-width: 40.0625em){.reveal-modal.large{left:0;margin:0 auto;max-width:62.5rem;right:0;width:70%}}@media only screen and (min-width: 40.0625em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:62.5rem;right:0;width:95%}}.reveal-modal.full{height:100vh;height:100%;left:0;margin-left:0 !important;max-width:none !important;min-height:100vh;top:0}@media only screen and (min-width: 40.0625em){.reveal-modal.full{left:0;margin:0 auto;max-width:62.5rem;right:0;width:100%}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{color:#aaa;cursor:pointer;font-size:2.5rem;font-weight:bold;line-height:1;position:absolute;top:0.625rem;right:1.375rem}.has-tip{border-bottom:dotted 1px #ccc;color:#333;cursor:help;font-weight:bold}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #003f54;color:#008CBA}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{background:#333;color:#fff;display:none;font-size:0.875rem;font-weight:normal;line-height:1.3;max-width:300px;padding:0.75rem;position:absolute;width:100%;z-index:1006;left:50%}.tooltip>.nub{border-color:transparent transparent #333 transparent;border:solid 5px;display:block;height:0;pointer-events:none;position:absolute;top:-10px;width:0;left:5px}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{border-bottom:dotted 1px #003f54 !important;color:#008CBA !important}.tap-to-close{color:#777;display:block;font-size:0.625rem;font-weight:normal}@media only screen and (min-width: 40.0625em){.tooltip>.nub{border-color:transparent transparent #333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333 transparent transparent transparent;bottom:-10px;top:auto}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333;left:auto;margin-top:-5px;right:-10px;top:50%}.tooltip.tip-right>.nub{border-color:transparent #333 transparent transparent;left:-10px;margin-top:-5px;right:auto;top:50%}}.clearing-thumbs,[data-clearing]{list-style:none;margin-left:0;margin-bottom:0}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333;height:100%;position:fixed;top:0;width:100%;z-index:998;left:0}.clearing-blackout .clearing-close{display:block}.clearing-container{height:100%;margin:0;overflow:hidden;position:relative;z-index:998}.clearing-touch-label{color:#aaa;font-size:.6em;left:50%;position:absolute;top:50%}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;-webkit-transform:translateY(-50%) translateX(-50%);-moz-transform:translateY(-50%) translateX(-50%);-ms-transform:translateY(-50%) translateX(-50%);-o-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%);max-height:100%;max-width:100%}.clearing-caption{background:#333;bottom:0;color:#ccc;font-size:0.875em;line-height:1.3;margin-bottom:0;padding:10px 30px 20px;position:absolute;text-align:center;width:100%;left:0}.clearing-close{color:#ccc;display:none;font-size:30px;line-height:1;padding-left:20px;padding-top:10px;z-index:999}.clearing-close:hover,.clearing-close:focus{color:#ccc}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width: 40.0625em){.clearing-main-prev,.clearing-main-next{height:100%;position:absolute;top:0;width:40px}.clearing-main-prev>span,.clearing-main-next>span{border:solid 12px;display:block;height:0;position:absolute;top:50%;width:0}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#ccc}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#ccc}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{clear:none;cursor:pointer;display:block;float:left;margin-right:0;min-height:inherit;opacity:.4;overflow:hidden;padding:0;position:relative;width:120px}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:.8}.clearing-assembled .clearing-container .visible-img{background:#333;height:85%;overflow:hidden}.clearing-close{padding-left:0;padding-top:0;position:absolute;top:10px;right:20px}}.progress{background-color:#F6F6F6;border:1px solid #fff;height:1.5625rem;margin-bottom:0.625rem;padding:0.125rem}.progress .meter{background:#008CBA;display:block;height:100%}.progress.secondary .meter{background:#e7e7e7;display:block;height:100%}.progress.success .meter{background:#43AC6A;display:block;height:100%}.progress.alert .meter{background:#f04124;display:block;height:100%}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.sub-nav{display:block;margin:-0.25rem 0 1.125rem;overflow:hidden;padding-top:0.25rem;width:auto}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{color:#999;float:left;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.875rem;font-weight:normal;margin-left:1rem;margin-bottom:0}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{color:#999;padding:0.1875rem 1rem;text-decoration:none}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;background:#008CBA;color:#fff;cursor:default;font-weight:normal;padding:0.1875rem 1rem}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.joyride-list{display:none}.joyride-tip-guide{background:#333;color:#fff;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:101;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{border:10px solid #333;display:block;height:0;position:absolute;width:0;left:22px}.joyride-tip-guide .joyride-nub.top{border-color:#333;border-top-color:transparent !important;border-top-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-bottom-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{color:#fff;font-weight:bold;line-height:1.25;margin:0}.joyride-tip-guide p{font-size:0.875rem;line-height:1.3;margin:0 0 1.125rem 0}.joyride-timer-indicator-wrap{border:solid 1px #555;bottom:1rem;height:3px;position:absolute;width:50px;right:1.0625rem}.joyride-timer-indicator{background:#666;display:block;height:inherit;width:0}.joyride-close-tip{color:#777 !important;font-size:24px;font-weight:normal;line-height:.5 !important;position:absolute;text-decoration:none;top:10px;right:12px}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#eee !important}.joyride-modal-bg{background:rgba(0,0,0,0.5);cursor:pointer;display:none;height:100%;position:fixed;top:0;width:100%;z-index:100;left:0}.joyride-expose-wrapper{background-color:#fff;border-radius:3px;box-shadow:0 0 15px #fff;position:absolute;z-index:102}.joyride-expose-cover{background:transparent;border-radius:3px;left:0;position:absolute;top:0;z-index:9999}@media only screen and (min-width: 40.0625em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333 !important;border-right-color:transparent !important;border-bottom-color:transparent !important;border-top-color:transparent !important;left:auto;right:-20px;top:22px}.joyride-tip-guide .joyride-nub.left{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-top-color:transparent !important;left:-20px;right:auto;top:22px}}.label{display:inline-block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1;margin-bottom:auto;position:relative;text-align:center;text-decoration:none;white-space:nowrap;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#008CBA;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#fff}.label.warning{background-color:#f08a24;color:#fff}.label.success{background-color:#43AC6A;color:#fff}.label.secondary{background-color:#e7e7e7;color:#333}.label.info{background-color:#a0d3e8;color:#333}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333;color:#fff;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#fff;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1.125rem}.left-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-right:solid 1px #1a1a1a;left:0}.right-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{height:2.8125rem;padding:0 0.625rem;position:absolute;text-align:center;top:0}.tab-bar-section.left{text-align:left}.tab-bar-section.right{text-align:right}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{color:#fff;display:block;height:2.8125rem;padding:0;position:relative;text-indent:2.1875rem;transform:translate3d(0, 0, 0);width:2.8125rem}.tab-bar .menu-icon span::after{content:"";display:block;height:0;position:absolute;top:50%;margin-top:-0.5rem;left:0.90625rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;margin:0;padding:0}ul.off-canvas-list li label{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;display:block;font-size:0.75rem;font-weight:bold;margin:0;padding:0.3rem 0.9375rem;text-transform:uppercase}ul.off-canvas-list li a{border-bottom:1px solid #262626;color:rgba(255,255,255,0.7);display:block;padding:0.66667rem;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}ul.off-canvas-list li a:active{background:#242424}.move-right>.inner-wrap{-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate(15.625rem, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate(-15.625rem, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;z-index:1002;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem 0.9375rem;text-transform:uppercase;margin:0}.left-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.left-submenu .back>a:before{content:"\AB";margin-right:.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;z-index:1002;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem 0.9375rem;text-transform:uppercase;margin:0}.right-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.right-submenu .back>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:.5rem;display:inline}.f-dropdown{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:2px;max-width:200px}.f-dropdown.open{display:block}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent #fff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent #ccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right.open{display:block}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent #fff transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent #ccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left.open{display:block}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #fff;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #ccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-left:0;margin-top:-2px;max-width:200px}.f-dropdown.drop-top.open{display:block}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:#fff transparent transparent transparent;border-top-style:solid;bottom:-12px;position:absolute;top:auto;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:#ccc transparent transparent transparent;border-top-style:solid;bottom:-14px;position:absolute;top:auto;left:9px;right:auto;z-index:88}.f-dropdown li{cursor:pointer;font-size:0.875rem;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#eee}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555}.f-dropdown.content{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;padding:1.25rem;width:100%;z-index:89;max-width:200px}.f-dropdown.content.open{display:block}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}table{background:#fff;border:solid 1px #ddd;margin-bottom:1.25rem;table-layout:auto}table caption{background:transparent;color:#222;font-size:1rem;font-weight:bold}table thead{background:#F5F5F5}table thead tr th,table thead tr td{color:#222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{color:#222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tr th,table tr td{color:#222;font-size:0.875rem;padding:0.5625rem 0.625rem;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.range-slider{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:block;height:1rem;width:100%;background:#FAFAFA}.range-slider.vertical-range{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:inline-block;height:12.5rem;width:1rem}.range-slider.vertical-range .range-slider-handle{bottom:-10.5rem;margin-left:-0.5rem;margin-top:0;position:absolute}.range-slider.vertical-range .range-slider-active-segment{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;border-top-left-radius:initial;bottom:0;height:auto;width:0.875rem}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#008CBA;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#007ba4}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#008CBA;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#007ba4}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:not-allowed;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#008CBA;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#007ba4}.range-slider-active-segment{background:#e5e5e5;border-bottom-left-radius:inherit;border-top-left-radius:inherit;display:inline-block;height:0.875rem;position:absolute}.range-slider-handle{border:1px solid none;cursor:pointer;display:inline-block;height:1.375rem;position:absolute;top:-0.3125rem;width:2rem;z-index:1;-ms-touch-action:manipulation;touch-action:manipulation;background:#008CBA}.range-slider-handle:hover{background:#007ba4}[class*="block-grid-"]{display:block;padding:0;margin:0 -0.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;float:left;height:auto;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{list-style:none;width:100%}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{list-style:none;width:50%}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{list-style:none;width:33.33333%}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{list-style:none;width:25%}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{list-style:none;width:20%}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{list-style:none;width:16.66667%}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{list-style:none;width:14.28571%}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{list-style:none;width:12.5%}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{list-style:none;width:11.11111%}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{list-style:none;width:10%}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{list-style:none;width:9.09091%}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{list-style:none;width:8.33333%}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 40.0625em){.medium-block-grid-1>li{list-style:none;width:100%}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{list-style:none;width:50%}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{list-style:none;width:33.33333%}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{list-style:none;width:25%}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{list-style:none;width:20%}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{list-style:none;width:16.66667%}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{list-style:none;width:14.28571%}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{list-style:none;width:12.5%}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{list-style:none;width:11.11111%}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{list-style:none;width:10%}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{list-style:none;width:9.09091%}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{list-style:none;width:8.33333%}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 64.0625em){.large-block-grid-1>li{list-style:none;width:100%}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{list-style:none;width:50%}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{list-style:none;width:33.33333%}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{list-style:none;width:25%}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{list-style:none;width:20%}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{list-style:none;width:16.66667%}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{list-style:none;width:14.28571%}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{list-style:none;width:12.5%}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{list-style:none;width:11.11111%}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{list-style:none;width:10%}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{list-style:none;width:9.09091%}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{list-style:none;width:8.33333%}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;margin:0;padding:0.125rem 0.25rem 0;border-radius:3px}.switch{border:none;margin-bottom:1.5rem;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{background:#ddd;color:transparent;cursor:pointer;display:block;margin-bottom:1rem;position:relative;text-indent:100%;width:4rem;height:2rem;transition:left 0.15s ease-out}.switch input{left:10px;opacity:0;padding:0;position:absolute;top:9px}.switch input+label{margin-left:0;margin-right:0}.switch label:after{background:#fff;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;width:1.5rem;-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:translate3d(0, 0, 0);transition:left 0.15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#008CBA}.switch input:checked+label:after{left:2.25rem}.switch label{height:2rem;width:4rem}.switch label:after{height:1.5rem;width:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#ddd}.switch label:after{background:#fff}.switch input:checked+label{background:#008CBA}.switch.large label{height:2.5rem;width:5rem}.switch.large label:after{height:2rem;width:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{height:1.75rem;width:3.5rem}.switch.small label:after{height:1.25rem;width:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{height:1.5rem;width:3rem}.switch.tiny label:after{height:1rem;width:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 40.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 64.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 90.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 120.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only{display:none !important}@media print{*{background:transparent !important;box-shadow:none !important;color:#000 !important;text-shadow:none !important}.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}@media not print{.show-for-print{display:none !important}} diff --git a/fai_gestion/webroot/css/home.css b/fai_gestion/webroot/css/home.css new file mode 100644 index 0000000..6e2312f --- /dev/null +++ b/fai_gestion/webroot/css/home.css @@ -0,0 +1,240 @@ +@font-face { + font-family: 'cakefont'; + src: url('../font/cakedingbats-webfont.eot'); + src: url('../font/cakedingbats-webfont.eot?#iefix') format('embedded-opentype'), + url('../font/cakedingbats-webfont.woff2') format('woff2'), + url('../font/cakedingbats-webfont.woff') format('woff'), + url('../font/cakedingbats-webfont.ttf') format('truetype'), + url('../font/cakedingbats-webfont.svg#cake_dingbatsregular') format('svg'); + font-weight: normal; + font-style: normal; +} + +.home { + font-family: 'Roboto', sans-serif; + font-size: 14px; + line-height: 27px; + color: #404041; +} + +a { + color: #0071BC; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -ms-transition: all 0.2s; + -o-transition: all 0.2s; + transition: all 0.2s; +} + +a:hover, a:active { + color: #d33d44; + -webkit-transition: all 0.2s; + -moz-transition: all 0.2s; + -ms-transition: all 0.2s; + -o-transition: all 0.2s; + transition: all 0.2s; +} + +ul, ol, dl, p { + font-size: 0.85rem; +} + +p { + line-height: 2; +} + +header { + height: auto; + line-height: 1em; + padding: 0; + box-shadow: none; +} + +header.row { + margin-bottom: 30px; +} + +header .header-image { + text-align: center; + padding: 64px 0; +} + +header .header-title { + padding: 0; + display: block; + background: #404041; + text-align: center; +} + +header .header-title h1 { + font-family: 'Raleway', sans-serif; + margin: 0; + font-style: italic; + font-size: 18px; + font-weight: 500; + padding: 18px 30px; + color: #DEDED5; +} + +header h1 { + color: #fff; +} + +h3, h4 { + font-family: 'Roboto', sans-serif; + font-size: 27px; + line-height: 30px; + font-weight: 300; + -webkit-font-smoothing: antialiased; + margin-top: 0; + margin-bottom: 20px; +} + +.more { + color: #ffffff; + background-color: #d33d44; + padding: 15px; + margin-top: 10px; +} + +.row { + max-width: 1000px; +} + +.alert { + background-color: #fff9e1; + font-size: 12px; + text-align: center; + display: block; + padding: 12px; + border-bottom: 2px solid #ffcf06; +} + +.alert { + background-color: #fff9e1; + font-size: 12px; + display: block; + padding: 12px; + border-bottom: 2px solid #ffcf06; + margin-bottom: 30px; + color: #404041; +} + +.alert p { + margin: 0; + font-size: 12px; + line-height: 1.4; +} + +.alert p:before { + color: #ffcf06; + content: "\0055"; + font-family: 'cakefont', sans-serif; + font-size: 21px; + margin-left: -0.8em; + width: 2.3em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + padding: 0 10px 0 15px; + vertical-align: -2px; +} + +.alert ul { + margin: 0; + font-size: 12px; +} + +.alert.url-rewriting { + background-color: #F0F0F0; + border-color: #cccccc; + display: none; +} + +.text-center { + text-align: center; +} + +ul { + list-style-type: none; + margin: 0 0 30px 0; +} + +li { + padding-left: 1.8em; +} + +ul li ul, ul li ul li { + margin: 0; + padding: 0; +} + +.bullet:before { + font-family: 'cakefont', sans-serif; + font-size: 18px; + display: inline-block; + margin-left: -1.3em; + width: 1.2em; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + vertical-align: -1px; +} + +.success:before { + color: #88c671; + content: "\0056"; +} + +.problem:before { + color: #d33d44; + content: "\0057"; +} + +.cutlery:before { + color: #404041; + content: "\0059"; +} + +.book:before { + color: #404041; + content: "\0042"; + width: 1.7em; +} + +hr { + border-bottom: 1px solid #e7e7e7; + border-top: 0; + margin-bottom: 35px; + margin-left: 30px; + margin-right: 30px; +} + + +.icon { + color: #404041; + font-style: normal; + font-family: 'cakefont', sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.icon.support { + font-size: 60px; +} +.icon.docs { + font-size: 57px; +} +.icon.training { + font-size: 39px; +} + +@media (min-width: 768px) { + .columns { + padding-left: 30px; + padding-right: 30px; + } +} + +@media (min-width: 992px) { + header.row { + max-width: 940px; + } +} diff --git a/fai_gestion/webroot/css/style.css b/fai_gestion/webroot/css/style.css new file mode 100644 index 0000000..40c1d2a --- /dev/null +++ b/fai_gestion/webroot/css/style.css @@ -0,0 +1,524 @@ +.disabled a, +a.disabled { + pointer-events: none; +} + +a:hover { + color: #15848F; +} + +a { + color: #1798A5; +} + +.side-nav li a:not(.button) { + color: #15848F; +} + +.side-nav li a:not(.button):hover { + color: #15848F; +} + +header { + background-color: #D33C44; + color: #ffffff; + font-size: 30px; + height: 84px; + line-height: 64px; + padding: 16px 0px; + box-shadow: 0px 1px rgba(0, 0, 0, 0.24); +} + +header .header-title { + padding-left:80px +} + +legend { + color:#15848F; +} + +.row { + max-width: 80rem; +} + +.actions.columns { + margin-top:1rem; + border-left: 5px solid #15848F; + padding-left: 15px; + padding: 32px 20px; +} + +.actions.columns h3 { + color:#15848F; +} + +.related table { + border: 0; + width: 100%; + table-layout: fixed; +} + +.index table thead { + height: 3.5rem; +} + +.header-help { + float: right; + margin-right:2rem; + margin-top: -80px; + font-size:16px; +} + +.header-help span { + font-weight: normal; + text-align: center; + text-decoration: none; + line-height: 1; + white-space: nowrap; + display: inline-block; + padding: 0.25rem 0.5rem 0.375rem; + font-size: 0.8rem; + background-color: #0097a7; + color: #FFF; + border-radius: 1000px; +} + +.header-help a { + color: #fff; +} + +ul.pagination li a { + color: rgba(0, 0 ,0 , 0.54); +} + +ul.pagination li.active a { + background-color: #DCE47E; + color: #FFF; + font-weight: bold; + cursor: default; +} +ul.pagination .disabled:hover a { + background: none; +} + +.paginator { + text-align: center; +} + +.paginator ul.pagination li { + float: none; + display: inline-block; +} + +.paginator p { + text-align: right; + color: rgba(0, 0 ,0 , 0.54); +} + +.asc:after { + content: " \2193"; +} +.desc:after { + content: " \2191"; +} + +.form .error-message { + display: block; + padding: 0.375rem 0.5625rem 0.5625rem; + margin-top: -1px; + margin-bottom: 1rem; + font-size: 0.75rem; + font-weight: normal; + font-style: italic; + color: rgba(0, 0, 0, 0.54); +} + +.required > label { + font-weight: bold; +} +.required > label:after { + content: ' *'; + color: #C3232D; +} + +select[multiple] { + min-height:150px; + background: none; +} +input[type=checkbox], +input[type=radio] { + margin-right: 0.5em; +} + +.date select, +.time select, +.datetime select { + display: inline; + width: auto; + margin-right: 10px; +} + +.error label, +.error label.error { + color: #C3232D; +} + +.view h2 { + color: #6F6F6F; +} + +.view .columns.strings { + border-radius: 3px; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); + margin-right:0.7rem; +} + +.view .numbers { + background-color: #B7E3EC; + color: #FFF; + border-radius: 3px; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); + margin-right: 0.7rem; +} + +.view .columns.dates { + border-radius: 3px; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); + margin-right:0.7rem; + background-color:#DCE47E; + color: #fff; +} + +.view .columns.booleans { + border-radius: 3px; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); + margin-right:0.7rem; + background-color: #8D6E65; + color: #fff; +} + +.view .strings p { + border-bottom: 1px solid #eee; +} +.view .numbers .subheader, .view .dates .subheader { + color:#747474; +} +.view .booleans .subheader { + color: #E9E9E9 +} + +.view .texts .columns { + margin-top:1.2rem; + border-bottom: 1px solid #eee; +} + +/** Notices and Errors **/ +.cake-error, +.cake-debug, +.notice, +p.error, +p.notice { + display: block; + clear: both; + background-repeat: repeat-x; + margin-bottom: 18px; + padding: 7px 14px; + border-radius: 3px; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); +} + +.cake-debug, +.notice, +p.notice { + color: #000000; + background: #ffcc00; +} + +.cake-error, +p.error { + color: #fff; + background: #C3232D; +} + +pre { + background: none repeat scroll 0% 0% #FFF; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); + margin: 15px 0px; + color: rgba(0, 0 ,0 , 0.74); + padding:5px; +} + +.cake-error .cake-stack-trace { + margin-top:10px; +} + +.cake-stack-trace code { + background: inherit; + border:0; +} + +.cake-code-dump .code-highlight { + display: block; + background-color: #FFC600; +} + +.cake-error a, +.cake-error a:hover { + color:#fff; + text-decoration: underline; +} + +.checks { + padding:30px; + color: #626262; + background-color: #B7E3EC; + border-radius: 3px; + box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.24); + margin-bottom: 2em; +} + +.checks h4 { + margin-bottom: 1.5rem; +} + +.checks hr { + border: 0; + height: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(255, 255, 255, 0.3); +} + +.checks .success, +.checks .problem { + margin-left: 10px; +} +.checks .success:before, +.checks .problem:before { + line-height: 0px; + font-size: 28px; + height: 12px; + width: 12px; + border-radius: 15px; + text-align: center; + vertical-align: middle; + display: inline-block; + position: relative; + left: -11px; +} + +.checks .success:before { + content: "✓"; + color: green; + margin-right: 9px; +} + +.checks .problem:before { + content: "✘"; + color: red; + margin-right: 9px; +} + +.top-bar.expanded .title-area { + background: #01545b; +} + +.top-bar.expanded, .top-bar,.top-bar-section ul li,.top-bar-section li:not(.has-form) a:not(.button) { + background: #116d76; +} + +.top-bar-section li:not(.has-form) a:not(.button):hover { + background-color: #308e97; + background: #308e97; +} + +.side-nav li.heading { + color: #1798A5; + font-size: 0.875rem; + font-weight: bold; + text-transform: uppercase; + padding: 0.4375rem 0.875rem; +} + +#actions-sidebar { + background: #fafafa; +} + +.index table { + margin-top: 0rem; + border: 0; + width: 100%; + table-layout: fixed; +} + +table { + background: #fff; + margin-bottom: 1.25rem; + border: none; + table-layout: fixed; + width: 100%; +} + +table thead { + background: none; +} + +table tr { + border-bottom: 1px solid #ebebec; +} + +table thead tr { + border-bottom: 1px solid #1798A5; +} + +table tr th { + padding: 0.5625rem 0.625rem; + font-size: 0.875rem; + color: #1798A5; + text-align: left; + border-bottom: 2px solid #1798A5; +} + +table tr:nth-of-type(even) { + background: none; +} + +fieldset { + border: none; + padding: 1.25rem; + margin: 1.125rem 0; +} + +fieldset legend { + border-bottom: 2px solid #1798A5; + width: 100%; + line-height: 2rem; +} + +.form button[type="submit"] { + float: right; + text-transform: uppercase; + box-shadow: none; +} + +.form button:hover, .form button:focus { + background: #BE840B; + box-shadow: none; +} + +button { + background: #966600; +} + +div.message { + text-align: center; + cursor: pointer; + display: block; + font-weight: normal; + padding: 0 1.5rem 0 1.5rem; + transition: height 300ms ease-out 0s; + background-color: #a0d3e8; + color: #626262; + top: 15px; + right: 15px; + z-index: 999; + overflow: hidden; + height: 50px; + line-height: 2.5em; +} + +div.message:before { + line-height: 0px; + font-size: 20px; + height: 12px; + width: 12px; + border-radius: 15px; + text-align: center; + vertical-align: middle; + display: inline-block; + position: relative; + left: -11px; + background-color: #FFF; + padding: 12px 14px 12px 10px; + content: "i"; + color: #a0d3e8; +} + +div.message.error { + background-color: #C3232D; + color: #FFF; +} + +div.message.error:before { + padding: 11px 16px 14px 7px; + color: #C3232D; + content: "x"; +} +div.message.hidden { + height: 0; +} + + +.vertical-table th { + padding: 0.5625rem 0.625rem; + font-size: 0.875rem; + color: #1798A5; + border: none; + text-align: left; +} + +.vertical-table { + vertical-align: middle; +} + +.vertical-table td { + text-align: right; +} + +.content { + padding: 2rem; +} + +/* Use 'one true layout' methods to get equal height columns */ +.container { + overflow: hidden; + min-height: 92%; /* full height almost always */ +} + +/* Force equal height by overflowing */ +.content, +#actions-sidebar { + margin-bottom: -99999px; + padding-bottom: 99999px; +} +@media(max-width: 640px) { + #actions-sidebar { + padding-bottom: 2rem; + margin-bottom: 0; + } +} + +.content h3 { + color: #be140b; + padding-bottom: 0.5rem; + margin-bottom: 20px; +} + +.content h4 { + color: #be140b; + padding-bottom: 0.5rem; + margin-bottom: 20px; + border-bottom: 2px solid #be140b; +} + +.content .related h4 { + color: #4d8f97; + padding-bottom: 0.5rem; + margin-top: 20px; + margin-bottom: 10px; + border-bottom: 0px; +} + +table td { + vertical-align: top; + word-break: break-all; +} diff --git a/fai_gestion/webroot/favicon.ico b/fai_gestion/webroot/favicon.ico Binary files differnew file mode 100644 index 0000000..49a060f --- /dev/null +++ b/fai_gestion/webroot/favicon.ico diff --git a/fai_gestion/webroot/font/cakedingbats-webfont.eot b/fai_gestion/webroot/font/cakedingbats-webfont.eot Binary files differnew file mode 100644 index 0000000..e8605d9 --- /dev/null +++ b/fai_gestion/webroot/font/cakedingbats-webfont.eot diff --git a/fai_gestion/webroot/font/cakedingbats-webfont.svg b/fai_gestion/webroot/font/cakedingbats-webfont.svg new file mode 100644 index 0000000..d1e0c98 --- /dev/null +++ b/fai_gestion/webroot/font/cakedingbats-webfont.svg @@ -0,0 +1,78 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg"> +<metadata></metadata> +<defs> +<font id="cake_dingbatsregular" horiz-adv-x="986" > +<font-face units-per-em="1972" ascent="1479" descent="-493" /> +<missing-glyph horiz-adv-x="500" /> +<glyph horiz-adv-x="0" /> +<glyph unicode="
" /> +<glyph horiz-adv-x="0" /> +<glyph horiz-adv-x="0" /> +<glyph unicode=" " /> +<glyph unicode="A" horiz-adv-x="1653" d="M1614 22q19 -20 28.5 -44t9.5 -49q0 -26 -9.5 -49.5t-28.5 -42.5t-43 -28.5t-49 -9.5q-26 0 -50 9t-43 29l-331 332q-88 -60 -187.5 -91.5t-207.5 -31.5q-142 0 -269.5 53t-227.5 153t-153 227.5t-53 269.5t53 269.5t153 227.5t227.5 153t269.5 53q141 0 268.5 -53 t227.5 -153t153 -227.5t53 -269.5q0 -108 -31 -208t-91 -187zM391 437q63 -63 143 -96t169 -33q88 0 168 33t143 96t96 143t33 169t-33 169t-96 143t-143 96t-168 33q-89 0 -169 -33t-143 -96t-96 -143t-33 -169t33 -169t96 -143z" /> +<glyph unicode="B" horiz-adv-x="2681" d="M2621 548q8 4 17 4q25 0 37 -23q4 -8 4 -17q0 -11 -6 -21.5t-17 -15.5l-1336 -630q-8 -4 -18 -4q-4 0 -12 2l-1191 381q-1 0 -3 2q-2 0 -3 1t-3 2q-4 2 -6.5 5t-5.5 6q-1 2 -13.5 23.5t-26.5 58.5t-26 87t-12 108q0 36 4.5 75t13.5 77t23.5 74t35.5 67q3 5 8 9t10 6 l1336 630q7 4 16 4q5 0 13 -2l1191 -381q11 -4 19 -14t9 -24q0 -26 -23 -37l-1336 -630q-5 -2 -9 -3t-9 -1q-4 0 -12 2l-1158 371q-7 -15 -16 -37.5t-16.5 -51t-13 -62.5t-5.5 -72q0 -40 7 -75.5t16 -64t19 -49.5t16 -32l1161 -371zM2621 724q7 3 16 3q11 0 22 -6t16 -17 q4 -8 4 -17q0 -11 -6 -21.5t-17 -15.5l-1336 -630q-5 -2 -9 -3t-9 -1q-25 0 -36 24q-4 8 -4 17q0 11 6 21t17 15zM2621 899q5 2 8.5 3t8.5 1q25 0 37 -23q4 -8 4 -17q0 -11 -6 -21.5t-17 -15.5l-1336 -630q-8 -4 -18 -4q-25 0 -36 23q-4 8 -4 17q0 25 23 37z" /> +<glyph unicode="C" horiz-adv-x="2511" d="M850 -103q-122 -55 -241 -55q-80 0 -155 25t-142 73t-124 119t-102 163q-4 5 -7 10.5t-5 10.5l-9 23q-33 78 -49 153t-16 146q0 81 21 154t62 136t101.5 113.5t140.5 86.5q96 43 214.5 60t254.5 17q157 0 326.5 -16.5t341.5 -36.5l211 -23q0 48 21.5 88t63.5 59l518 234 q27 13 58 13q48 0 92 -30t67 -82q18 -41 18 -82q0 -48 -22.5 -87.5t-64.5 -58.5l-518 -234q-27 -12 -57 -12q-60 0 -110 44l-121 -173q-92 -132 -185 -262t-188.5 -242.5t-194 -200t-200.5 -133.5zM182 292q8 -17 35.5 -29.5t77.5 -12.5q57 0 144 21.5t207 75.5 q88 40 183 96t194.5 122.5t201.5 140.5t204 150q-125 -26 -248 -53.5t-238.5 -58.5t-220.5 -65t-193 -74q-99 -45 -166 -88t-108 -81.5t-59 -70.5t-18 -54q0 -11 4 -19zM2410 1301q-11 23 -30.5 36.5t-40.5 13.5q-15 0 -27 -6q-19 -8 -29 -26t-10 -39q0 -9 1.5 -19t6.5 -19 q11 -23 30.5 -36.5t41.5 -13.5q14 0 26 6q19 8 29 26.5t10 39.5q0 18 -8 37zM381 932q-130 -58 -195.5 -156t-65.5 -224q0 -16 1 -31t3 -32q44 55 127 115.5t222 122.5q83 38 180 70.5t203 62t218.5 55.5t227.5 51q-130 14 -255.5 24t-241.5 10q-125 0 -232.5 -15 t-191.5 -53zM291 119q129 -146 304 -146q97 0 199 46q80 36 160 104t159 157t157.5 194t156.5 215q-94 -70 -188 -137t-186 -127.5t-180.5 -111.5t-171.5 -89q-130 -59 -226 -82t-165 -23h-19z" /> +<glyph unicode="D" horiz-adv-x="5211" d="M904 1423q60 0 145 -7t187 -20t218.5 -32t240 -43.5t252 -54.5t254.5 -65q206 -57 358 -113t259.5 -110t175 -104.5t105.5 -96.5q32 38 77 60.5t99 22.5h1935v-457h-1935q-54 0 -99 22.5t-77 60.5q-38 -46 -105.5 -96.5t-175 -104.5t-259.5 -110t-358 -113 q-126 -35 -254.5 -65t-252 -54.5t-240 -43.5t-218.5 -32t-187 -20t-145 -7q-124 0 -239.5 28.5t-216 80t-183 123.5t-141.5 160t-91.5 189t-32.5 210t32.5 210.5t91.5 189.5t141.5 160t183 123.5t215.5 80t240 28.5zM81 631q22 -15 88.5 -32t172 -31t247.5 -23t315 -9 q85 0 203.5 2t257 6t291.5 9t308 11.5t305 14.5t283 16t242.5 17.5t183.5 18.5q-74 10 -183.5 19t-242.5 17.5t-283 16.5t-305 14.5t-308 11.5t-291.5 9t-257 6t-203.5 2q-173 0 -315 -9t-247.5 -23t-172 -31t-88.5 -33zM904 801q60 0 144 -1t185.5 -3.5t217 -5.5t239 -7.5 t251 -9.5t252.5 -11q151 -8 271.5 -15t215 -13.5t165.5 -13.5t122 -13q-43 17 -108 37t-159 42t-221 46t-293 49q-123 18 -250 34t-250 29t-238.5 23.5t-217 17.5t-185 10.5t-141.5 3.5q-143 0 -273.5 -21.5t-237 -59.5t-183 -89t-110.5 -111q52 19 124 33t151.5 23t161 14 t153.5 8t128.5 3.5t85.5 0.5zM904 1348q-138 0 -263.5 -37t-229 -103.5t-180 -157.5t-116.5 -199q57 51 139.5 92t184 70.5t219 45.5t246.5 16q60 0 144.5 -3.5t186 -11t217.5 -17.5t239.5 -23.5t251.5 -29.5t254 -35q165 -24 293 -48t226 -47t168.5 -44.5t119.5 -41.5 q-64 58 -170.5 114t-241.5 107t-290 97t-316.5 85.5t-320.5 71t-301.5 53.5t-261.5 34t-198 12zM904 -85q79 0 198 12t261.5 34t301.5 53.5t320.5 71t316.5 85.5t290 97t241.5 107t170.5 114q-49 -20 -119.5 -42t-168.5 -44.5t-226 -46.5t-293 -48q-126 -19 -254 -35 t-251.5 -29.5t-239.5 -23.5t-217.5 -17.5t-186 -11t-144.5 -3.5q-129 0 -246.5 16t-219 45.5t-184 70.5t-139.5 92q40 -108 116.5 -199t180 -157.5t229 -103.5t263.5 -37zM904 263q58 0 141.5 3.5t185 10.5t217 17.5t238.5 23.5t250 29t250 34q166 25 293 48.5t221 46 t159 42.5t108 37q-51 -6 -122 -13t-165.5 -13.5t-215 -14t-271.5 -14.5q-125 -6 -252.5 -11t-251 -9.5t-239 -8t-217 -6t-185.5 -3.5t-144 -1q-29 0 -85.5 0.5t-128.5 3.5t-153.5 8.5t-161 14.5t-151.5 22.5t-124 33.5q34 -60 110.5 -111.5t183 -89t237 -59t273.5 -21.5z " /> +<glyph unicode="E" horiz-adv-x="6675" d="M6675 1423v-1566h-4861q-38 0 -71.5 46t-60.5 127.5t-45.5 193t-26.5 242.5q-79 -7 -169 -18t-184.5 -23t-190.5 -24.5t-186 -22.5t-170.5 -16t-145.5 -6q-117 0 -219.5 22.5t-179 61.5t-121 91t-44.5 111t44.5 111t121 91t179 61.5t219.5 22.5q65 0 145.5 -6t170.5 -16 t186 -22.5t190.5 -24.5t184.5 -23t169 -18q8 130 27 241t46 192t60 126.5t71 45.5h4861zM1695 472q6 -108 19.5 -196t30.5 -154.5t35 -110t34 -61.5q18 21 39.5 78t40 145t31 206t12.5 261t-12.5 261t-31 206t-40 145t-39.5 78q-16 -18 -34 -61t-34.5 -109t-30 -153.5 t-20.5 -194.5q46 -3 86 -3q7 0 13 -13t10.5 -36t7 -53.5t2.5 -64.5q0 -35 -2.5 -65.5t-7 -53t-11 -35.5t-13.5 -13q-39 0 -85 -3z" /> +<glyph unicode="F" horiz-adv-x="7626" d="M6354 644q0 42 16 79.5t44 65.5t65.5 44.5t80.5 16.5h494q-33 -44 -51.5 -96t-18.5 -110t18.5 -110t50.5 -95h-493q-43 0 -80.5 16t-65.5 43.5t-44 65t-16 80.5zM7206 644q0 42 16 79.5t44 65.5t65.5 44.5t80.5 16.5q42 0 79.5 -16.5t65.5 -44.5t44 -65.5t16 -79.5 t-16 -79.5t-44 -65.5t-65.5 -44t-79.5 -16q-43 0 -80.5 16t-65.5 43.5t-44 65t-16 80.5zM6132 639q0 -58 18.5 -110t50.5 -95h-2753q-167 0 -315 -25.5t-286 -67t-269 -94.5t-262.5 -108t-268 -108t-284.5 -94.5t-312.5 -67t-351.5 -25.5q-127 0 -258 25t-253.5 72.5 t-229.5 116.5t-186.5 157.5t-125.5 195t-46 229.5q0 122 46 228.5t125.5 195t186.5 157.5t229.5 116.5t253 72.5t258.5 25q187 0 351.5 -25.5t312.5 -67t284.5 -94.5t268 -108t262.5 -108t269 -94.5t286 -67t315 -25.5h2754q-33 -43 -51.5 -95.5t-18.5 -110.5zM1750 186 q111 39 199.5 89.5t149.5 109t93.5 124t32.5 134.5q0 76 -39 146.5t-109.5 132t-170 112t-220 86.5t-259 56t-288.5 20q-91 0 -182 -14t-176.5 -39.5t-162.5 -62.5t-139 -83q-8 -6 -12 -15t-4 -18q0 -10 4 -18q13 -23 37 -23q4 0 12 2q86 28 176 42.5t179 14.5 q136 0 263.5 -17t239 -48.5t204 -74.5t159 -95.5t103 -112.5t36.5 -124q0 -42 -15 -79t-39 -69t-53 -58.5t-57 -46.5q-16 -10 -16 -32q0 -11 4 -19q11 -22 36 -22q9 0 14 2z" /> +<glyph unicode="G" horiz-adv-x="1338" d="M361 -134q-76 33 -139.5 98t-111 149t-75.5 180t-34 192h1337q-5 -96 -33.5 -192t-76 -180t-111.5 -148.5t-140 -97.5q-28 -12 -55.5 -19.5t-62.5 -11t-80.5 -5t-109.5 -1.5t-109.5 1.5t-80 5t-62.5 10.5t-56 19zM402 205q-5 -7 -5 -15t3 -14q8 -14 25 -14h181q12 0 20 8 t8 20q0 13 -9 21l-86 131q-9 12 -24 12q-7 0 -13.5 -3t-10.5 -9zM150 591h-150q3 99 32.5 201.5t78 199.5t112.5 182t137 149t152 101t157 37t157 -37t152.5 -101t137.5 -149t112.5 -182t78 -199.5t32.5 -201.5h-643v177h-62v-177h-422v177h-62v-177zM709 966q3 -9 3 -18 q0 -21 -14 -33q-13 -13 -34 -13q-17 0 -33 9q-17 9 -27 24l-30 -31q11 -21 36 -35q26 -13 54 -13q11 0 21 2t20 5q20 8 32 19q12 12 20 29q8 19 8 38q0 21 -7 36q-6 15 -19 27q-12 11 -28 19q-18 6 -36 6q-13 0 -22 -3t-14 -8l11 61h98v47h-135l-22 -108q-1 -8 -2 -14.5 t-3 -12.5l-3 -19q-2 -5 -2 -9h45q8 11 18 16q10 6 23 6q11 0 18 -4q8 -3 14 -9t10 -14zM542 658h27v110h-27v-110zM453 658h28v110h-28v-110zM365 658h28v110h-28v-110zM277 658h27v110h-27v-110z" /> +<glyph unicode="H" horiz-adv-x="1725" d="M1497 1120q-21 0 -35.5 15t-14.5 36q0 32 28 45l16 35q2 4 6 4t6 -4l17 -35q28 -13 28 -45q0 -21 -14.5 -36t-36.5 -15zM1244 1120q-20 0 -35 15t-15 36q0 32 28 45l16 35q2 4 6 4t6 -4l17 -35q28 -13 28 -45q0 -21 -14.5 -36t-36.5 -15zM991 1120q-20 0 -35 15t-15 36 q0 32 28 45l16 35q2 4 6 4t6 -4l17 -35q28 -13 28 -45q0 -21 -14.5 -36t-36.5 -15zM1565 1391q34 0 63.5 -13t51.5 -35.5t35 -52t13 -63.5v-1405q0 -9 -6.5 -15.5t-15.5 -6.5h-229q-11 0 -19 10l-36 53q-4 8 -4 13v36h-1108v-36q0 -5 -4 -13l-36 -53q-7 -10 -19 -10h-229 q-9 0 -15.5 6.5t-6.5 15.5v1405q0 34 13 63.5t35 52t52 35.5t64 13h62v19q0 30 21 51t51 21h190q30 0 51.5 -21t21.5 -51v-19h136v19q0 30 21 51t51 21h190q30 0 51 -21t21 -51v-19h136v19q0 30 21.5 51t51.5 21h190q30 0 51 -21t21 -51v-19h63zM1497 1275q-21 0 -40 -8 t-33.5 -22.5t-22.5 -33.5t-8 -40q0 -22 8 -41t22.5 -33t33.5 -22t40 -8q44 0 74 30t30 74q0 21 -8 40t-22 33.5t-33 22.5t-41 8zM1244 1275q-21 0 -40 -8t-33.5 -22.5t-22.5 -33.5t-8 -40q0 -22 8 -41t22.5 -33t33.5 -22t40 -8q44 0 74 30t30 74q0 21 -8 40t-22 33.5 t-33 22.5t-41 8zM991 1275q-21 0 -40 -8t-33 -22.5t-22 -33.5t-8 -40q0 -22 8 -41t22 -33t33 -22t40 -8q44 0 74 30t30 74q0 21 -8 40t-22 33.5t-33 22.5t-41 8zM218 981v-649h1293v649h-1293zM223 1254q-20 -15 -31 -37t-11 -46q0 -35 21 -63q16 -20 38 -30.5t46 -10.5 q35 0 62 20q20 16 31 38t11 46q0 33 -21 62q-15 20 -37 31t-46 11q-35 0 -63 -21zM1602 136h-1476v-33q0 -29 20 -49.5t49 -20.5h364q4 -13 15 -21.5t25 -8.5h530q14 0 25 8.5t15 21.5h364q29 0 49 20.5t20 49.5v33zM1602 186l-91 96h-1293l-92 -96h1476zM225 1118 q-8 0 -8 6q0 2 1 3l18 34q-1 4 -1 10q0 25 20 40q13 10 31 10q11 0 22 -4.5t18 -15.5q10 -13 10 -30q0 -11 -5 -22t-15 -19q-13 -10 -30 -10q-11 0 -23 5zM840 644q-22 24 -35 54.5t-15 62.5v7q0 35 13.5 67t39.5 58q1 2 5 2t6 -2l38 -39q3 -2 3 -5t-3 -6q-17 -17 -24 -35.5 t-7 -37.5q0 -22 8.5 -42t22.5 -36q24 -27 35 -56t11 -59q0 -43 -19 -83.5t-49 -72.5q-2 -3 -5 -3q-2 0 -6 2l-40 37q-2 4 -2 6q0 4 2 6q25 26 37 52.5t12 52.5q0 41 -28 70zM590 469q19 20 28 40t9 40q0 30 -20 51q-19 20 -30 47.5t-11 57.5q0 27 10.5 54t33.5 50q2 2 5 2 q4 0 6 -2l38 -39q3 -2 3 -5t-3 -6q-13 -13 -18 -26t-5 -27q0 -17 7 -32.5t16 -26.5q21 -23 30 -47t9 -49q0 -35 -15.5 -69.5t-40.5 -60.5q-2 -3 -6 -3q-3 0 -5 2l-40 37q-2 2 -2 6t1 6zM1055 469q37 38 37 79q0 31 -20 51q-19 21 -30.5 49t-11.5 58q0 27 10.5 53.5 t33.5 49.5q4 2 6 2q1 0 5 -2l39 -39q2 -4 2 -6q0 -3 -2 -5q-13 -13 -18 -26.5t-5 -27.5q0 -17 7 -32t16 -26q20 -23 29.5 -47t9.5 -49q0 -35 -16 -69.5t-41 -60.5q-2 -3 -5 -3q-2 0 -6 2l-40 37q-2 4 -2 6t2 6z" /> +<glyph unicode="I" horiz-adv-x="1993" d="M288 1103q-17 0 -28 11t-11 28t11 28.5t28 11.5q41 0 78.5 -13t68 -36t53 -54.5t34.5 -68.5q10 2 19.5 3.5t20.5 1.5q34 0 64 -13t52.5 -35t35.5 -52t13 -64t-13 -64t-35.5 -52t-52.5 -35t-64 -13t-63.5 13t-52 35t-35.5 52t-13 64q0 36 14 66.5t39 53.5q-6 28 -21 52 t-36.5 42t-48.5 28t-57 10zM613 957q-19 0 -32.5 -13.5t-13.5 -32.5q0 -20 13.5 -33t32.5 -13t32.5 13t13.5 33q0 19 -13.5 32.5t-32.5 13.5zM1979 436q13 -15 13 -31q0 -17 -13 -30l-283 -282q-12 -13 -30 -13q-19 0 -31 13l-347 347q-11 11 -13 27l-20 303v4q0 18 12 30 l7 6q-28 20 -61.5 31t-69.5 11q-20 0 -39 -3q-39 -7 -73.5 -27t-60.5 -50l-3 -3q38 -70 64 -117.5t42.5 -78.5t26 -48t13.5 -25t5 -9.5l1 -1.5q7 -14 7 -25v-579q0 -16 -11 -27.5t-28 -11.5h-1048q-16 0 -27.5 11.5t-11.5 27.5v580q0 2 0.5 3t0.5 5l2 6l1 1q0 1 0.5 1.5 t0.5 1.5l313 556q20 -6 36 -19t27 -30l-274 -487h914l-449 827l-90 -161q-29 25 -67 43l124 219q12 20 34 20q24 0 35 -21l319 -587q68 68 163 85q14 2 26.5 3.5t26.5 1.5q73 0 137 -32.5t107 -89.5l217 -15q17 -2 27 -13zM1048 91h-969v-166h969v166zM1048 424h-969v-166 h969v166zM1412 577q33 0 56.5 23.5t23.5 57.5q0 29 -18 51t-47 28q5 -14 9.5 -28t6.5 -29q0 -2 0.5 -3.5t0.5 -3.5q0 -14 -9.5 -25.5t-23.5 -14.5h-7q-15 0 -26.5 9.5t-13.5 23.5q-4 24 -13 45q-19 -24 -19 -53q0 -34 23.5 -57.5t56.5 -23.5zM1668 286q36 8 57.5 31t21.5 55 t-18 53t-59 35q-28 11 -39 18t-11 15q0 19 32 19q21 0 36 -4.5t23 -8.5q0 -1 3 -1q1 0 2 -1q2 0 3 1l3 4l12 52q0 2 -2 4q-27 12 -62 15v33q0 6 -5 6h-43q-6 0 -6 -6v-37q-35 -8 -55 -30t-20 -53q0 -20 7.5 -34t19.5 -24t27 -17t30 -12q26 -9 34.5 -17t8.5 -16t-4.5 -12 t-10.5 -6.5t-12.5 -3t-9.5 -0.5q-10 0 -21.5 3t-22 7t-18.5 7t-11 3q-1 0 -1.5 -0.5t-1.5 -0.5l-3 -3l-13 -54q0 -2 2 -4q14 -8 33 -13t40 -7v-36q0 -6 5 -6h44q5 0 5 6v40z" /> +<glyph unicode="J" horiz-adv-x="2138" d="M2082 605q22 -22 32.5 -48.5t10.5 -55.5q0 -46 -25 -83l-343 -507q-4 -8 -9.5 -14.5t-11.5 -13.5q-22 -22 -49 -32.5t-56 -10.5t-55.5 10.5t-48.5 32.5l-1013 1013q-20 21 -31.5 48.5t-11.5 56.5q0 6 0.5 12t1.5 12q6 35 27 63.5t53 44.5l16 8t41 20t55.5 27l61 30t57 28 t43.5 22q72 36 149.5 55t154.5 19l46 98q6 12 17 18.5t24 6.5q11 0 19 -4l81 -39q12 -5 18.5 -16t6.5 -24q0 -11 -4 -19l-24 -52q14 -5 27.5 -10.5t26.5 -12.5l24 49q5 12 16 18.5t24 6.5q12 0 20 -4l80 -38q12 -6 19 -17t7 -23q0 -10 -5 -20l-41 -86zM1829 331 q18 14 27 37.5t9 53.5q0 33 -10 72t-28.5 81.5t-46 87.5t-62.5 89q-41 51 -85 92t-87 69.5t-82.5 44t-72.5 15.5q-36 0 -59 -19q-18 -14 -27 -38t-9 -54q0 -33 9.5 -72t28.5 -81.5t46.5 -87t62.5 -88.5q40 -51 84 -92t87 -69.5t83 -44t73 -15.5q36 0 59 19zM750 574 l-155 -154q29 -32 44 -71t15 -81q0 -44 -16.5 -85.5t-49.5 -74.5l-149 -149q-33 -33 -74.5 -49.5t-85.5 -16.5t-85 16.5t-75 49.5l-53 52q-33 33 -49.5 74.5t-16.5 85.5t16.5 85.5t49.5 74.5l149 149q33 33 74.5 49.5t85.5 16.5q42 0 81 -14.5t71 -43.5l155 155zM134 263 q-19 -19 -28 -43t-9 -49q0 -47 30 -83l332 331q-37 31 -84 31q-25 0 -49 -9.5t-43 -28.5zM519 176q20 19 29.5 42.5t9.5 48.5q0 47 -31 84l-332 -332q36 -30 83 -30q25 0 49 9.5t43 28.5z" /> +<glyph unicode="K" horiz-adv-x="2764" d="M1385 1073q129 0 242 -49t197.5 -133t133.5 -197t49 -242q0 -86 -22.5 -165.5t-63 -148.5t-97 -126t-125.5 -97.5t-148.5 -62.5t-165.5 -22t-165.5 22t-148.5 62.5t-125.5 97.5t-97 126t-63 148.5t-22.5 165.5q0 129 49 242t133.5 197t197.5 133t242 49zM1385 -122 q79 0 152 20.5t137 58t116 90t89.5 116t58 137t20.5 152.5t-20.5 152t-58 137t-89.5 116t-116 89.5t-137 58t-152 20.5t-152 -20.5t-137 -58t-116 -89.5t-89.5 -116t-58 -137t-20.5 -152q0 -119 45 -223.5t123 -182.5t182 -123t223 -45zM718 856q8 0 13.5 -5t5.5 -13v-249 q0 -25 -14.5 -44t-36.5 -27l14 -394q0 -16 -11.5 -27.5t-27.5 -11.5t-27 11.5t-11 27.5l13 394q-22 8 -36 27t-14 44v249q0 8 5 13t13 5t13.5 -5t5.5 -13v-177h20v177q0 8 5 13t13 5t13 -5t5 -13v-177h21v177q0 8 5 13t13 5zM1079 1161q-16 0 -26.5 11t-10.5 26t10.5 25.5 t26.5 10.5l373 -13q7 21 25.5 34.5t41.5 13.5h192q7 0 12 -5t5 -12q0 -8 -5 -13t-12 -5h-123v-19h123q7 0 12 -5t5 -12q0 -8 -5 -13t-12 -5h-123v-19h123q7 0 12 -4.5t5 -12.5t-5 -13t-12 -5h-192q-23 0 -41.5 13.5t-25.5 34.5zM514 774q8 0 13 -5.5t5 -13.5v-190 q0 -25 -14 -44t-36 -27l13 -370q0 -16 -11 -27.5t-27 -11.5q-17 0 -28 11.5t-11 27.5l14 370q-22 8 -36.5 27t-14.5 44v190q0 8 5.5 13.5t13.5 5.5t13 -5.5t5 -13.5v-117h21v117q0 8 5 13.5t13 5.5t13 -5.5t5 -13.5v-117h20v117q0 8 5.5 13.5t13.5 5.5zM1212 1287 q-28 0 -55 6.5t-48.5 18.5t-34.5 27.5t-13 33.5t13 34t34.5 27.5t48.5 18.5t55 7q46 0 81.5 -17.5t47.5 -44.5l332 12q15 0 26 -10.5t11 -26.5q0 -15 -11 -25.5t-26 -10.5l-332 11q-12 -26 -47.5 -43.5t-81.5 -17.5zM2446 827q18 0 33.5 -13t27 -34t18 -48t6.5 -54 q0 -45 -17.5 -79.5t-43.5 -46.5l12 -431q0 -14 -10.5 -25t-25.5 -11q-14 0 -25 11t-11 25l13 431q-27 12 -44.5 46.5t-17.5 79.5q0 27 6.5 54t18 48t27 34t33.5 13zM2757 657q0 -44 -21.5 -77t-53.5 -44l12 -415q0 -14 -10.5 -25t-25.5 -11q-14 0 -25 11t-11 25l12 415 q-32 11 -53 44t-21 77q0 26 7.5 51t21 45t31.5 32.5t38 12.5q21 0 39 -12.5t31.5 -32.5t21 -45t7.5 -51zM2162 399l9 -275q0 -16 -11 -27.5t-27 -11.5q-17 0 -28 11.5t-11 27.5l12 344l-47 33v288q0 49 8 82.5t19.5 54.5t24.5 30.5t23 9.5t15.5 -7.5t8.5 -15.5q4 -11 4 -23 v-521zM2311 399l10 -275q0 -16 -11.5 -27.5t-27.5 -11.5t-27.5 11.5t-11.5 27.5l13 348l-32 29v196q0 49 5.5 82.5t14 54.5t19 30.5t20.5 9.5t15.5 -7.5t8.5 -15.5q4 -10 4 -22v-430zM328 898q7 -4 7 -16v-843q0 -13 -7 -16q-4 -2 -5 -2q-6 0 -9 5l-310 422q-4 5 -4 12.5 t4 12.5l310 422q5 8 14 3zM1385 973q108 0 202.5 -41t165.5 -112t112 -165.5t41 -202.5t-41 -203t-112 -165.5t-165.5 -111.5t-202.5 -41t-202.5 41t-165.5 111.5t-112 165.5t-41 203t41 202.5t112 165.5t165.5 112t202.5 41zM1796 628q13 31 -11 55q-15 15 -35 15 q-2 0 -2 -1q6 28 -14 48q-15 15 -35 15q-2 0 -3.5 -0.5t-3.5 -0.5v6q0 21 -14 35q-15 15 -36 15q-9 0 -13 -2q0 22 -15 37q-14 14 -36 14q-10 0 -15 -2q0 21 -14 35q-17 15 -36 15q-16 0 -29 -9q-2 16 -14 28q-14 15 -35 15t-36 -15t-15 -35q0 -17 11 -31l-174 -355 q6 4 13.5 6.5t15.5 1.5q8 -2 12 -5q4 8 7 11q7 6 16 8t17 2q10 0 19 -1q-2 -28 -24 -47q32 3 57 -11t37 -52q7 -23 2.5 -48.5t-14 -48t-21.5 -38.5t-20 -19q-9 -3 -28 3.5t-39.5 20t-38.5 32t-25 41.5q-12 37 1 63.5t40 41.5q-23 2 -38 17l-175 -356q-7 -15 4 -26 q9 -7 16 -7q5 0 10 3l483 236q20 -28 50 -28q24 0 42.5 19t28.5 50q15 -6 30 -6q27 0 44 17q19 19 16 52l40 19q13 -10 30 -10q21 0 36 15q14 14 14 35t-14 36q-13 12 -29 14q8 13 8 27q0 21 -15 36q-14 14 -33 14zM1274 357q-2 7 -6 11t-9 2t-6 -7.5t1 -12.5t6.5 -11 t8.5 -2q10 3 5 20zM1277 446q-8 -3 -5 -20q2 -7 6.5 -11t9.5 -2q10 4 5 20q-2 7 -6.5 11t-9.5 2zM1347 426q10 3 5 19q-2 8 -6.5 12t-8.5 2q-5 -2 -6 -7.5t1 -12.5q5 -16 15 -13zM1358 402q-10 -4 -5 -20q2 -7 6.5 -11t9.5 -2q4 1 5.5 6.5t-0.5 12.5q-5 16 -16 14zM1342 317 q10 3 5 20q-2 7 -6.5 11t-8.5 2q-5 -2 -6 -7.5t1 -12.5t6 -11t9 -2zM1335 395q-2 7 -6.5 11t-8.5 2q-5 -1 -6 -6.5t1 -13.5q2 -7 6 -11t9 -2t6 7.5t-1 12.5zM1436 563q-7 11 -12 23t-6 26q-2 10 3 21q5 10 16 13q15 3 30 -2q2 0 2.5 -0.5t2.5 -0.5q0 -3 -1 -5v-7 q-1 -5 -1 -9v-9q1 -17 4 -33t10 -32q6 -14 16 -27t24 -21q-14 2 -26 8.5t-23 14.5t-21 18.5t-18 21.5zM1569 418q0 -1 1 0.5t-1 -0.5q-18 -21 -37 -32q-20 -13 -40 -16q-16 -3 -26 3q-11 5 -13 17q-3 14 2 29q0 1 0.5 2t0.5 2q0 2 2 0h2q5 0 8 -1h16q36 0 66 13q14 6 27 16 t21 24q-1 -8 -4 -15.5t-7 -15.5q-8 -15 -18 -26zM1711 487q7 -11 12 -23t7 -26q0 -12 -4 -21t-16 -12q-8 -2 -15.5 -1t-15.5 3q-2 0 -2 1q-2 0 -2 1q1 1 1 4v8q1 4 1 8v9q-1 17 -4 33t-10 32q-6 14 -16 27t-24 20q14 -2 26.5 -8.5t23.5 -14.5q21 -16 38 -40zM1580 634 q1 2 -0.5 0.5t0.5 -0.5q16 19 38 33q10 5 20.5 9t21.5 5q7 1 14 0t12 -6q7 -6 9 -20q0 -9 -1 -14q0 -2 -0.5 -4t-0.5 -4q-1 -1 -1 -4l-1 -2q0 -1 -1 0q-9 1 -17.5 1h-16.5q-17 -1 -33 -4t-30 -11q-14 -6 -25.5 -15t-18.5 -23q2 17 11 32t20 27zM1501 607q-3 29 6 56 q3 11 9 21t14 18q8 7 16 8q9 2 19 -5q11 -8 17 -20q1 -1 1 -2t1 -2t0 -2l-1 -1q-2 -2 -3.5 -2.5t-3.5 -2.5q-6 -5 -11 -11q-25 -25 -38 -55q-6 -14 -8.5 -31t2.5 -33q-9 12 -14 30q-6 16 -6 34zM1697 595q14 -3 15 -3t-3 0.5t-9 1.5t-3 1q19 -3 35 -12q14 -7 21 -18 q6 -8 6 -15q0 -10 -8 -20q-6 -6 -10 -8q-1 -1 -7 -5q-1 0 -1.5 -0.5t-1.5 -0.5q0 -1 -1 -1q-1 -1 -2 0q-5 7 -11 12.5t-12 11.5q-25 24 -55 35q-14 5 -29.5 7t-29.5 -3q22 15 50 18q29 5 56 -1zM1646 444q1 -2 0.5 0t-0.5 0q3 -31 -6 -58q-4 -11 -9.5 -20.5t-13.5 -17.5 q-6 -6 -15 -8q-11 -2 -19 5q-6 4 -10 9.5t-8 10.5l-2 4v2l1 1q2 2 3.5 2.5t3.5 2.5q3 3 6 5.5t6 6.5q11 11 21 25t16 29t8.5 31.5t-2.5 33.5q10 -14 14.5 -30.5t5.5 -33.5zM1466 453q-11 1 -21.5 3t-21.5 7q-9 5 -18 11t-14 15q-5 12 -1 20q2 6 6 10.5t9 8.5q6 4 13 8 q2 2 2 -1q1 -1 1 -2l3 -3q1 -2 5 -6q9 -10 24 -22q23 -19 50 -27q13 -5 26.5 -6t26.5 4q-4 -4 -8.5 -6.5t-9.5 -4.5t-11 -3.5t-11 -2.5q-24 -6 -50 -3z" /> +<glyph unicode="L" horiz-adv-x="1940" d="M1837 337q42 -35 64.5 -78t25.5 -86l-64 -76q-5 -1 -9.5 -1h-9.5q-39 0 -80 15.5t-77 45.5t-57.5 66.5t-29.5 74.5q-36 -48 -83 -100.5t-102 -108.5q-62 -62 -121 -113t-109.5 -88t-89.5 -57t-60 -20q-11 0 -16 5l-67 66q6 -6 17 -6q21 0 60 20.5t89.5 58t109.5 88.5 t121 113t113.5 121t88 109.5t57 89.5t20.5 60q0 11 -5 16l66 -66q5 -5 5 -16q0 -24 -26 -73h14q38 0 78.5 -15t76.5 -45zM1813 185q34 -39 50 -86q-3 37 -20.5 74.5t-49.5 69.5q-2 2 -5.5 5t-3.5 5q-3 2 -5.5 4t-4.5 4l-12 10l-10 6q-32 23 -66.5 34t-67.5 11l-3 -4 q20 -5 39.5 -12.5t38.5 -19.5q4 -14 16.5 -30.5t32.5 -33.5q19 -17 38 -26t33 -11zM1175 683q-7 -6 -12.5 -19.5t-9.5 -28.5t-7 -30t-4 -25l-2 -3v139h138l-2 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -9.5zM589 1267h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5 t-16.5 -8.5q-6 -6 -11 -17.5t-9 -25.5t-7 -28.5t-5 -26.5l-2 -8v138zM865 716h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -9.5q-7 -6 -12 -19.5t-9 -28.5t-7 -30t-4 -25l-2 -3v139zM865 991h138l-3 -2q-11 -2 -26.5 -5t-30.5 -7t-27.5 -9t-16.5 -9 q-6 -6 -11 -17t-9 -25t-7 -28.5t-5 -26.5l-2 -9v138zM589 991h138l-3 -2q-11 -2 -26.5 -5t-30.5 -7t-27.5 -9t-16.5 -9q-6 -6 -11 -17t-9 -25t-7 -28.5t-5 -26.5l-2 -9v138zM347 1235q-6 -6 -11 -17.5t-9 -25.5t-7 -28.5t-5 -26.5l-2 -8v138h138l-2 -3q-11 -2 -27 -5t-31 -7 t-27.5 -8.5t-16.5 -8.5zM865 1267h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -8.5q-6 -6 -11 -17.5t-9 -25.5t-7 -28.5t-5 -26.5l-2 -8v138zM899 408q-7 -7 -12 -20t-9.5 -28.5t-7.5 -31t-5 -26.5v138h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5 t-16.5 -8.5zM623 683q-7 -6 -12 -19.5t-9 -28.5t-7 -30t-4 -25l-2 -3v139h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -9.5zM347 959q-6 -6 -11 -17t-9 -25t-7 -28.5t-5 -26.5l-2 -9v136h136q-11 -2 -27 -5t-31 -7t-27.5 -9t-16.5 -9zM1140 440h138l-2 -3 q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -8.5q-6 -6 -11.5 -18.5t-9.5 -26.5t-7.5 -28.5t-5.5 -26.5q0 -2 -0.5 -3t-0.5 -3v138zM1570 604q6 -6 6 -17q0 -21 -20.5 -60t-57.5 -89.5t-88.5 -109.5t-112.5 -120q-62 -62 -121 -113t-109.5 -88.5t-89.5 -58t-60 -20.5 q-11 0 -17 6l-63 63q-133 132 -233.5 233t-175 176t-126 126t-84.5 84l-89 88q-65 65 -97 146t-32 166t32 166t97 146t146 97t166 32t166 -32t146 -97l35 -40q3 38 19.5 74.5t46.5 66.5q33 33 74.5 50t85.5 17t85.5 -17t75.5 -50q24 -24 39 -52.5t22 -59.5l158 -537z M548 1358h77q-18 11 -37.5 18.5t-39.5 13.5v-32zM498 1401q-14 2 -28.5 3t-28.5 1q-44 0 -86.5 -9t-82.5 -28v-10h226v43zM272 1308v-225h226v225h-226zM222 757h-77q3 -3 10 -9t9 -11l58 -58v78zM222 1033h-173v-44h124q-11 -2 -26.5 -5t-31 -7t-28 -9t-16.5 -9 q-7 -7 -14 -26q8 -33 20 -65t31 -61h114v226zM222 1308h-40q-5 -4 -9.5 -8t-9.5 -9l-22 -24h34l-2 -3q-17 -2 -41 -8q-31 -39 -50 -82.5t-27 -90.5h167v225zM498 481h-78l78 -78v78zM498 757h-226v-128l41 -41v128h138l-2 -3q-11 -2 -27 -5t-31 -7t-27.5 -8.5t-16.5 -9.5 q-6 -6 -11 -18t-8.5 -26t-6.5 -28.5t-5 -25.5l54 -54h128v226zM498 1033h-226v-226h226v226zM773 205h-77l77 -78v78zM773 481h-225v-128l41 -41v128h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -8.5q-6 -6 -11.5 -18t-9 -26.5t-6.5 -29t-4 -25.5l54 -54h127v226 zM773 757h-225v-226h225v226zM773 807v226h-225v-226h225zM773 1238q-15 5 -26 17q-8 10 -15.5 19t-15.5 17l-19 17h-149v-225h225v155zM1375 531h125q19 34 22 46l-84 86q-8 -19 -13 -43.5t-7 -39.5l-2 -3v108l-41 41v-195zM1375 364q11 14 21.5 26t19.5 24v26h21l30 41 h-92v-117zM1099 1358h66q-6 9 -12.5 17.5t-14.5 16.5q-19 19 -39 29v-63zM1099 1083h152l-48 165q-22 -7 -28 -13t-11.5 -18.5t-9.5 -27.5t-7.5 -30t-5.5 -27q0 -1 -0.5 -1.5t-0.5 -1.5v138h57l-10 35q0 1 -0.5 1.5t-0.5 1.5q0 2 -1 3h-86v-225zM1099 807h226v25l-49 157 q-11 -2 -26.5 -5t-30.5 -7t-27.5 -9t-16.5 -9q-6 -6 -11.5 -18.5t-9.5 -27t-7.5 -29.5t-5.5 -27q0 -2 -0.5 -2.5t-0.5 -1.5v138h138l-12 42h-167v-226zM1099 757v-226h226v226h-226zM823 1083h226v225h-208q-2 -6 -3 -12.5t-2 -13.5q-1 -16 -13 -29v-170zM823 807h226v226 h-226v-226zM823 531h226v226h-226v-226zM927 -21q17 6 47.5 24.5t74.5 51.5v150h-226v-127l42 -42v128h138l-3 -3q-11 -2 -26.5 -5t-30.5 -7t-27.5 -8.5t-16.5 -8.5q-6 -6 -11.5 -18t-9 -26.5t-6.5 -28.5t-5 -25l4 -3l51 -52h5zM1049 481h-226v-226h226v226zM1049 1440 q-9 2 -18.5 3t-18.5 1q-34 0 -66 -13t-58 -39q-8 -8 -14.5 -16.5t-12.5 -17.5h188v82zM1223 205h-124v-110q10 8 20 16.5t21 17.5v35h39zM1274 255l51 54v172h-226v-226h175z" /> +<glyph unicode="M" horiz-adv-x="14546" d="M8314 627h156q61 0 94.5 -26t33.5 -71t-29.5 -72t-73.5 -36q30 -10 51.5 -30.5t21.5 -55.5q0 -54 -46.5 -88.5t-127.5 -34.5h-191zM8399 255q57 0 89 22t32 60q0 32 -26.5 48t-68.5 16h-125l-39 -146h138zM8429 443q55 0 88 22t33 59q0 30 -22 45.5t-63 15.5h-116 l-38 -142h118zM8650 301q0 11 2.5 23t5.5 24l45 171h45l-47 -174q-2 -8 -3 -17t-1 -17q0 -30 18 -47t50 -17q18 0 35 7.5t32 20.5t26.5 31t17.5 40l46 173h46l-82 -306h-45l13 49q-21 -23 -46.5 -39.5t-60.5 -16.5q-45 0 -71 25.5t-26 69.5zM9081 519h46l-83 -306h-46z M9109 636h52l-13 -51h-52zM9277 644h45l-116 -431h-45zM9338 335q0 41 14.5 75.5t38.5 60t55 40t64 14.5q48 0 75 -22.5t40 -52.5l52 194h45l-115 -431h-45l13 52q-22 -25 -50 -42.5t-66 -17.5q-52 0 -86.5 36t-34.5 94zM9609 390q0 41 -26.5 68t-68.5 27q-27 0 -50.5 -11.5 t-41 -31.5t-27 -46.5t-9.5 -56.5q0 -42 24.5 -67.5t62.5 -25.5q25 0 49.5 12t44 32t31 46t11.5 54zM9987 478h-42l11 41h42l10 36q11 47 38 69t66 22q38 0 61 -13l-11 -39q-13 6 -24.5 9t-25.5 3q-21 0 -37 -14t-24 -44l-8 -29h100l-11 -41h-100l-71 -265h-46zM10116 291 q0 52 38.5 81t98.5 29q30 0 58 -5t50 -11l2 7q2 7 3 14.5t1 13.5q0 30 -20.5 46.5t-62.5 16.5q-24 0 -45 -4.5t-41 -12.5l-7 39q22 8 46.5 13t53.5 5q59 0 90 -25t31 -70q0 -10 -2 -20.5t-4 -21.5l-47 -173h-44l13 47q-22 -24 -50 -39t-65 -15q-19 0 -36.5 5.5t-31 16.5 t-21.5 27t-8 36zM10348 333l6 21q-20 6 -45.5 10t-54.5 4q-41 0 -66.5 -20t-25.5 -52q0 -25 18 -39.5t48 -14.5q19 0 38 6.5t35.5 18.5t28.5 29t18 37zM10449 260l29 29q25 -24 52 -34.5t55 -10.5q26 0 46.5 14t20.5 37q0 15 -12 27t-46 25q-42 17 -64 34.5t-22 49.5 q0 39 31 66.5t85 27.5q33 0 63 -12.5t49 -29.5l-26 -31q-19 15 -42 25t-49 10q-32 0 -49 -14.5t-17 -33.5q0 -15 12.5 -26.5t48.5 -26.5q42 -17 63 -35.5t21 -47.5q0 -43 -34 -70t-83 -27q-36 0 -71 13.5t-61 40.5zM10790 268q0 8 1 16t3 16l49 178h-43l11 41h43l25 92h44 l-24 -92h96l-11 -41h-96l-47 -176q-1 -5 -1.5 -11t-0.5 -11q0 -32 41 -32q21 0 45 10l-12 -42q-23 -9 -48 -9q-33 0 -54 15.5t-21 45.5zM10962 161q26 7 39 20t17 32h-22l17 62h54l-15 -53q-11 -39 -30.5 -56.5t-55.5 -24.5zM11321 170l29 32q24 -21 54.5 -33.5t66.5 -12.5 q29 0 50 8.5t35 23.5q14 13 23 31t16 41l8 31q-23 -23 -51 -38.5t-66 -15.5q-24 0 -46.5 7.5t-40 22t-28 36t-10.5 49.5q0 38 15 69.5t39 54.5t55 36t63 13q25 0 43 -6t31.5 -16.5t22.5 -23.5t16 -27l18 67h45l-70 -263q-10 -35 -21.5 -57t-28.5 -39q-42 -43 -118 -43 q-42 0 -81.5 14t-68.5 39zM11629 398q0 35 -24.5 61t-68.5 26q-24 0 -47 -9.5t-40.5 -26.5t-28 -40.5t-10.5 -50.5q0 -42 27 -62.5t62 -20.5q26 0 49.5 10.5t41.5 27.5t28.5 39.5t10.5 45.5zM11816 519h46l-20 -80q28 40 63.5 63.5t81.5 21.5l-13 -49h-3q-25 0 -49.5 -9 t-45.5 -27t-37.5 -44.5t-25.5 -61.5l-32 -120h-46zM11994 343q0 36 14.5 68.5t39 58t57.5 40.5t70 15q63 0 101 -38t38 -98q0 -37 -14.5 -70t-39.5 -58.5t-57.5 -40.5t-68.5 -15q-64 0 -102 39t-38 99zM12267 386q0 48 -26 73.5t-69 25.5q-27 0 -50.5 -12t-41.5 -32 t-28.5 -45t-10.5 -52q0 -47 26.5 -72t69.5 -25q25 0 48.5 11.5t41.5 31t29 44.5t11 52zM12392 519h46l16 -244l148 245h38l17 -245l147 244h48l-191 -309h-41l-17 242l-147 -242h-40zM13022 260l30 29q25 -24 52 -34.5t55 -10.5q26 0 46.5 14t20.5 37q0 15 -12.5 27 t-45.5 25q-42 17 -64 34.5t-22 49.5q0 39 30.5 66.5t84.5 27.5q35 0 64.5 -12.5t48.5 -29.5l-26 -31q-20 15 -42.5 25t-48.5 10q-32 0 -49 -14.5t-17 -33.5q0 -15 12.5 -26.5t48.5 -26.5q42 -17 63 -35.5t21 -47.5q0 -21 -9 -39t-25 -31t-37.5 -20t-46.5 -7q-35 0 -70 13.5 t-62 40.5zM13355 343q0 36 14 68.5t38.5 58t57 40.5t69.5 15q64 0 102 -38t38 -98q0 -37 -15 -70t-39.5 -58.5t-57 -40.5t-68.5 -15q-63 0 -101 39t-38 99zM13628 386q0 48 -27 73.5t-70 25.5q-26 0 -49.5 -12t-41.5 -32t-28.5 -45t-10.5 -52q0 -47 26 -72t70 -25 q25 0 49 11.5t42 31t29 44.5t11 52zM13839 644h45l-115 -431h-46zM13967 519h46l-82 -306h-46zM13996 636h52l-14 -51h-52zM14063 335q0 41 14 75.5t38 60t55 40t64 14.5q48 0 75 -22.5t40 -52.5l52 194h46l-116 -431h-45l14 52q-23 -25 -51 -42.5t-65 -17.5q-52 0 -86.5 36 t-34.5 94zM14333 390q0 41 -26 68t-68 27q-27 0 -50.5 -11.5t-41 -31.5t-27 -46.5t-9.5 -56.5q0 -42 24 -67.5t62 -25.5q25 0 49.5 12t44 32t31 46t11.5 54zM14453 275h54l-16 -62h-55zM997 481q-138 0 -265.5 11t-238 31.5t-201.5 49t-156 63t-100.5 74.5t-35.5 83v311 q0 43 35.5 83t100.5 74.5t156 62.5t201.5 48.5t238 31.5t265.5 11t265.5 -11t238 -31.5t201.5 -48.5t156 -62.5t100.5 -74.5t35.5 -83v-311q0 -56 -57 -105t-160 -90l-780 195v-312zM1777 287q103 40 160 89.5t57 104.5v-311q0 -55 -57 -104.5t-160 -89.5l-780 194v311z M0 481q0 -43 35.5 -83t100.5 -74.5t156 -62.5t201.5 -48.5t238 -31.5t265.5 -11v-311q-138 0 -265.5 11t-238 31.5t-201.5 48.5t-156 62.5t-100.5 74.5t-35.5 83v311zM2850 198q-91 0 -168.5 33t-134.5 90.5t-89 135.5t-32 167v3q0 88 31.5 165.5t88.5 135.5t136.5 92 t174.5 34q58 0 106 -9.5t87 -26t71.5 -40.5t61.5 -52l-116 -133q-48 44 -98 68.5t-113 24.5q-52 0 -96 -20t-76 -55t-50 -82t-18 -100v-2q0 -54 17.5 -101.5t49 -83t76 -56t97.5 -20.5q35 0 64.5 7t55 19.5t49.5 30.5t48 41l116 -118q-32 -34 -66.5 -61.5t-75 -46.5 t-89 -29.5t-108.5 -10.5zM3687 213v68q-33 -36 -79.5 -58t-112.5 -22q-45 0 -84.5 12.5t-69 37t-46.5 61t-17 83.5v2q0 52 18.5 90t52.5 63t81 37t103 12q48 0 84.5 -7.5t70.5 -18.5v11q0 56 -34 85.5t-102 29.5q-51 0 -91 -8.5t-84 -25.5l-45 138q52 22 109 36.5t137 14.5 q147 0 215 -72.5t68 -201.5v-367h-174zM3690 468q-23 11 -52.5 17.5t-61.5 6.5q-58 0 -91.5 -22.5t-33.5 -65.5v-2q0 -36 27 -56.5t71 -20.5q64 0 102.5 31t38.5 80v32zM4423 213l-166 258l-62 -65v-193h-180v863h180v-460l210 230h215l-241 -249l250 -384h-206zM5274 466 h-441q13 -61 53.5 -92t101.5 -31q45 0 80.5 15t72.5 50l104 -91q-45 -55 -109 -87t-151 -32q-71 0 -132 24t-105 67.5t-69 103.5t-25 133v3q0 67 23 127t64.5 105t99 71t126.5 26q79 0 137.5 -28.5t96.5 -76t56.5 -110t18.5 -129.5v-2q0 -14 -0.5 -23.5t-1.5 -22.5z M4967 714q-56 0 -91 -36.5t-45 -98.5h270q-8 60 -42.5 97.5t-91.5 37.5zM5749 461h-138v-248h-182v827h338q74 0 132.5 -21t99.5 -58.5t62.5 -90.5t21.5 -116v-2q0 -72 -26 -126.5t-71 -91t-106 -55t-131 -18.5zM5899 750q0 62 -39.5 94t-108.5 32h-140v-253h144 q69 0 106.5 35.5t37.5 89.5v2zM6736 213v332h-336v-332h-182v827h182v-327h336v327h182v-827h-182zM7436 461h-138v-248h-182v827h338q74 0 132.5 -21t99.5 -58.5t63 -90.5t22 -116v-2q0 -72 -26 -126.5t-71.5 -91t-106.5 -55t-131 -18.5zM7587 750q0 62 -39.5 94t-108.5 32 h-141v-253h144q69 0 107 35.5t38 89.5v2z" /> +<glyph unicode="N" horiz-adv-x="2633" d="M1317 977l289 -71q38 14 59 32.5t21 38.5v116q0 24 -29 45t-79 36.5t-117.5 24.5t-143.5 9q-77 0 -144 -9t-117 -24.5t-79 -36.5t-29 -45v-116q0 -24 29 -44.5t79 -36.5t117 -25t144 -9v115zM1606 790l-289 72v-115l289 -72q38 15 59 33.5t21 38.5v115q0 -20 -21 -38.5 t-59 -33.5zM948 747q0 -24 29 -44.5t79 -36.5t117 -25t144 -9v115q-77 0 -144 9t-117 25t-79 36.5t-29 44.5v-115zM1317 363l-637 212v690l637 212l637 -212v-690zM743 621l574 -192l574 192v598l-574 192l-574 -192v-598zM207 -182q-45 0 -82.5 16t-65.5 44t-43.5 65.5 t-15.5 81.5q0 43 15.5 81.5t43.5 67t66.5 45t84.5 16.5q57 0 94 -17.5t65 -44.5l-57 -65q-23 21 -47.5 33t-54.5 12q-26 0 -47 -10t-37 -27t-24.5 -40t-8.5 -48q0 -27 8.5 -50t24 -40.5t37 -27.5t47.5 -10q35 0 58.5 12.5t46.5 34.5l57 -57q-32 -34 -69.5 -53t-95.5 -19z M615 -175v33q-17 -17 -39.5 -28t-54.5 -11q-44 0 -75 24.5t-31 70.5q0 51 35 75t89 24q23 0 41 -3.5t35 -9.5v6q0 56 -66 56q-26 0 -45 -4t-40 -12l-22 66q25 11 52.5 18t66.5 7q72 0 105 -35t33 -98v-179h-84zM616 -51q-11 5 -25 8.5t-31 3.5q-28 0 -44 -11t-16 -32 q0 -19 13.5 -28.5t34.5 -9.5q30 0 49 15t19 39v15zM973 -175l-81 126l-30 -32v-94h-87v420h87v-224l103 112h104l-117 -121l121 -187h-100zM1388 -51h-215q7 -30 26.5 -45.5t48.5 -15.5q23 0 40 7.5t35 24.5l50 -45q-21 -26 -52.5 -41.5t-73.5 -15.5q-35 0 -64 11.5 t-51 32.5t-34 50.5t-12 64.5q0 33 11 62.5t31.5 51.5t48.5 35t62 13q39 0 67 -14t46.5 -37t27.5 -53t9 -63q0 -8 -0.5 -12.5t-0.5 -10.5zM1239 69q-28 0 -45 -18t-22 -48h132q-4 30 -21 48t-44 18zM1552 147v-85h192v-81h-192v-156h-89v403h307v-81h-218zM2110 -51h-215 q7 -30 27 -45.5t49 -15.5q22 0 39 7.5t35 24.5l50 -45q-21 -26 -52 -41.5t-74 -15.5q-35 0 -64 11.5t-51 32.5t-34 50.5t-12 64.5q0 33 11 62.5t31.5 51.5t48.5 35t62 13q39 0 67 -14t46.5 -37t27.5 -53t9 -63q0 -8 -0.5 -12.5t-0.5 -10.5zM1961 69q-27 0 -44.5 -18 t-22.5 -48h132q-4 30 -21 48t-44 18zM2285 -181q-33 0 -67.5 11.5t-65.5 35.5l38 57q25 -18 50 -27t47 -9q37 0 37 22q0 16 -19 22.5t-45 14.5q-16 5 -32.5 11.5t-29.5 17t-21.5 26t-8.5 38.5q0 48 32.5 73.5t80.5 25.5q29 0 59 -9.5t56 -26.5l-34 -60q-23 14 -44.5 21.5 t-38.5 7.5q-32 0 -32 -22q0 -13 15.5 -19.5t38.5 -14.5l8 -3q16 -6 32.5 -13t30 -17.5t22 -25.5t8.5 -36q0 -53 -33.5 -77t-83.5 -24zM2564 -180q-40 0 -65 19.5t-25 72.5v147h-37v74h37v79h88v-79h72v-74h-72v-132q0 -30 28 -30q24 0 43 11v-70q-27 -18 -69 -18z" /> +<glyph unicode="O" horiz-adv-x="5926" d="M1014 581q-122 0 -229 14t-186.5 39t-126 58.5t-46.5 71.5v183q0 38 46.5 71.5t126 58.5t186.5 39.5t229 14.5t229 -14.5t187 -39.5t126.5 -58.5t46.5 -71.5v-183q0 -33 -34.5 -62t-94.5 -53l-460 115v-183zM1474 466q60 23 94.5 52.5t34.5 62.5v-184q0 -32 -34.5 -61.5 t-94.5 -53.5l-460 115v184zM426 581q0 -38 46.5 -71.5t126 -58.5t186.5 -39.5t229 -14.5v-184q-122 0 -229 14.5t-186.5 39.5t-126 58.5t-46.5 71.5v184zM100 1353v-1363h1829v1363h-1829zM2029 -110h-2029v1564h2029v-1564zM2637 354q-71 0 -131.5 25.5t-104.5 70 t-69 104.5t-25 129t24.5 130t69 106.5t106.5 71.5t136 26q90 0 149 -27.5t103 -71.5l-89 -103q-38 33 -77 52.5t-88 19.5q-41 0 -74.5 -16t-58.5 -43t-38.5 -63.5t-13.5 -77.5q0 -42 13.5 -79t38 -64.5t58.5 -43.5t75 -16q56 0 93.5 20t75.5 54l90 -90q-25 -27 -51.5 -48 t-58 -35.5t-69.5 -22.5t-84 -8zM3286 364v53q-26 -28 -61.5 -45t-86.5 -17q-35 0 -65.5 10t-53.5 29t-36.5 47t-13.5 64q0 41 14.5 71t41 49.5t62.5 29t80 9.5q38 0 66 -5.5t54 -14.5v8q0 44 -26.5 67t-78.5 23q-40 0 -71 -7t-65 -19l-35 106q42 18 85 28.5t106 10.5 q114 0 166.5 -56t52.5 -156v-285h-135zM3289 563q-18 8 -40.5 13t-48.5 5q-45 0 -70.5 -17.5t-25.5 -50.5q0 -29 21 -45.5t55 -16.5q49 0 79 24.5t30 62.5v25zM3858 364l-129 201l-48 -51v-150h-139v669h139v-356l163 179h166l-186 -194l193 -298h-159zM4518 561h-342 q11 -48 41.5 -72t78.5 -24q35 0 62.5 12t56.5 38l80 -70q-35 -43 -84.5 -67t-116.5 -24q-55 0 -102 18.5t-81.5 52t-54 80t-19.5 102.5q0 54 18 101t50 82t76.5 55t98.5 20q61 0 106.5 -22t74.5 -59t43.5 -85.5t14.5 -100.5v-19t-1 -18zM4280 753q-43 0 -70.5 -28t-35.5 -76 h210q-7 47 -33 75.5t-71 28.5zM4889 364h-251v642h251q75 0 138 -24.5t108 -67t70 -101t25 -126.5t-25 -127t-70 -102.5t-108 -68.5t-138 -25zM5082 685q0 43 -14 78.5t-39.5 61t-61 40t-78.5 14.5h-110v-387h110q43 0 78.5 14t61 39.5t39.5 61t14 78.5zM5656 354 q-71 0 -131 25.5t-104 70t-69 104.5t-25 129t24.5 130t68.5 106.5t106 71.5t136 26q45 0 82 -7t67.5 -20t55.5 -31.5t48 -40.5l-90 -103q-37 33 -76.5 52.5t-87.5 19.5q-41 0 -75 -16t-58.5 -43t-38.5 -63.5t-14 -77.5q0 -42 13.5 -79t38 -64.5t58.5 -43.5t76 -16 q55 0 92.5 20t75.5 54l90 -90q-25 -27 -51.5 -48t-58 -35.5t-69.5 -22.5t-84 -8z" /> +<glyph unicode="P" horiz-adv-x="1227" d="M843 679q-12 5 -12 17q0 3 2 7l3 4v81q-40 -9 -99 -14.5t-128 -5.5t-128 5.5t-97 14.5v-81l2 -4q1 -2 1 -6q0 -13 -11 -18q-4 -2 -7 -2q-12 0 -17 11q-5 12 -8.5 16.5t-4.5 5.5q-6 0 -10 -6t-6 -14.5t-2.5 -18.5t-0.5 -17q0 -22 5.5 -41t13 -33t16 -22.5t14.5 -8.5t10 -4 q6 -6 6 -14v-104q0 -14 6 -25.5t16 -20.5l145 -114q14 -13 36 -13h38q22 0 36 13q4 4 12 4q10 0 14 -7q4 -5 4 -12q0 -10 -7 -14q-26 -21 -59 -21h-38q-34 0 -59 21l-144 115q-36 28 -36 74v89q-13 6 -25 19.5t-21 32t-14.5 41t-5.5 45.5q0 48 13.5 67.5t30.5 23.5l-6 74 v200q-38 7 -71.5 29t-53.5 58q-12 20 -17.5 42t-5.5 45q0 46 23 87.5t66 65.5q40 22 87 22q35 0 63 -11q15 33 41.5 60.5t62.5 44.5q45 21 93 21q62 0 115.5 -32.5t81.5 -92.5q0 -1 0.5 -1.5t0.5 -1.5q34 14 67 14q46 0 87 -23.5t65 -65.5q24 -41 24 -87t-23 -87.5 t-66 -65.5q-30 -16 -64 -21v-200l-5 -74q13 -3 24 -14t16 -35v-5q0 -5 -2 -10.5t-10 -6.5q-10 0 -12.5 7.5t-3.5 8.5q-3 20 -24 20q-2 -1 -5 -5.5t-8 -16.5q-5 -11 -17 -11q-3 0 -7 2zM1219 -120q0 -28 -20 -47q-22 -22 -57 -22h-869q13 96 48 148t82 76t101 28t105 4 q39 0 74 10.5t60.5 29.5t40.5 43.5t15 53.5v66q43 -15 90.5 -32.5t91 -35.5t79.5 -36t58 -34q27 -20 45 -53t29.5 -69t17.5 -70.5t9 -55.5v-4zM489 98q-42 -6 -83 -21t-75.5 -47.5t-59.5 -85t-35 -133.5h-160q-34 0 -56 22q-20 18 -20 45v6q3 21 9 55.5t17.5 70.5t29.5 69 t44 53q22 16 58.5 34t80 36t90.5 35.5t91 32.5v-66q0 -32 18.5 -59.5t50.5 -46.5zM256 1218q11 39 45 58q22 13 47 13t47.5 -13t36.5 -36q0 -1 1 -1.5t1 -1.5q2 -12 5.5 -24t9.5 -23q2 -6 6.5 -8.5t9.5 -2.5q6 0 8 2q11 5 11 16q0 2 -2 8q-7 14 -10 29.5t-3 30.5 q0 40 21 74.5t59 52.5q27 13 59 13q22 0 48 -8q56 -20 80 -72q5 -11 17 -11q3 0 7 2q11 5 11 16q0 2 -2 8q-15 32 -41 55.5t-59 36.5q-27 10 -59 10q-40 0 -77 -17q-41 -20 -66 -54.5t-33 -76.5q-38 32 -86 32q-34 0 -65 -18q-48 -26 -62 -80q-2 -9 -3.5 -17.5t-1.5 -17.5 q0 -35 18 -65q5 -10 15 -10q4 0 10 2q9 7 9 16q0 4 -3 9q-12 22 -12 49q0 12 3 24zM922 606q0 -30 -23 -43q-3 -43 -20.5 -85.5t-46.5 -77t-67.5 -56.5t-84.5 -24q-10 -19 -33 -19h-53q-16 0 -27 11t-11 27q0 17 11 28t27 11h53q13 0 22.5 -7.5t13.5 -19.5q32 3 64 20 t58 44.5t43.5 64.5t20.5 81q-7 5 -8 17.5t-1 27.5q8 4 9.5 11.5t1.5 15.5t1.5 14t9.5 6q17 0 28.5 -13.5t11.5 -33.5zM774 466q-5 -34 -29 -56.5t-61 -22.5q-24 0 -44 9.5t-31 24.5q-11 -15 -31 -24.5t-43 -9.5q-37 0 -61 22.5t-30 56.5h14q20 -25 51 -25q28 0 44 25 q10 16 28 16q16 0 28 -12q12 12 29 12q19 0 29 -16q8 -13 19.5 -19t24.5 -6q14 0 27.5 6.5t23.5 18.5h12zM940 1077q32 19 49.5 50.5t17.5 66.5q0 17 -4 33t-13 31q-14 23 -34.5 39.5t-46.5 23.5q-9 2 -17.5 3.5t-17.5 1.5q-36 0 -66 -18q-9 -5 -9 -16q0 -5 3 -9q4 -9 16 -9 q6 0 9 2q23 13 46 13q7 0 13.5 -1t13.5 -3q36 -9 58 -45q12 -23 12 -46q0 -26 -13 -48t-36 -36q-8 -5 -8 -16q0 -6 2 -9q5 -10 16 -10q3 0 9 2zM713 -143q17 0 29 12t12 29t-12 28.5t-29 11.5t-29 -11.5t-12 -28.5t12 -29t29 -12zM487 -143q17 0 29 12t12 29t-12 28.5 t-29 11.5t-28.5 -11.5t-11.5 -28.5t11.5 -29t28.5 -12z" /> +<glyph unicode="Q" horiz-adv-x="1914" d="M1516 56q8 0 14.5 -6t6.5 -15t-6.5 -15t-14.5 -6h-813q-9 0 -15 6t-6 15t6 15t15 6h813zM1516 132q8 0 14.5 -6.5t6.5 -15.5q0 -8 -6.5 -14t-14.5 -6h-813q-9 0 -15 6t-6 14q0 9 6 15.5t15 6.5h813zM1516 1056q8 0 14.5 -6t6.5 -15v-843q0 -8 -6.5 -14.5t-14.5 -6.5h-813 q-20 0 -37.5 -7.5t-30.5 -20.5t-20.5 -30.5t-7.5 -36.5q0 -40 28 -68t68 -28h813q8 0 14.5 -6t6.5 -15t-6.5 -15t-14.5 -6h-813q-29 0 -54 10.5t-43.5 29.5t-29.5 44t-11 54v278q24 -30 60 -48.5t78 -18.5h679q24 0 41.5 17.5t17.5 41.5q0 11 -4 20t-10 17q6 8 10 18t4 21 t-4 20t-10 17q6 8 10 18t4 21q0 23 -17 40q8 8 12.5 18.5t4.5 22.5v477h75zM703 324q-29 0 -54 11t-43.5 29.5t-29.5 43.5t-11 54v754q0 28 11 53.5t29.5 44t43.5 29.5t54 11h679q9 0 15 -6t6 -15v-754q0 -9 -6 -15t-15 -6h-679q-40 0 -68 -28t-28 -68q0 -20 7.5 -37 t20.5 -30t30.5 -20.5t37.5 -7.5h679q9 0 15 -6t6 -15t-6 -15.5t-15 -6.5h-679zM1382 443q9 0 15 -6t6 -15t-6 -15.5t-15 -6.5h-679q-9 0 -15 6.5t-6 15.5t6 15t15 6h679zM1382 519q9 0 15 -6.5t6 -14.5q0 -9 -6 -15.5t-15 -6.5h-679q-9 0 -15 6.5t-6 15.5q0 8 6 14.5t15 6.5 h679zM175 89q19 0 32 -13t13 -32v-108q-21 16 -45 16t-45 -16v108q0 19 13 32t32 13zM175 -97q19 0 32 -13t13 -32t-13 -32t-32 -13t-32 13t-13 32t13 32t32 13zM174 1478q40 0 72.5 -22t55 -56.5t34.5 -77t12 -84.5q0 -54 -9.5 -100t-24 -87t-31 -78.5t-31 -76.5t-24 -81 t-9.5 -90v-603q-21 16 -45 16t-45 -16v603q0 48 -9.5 90t-24 81t-31 76.5t-31 78.5t-24 86.5t-9.5 100.5q0 42 12 84.5t34.5 77t55 56.5t72.5 22zM174 992q25 0 47.5 18.5t39 51t26 75.5t9.5 92q0 40 -12 79t-32 66q-2 3 -7 3q-3 0 -4 -1q-5 -2 -5 -7q0 -3 1 -4 q11 -38 11 -77q0 -45 -8 -84.5t-22 -69.5t-32.5 -47.5t-39.5 -17.5q-19 0 -33 11.5t-23 23.5q-1 4 -7 4q-3 0 -4 -1q-5 -2 -5 -8q0 -2 1 -3q17 -49 43 -76.5t56 -27.5zM1866 989q-7 3 -13.5 5t-14.5 2t-14.5 -2t-13.5 -5l15 46q3 9 13 9t13 -9zM1838 869q-21 0 -39.5 -8.5 t-32.5 -22.5l31 96q5 12 16 19.5t25 7.5t25 -7.5t16 -18.5l31 -97q-14 14 -32.5 22.5t-39.5 8.5zM1838 164q30 0 51 -21t21 -50q0 -30 -21 -51.5t-51 -21.5t-51 21.5t-21 51.5q0 29 21 50t51 21zM1838 60q14 0 23 9.5t9 23.5q0 13 -9 22.5t-23 9.5t-23 -9.5t-9 -22.5 q0 -14 9 -23.5t23 -9.5zM1910 458q-19 20 -45 28v-201q26 -6 45 -27v-89q-14 14 -32 22.5t-40 8.5t-40 -8.5t-32 -22.5v593q0 30 21 51t51 21t51 -21t21 -51v-304z" /> +<glyph unicode="R" horiz-adv-x="1606" d="M185 1182h127v-37h-127v37zM185 843h127v-38h-127v38zM185 778h127v-37h-127v37zM784 670h-531v37h531v-37zM435 981v-36h-182v36h182zM1461 -16q30 0 56 -4t45.5 -11.5t30.5 -17.5t11 -21t-11 -20.5t-30.5 -17t-45.5 -11.5t-56 -4q-18 0 -40 0.5t-44.5 2t-44 4 t-39.5 7.5q-4 -44 -13.5 -72.5t-22.5 -28.5h-869q-13 0 -22.5 28.5t-13.5 72.5q-18 -5 -40 -7.5t-44.5 -4t-44.5 -2t-40 -0.5q-29 0 -55 4t-45.5 11.5t-30.5 17t-11 20.5t11 21t30.5 17.5t45.5 11.5t55 4q18 0 40 -1t44.5 -3t44.5 -5.5t40 -8.5q4 45 13.5 74.5t22.5 29.5 h869q13 0 22.5 -29.5t13.5 -74.5q18 5 39.5 8.5t44 5.5t44.5 3t40 1zM732 825q-61 54 -94 128t-33 155q0 71 24.5 136t71.5 118q57 63 131 94.5t153 31.5q68 0 133.5 -24t119.5 -72q61 -54 94 -128.5t33 -155.5q0 -108 -57 -200l240 -214q22 -20 22 -48q0 -24 -17 -44 q-19 -22 -50 -22q-26 0 -43 16l-239 214q-51 -41 -112 -61t-124 -20q-68 0 -133 23.5t-120 72.5zM782 1290q-34 -38 -51.5 -84.5t-17.5 -97.5q0 -58 23 -111t67 -92q39 -35 86 -52t96 -17q57 0 110 22.5t94 68.5q33 38 51 84t18 97q0 59 -23.5 112t-67.5 92q-39 35 -86 52 t-96 17q-57 0 -109.5 -23t-93.5 -68zM1069 245q9 0 9 -11v-38q0 -10 -9 -10h-908q-10 0 -10 10v38q0 11 10 11h908zM806 1078q-9 8 -13 18.5t-4 21.5q0 22 14 36q16 18 40 18q20 0 36 -14l93 -84l144 154q8 9 18 13t21 4q10 0 19.5 -3t17.5 -11q17 -16 17 -40 q0 -10 -3 -19.5t-11 -17.5l-180 -193q-15 -17 -40 -17q-19 0 -35 14zM310 365q35 0 63 11.5t49.5 32t37 47t25.5 56.5h-475q-10 0 -10 10v819q0 9 10 9h626q-25 -35 -42 -77h-516v-684h1068v126q20 8 39 18.5t38 22.5v-234q0 -10 -10 -10h-475q10 -30 26.5 -56.5t39 -46.5 t51.5 -32t64 -12h7h13t12.5 -0.5t6.5 -1.5l102 -70q4 -4 4 -11q-2 -7 -10 -7h-878q-9 0 -10 10q0 5 4 8l102 70q0 1 6 1.5t12.5 0.5h12.5h7zM580 981l6 -18t7 -18h-122v36h109zM564 1049l7 -37h-318v37h311zM560 1117v-9v-14t1 -14h-308v37h307zM253 911h356 q5 -11 10.5 -19.5t11.5 -17.5h-378v37z" /> +<glyph unicode="S" horiz-adv-x="1148" d="M437 704q8 -2 19.5 -13t26 -28.5t31.5 -38.5t37 -43l-16 82q-1 2 -1 7q0 13 10.5 24t26.5 11q10 0 22 -6q7 -5 14 -18.5t15 -33t17.5 -44t20.5 -50.5q-23 -23 -57 -23q-57 0 -101 21.5t-81 49.5l-29 52q-4 5 -4 15q0 13 9.5 25t28.5 12q7 0 11 -1zM1148 286v-496 l-323 177q-5 23 -8 45t-3 43q0 63 20.5 114.5t49 90.5t59.5 64t53 36zM893 322q-35 -34 -66.5 -85t-42.5 -118q-19 18 -49.5 38.5t-65.5 40t-70.5 36t-62.5 27.5q-21 8 -44.5 31t-48.5 53.5t-51 66t-52 68t-50.5 60t-46.5 42.5q-24 17 -34.5 33t-10.5 30t9 22t24 8 q30 0 56.5 -13t53.5 -32.5t55 -42.5t59.5 -42.5t68.5 -32.5t82 -13q21 0 36.5 7.5t29 21.5t26.5 33.5l29 43.5q23 35 43.5 56.5t39.5 21.5q13 0 24 -11q9 -8 12.5 -19.5t3.5 -25.5q0 -22 -6.5 -47.5t-15.5 -53.5l-4 -12q-3 -11 -3 -21q0 -18 9.5 -34.5t21.5 -35t24 -43 t17 -58.5zM367 740q-30 0 -56 12.5t-43 35.5h-71q-56 0 -106.5 22t-88.5 64q-2 4 -2 6t1 3q1 5 8 5h1006q7 0 9 -7q0 -3 -2 -7q-38 -42 -88.5 -64t-106.5 -22h-71q-17 -23 -42.5 -35.5t-55.5 -12.5h-291zM220 915q-11 0 -11 11v340q0 10 11 10h261q-11 9 -18 21.5t-7 27.5 q0 13 5.5 24.5t13.5 19.5q-4 20 -20.5 34t-38.5 14q-6 0 -10.5 4t-4.5 10t4.5 10.5t10.5 4.5q30 0 53.5 -17.5t31.5 -45.5q10 2 15 2q25 0 42.5 -17.5t17.5 -42.5q0 -15 -7 -27.5t-18 -21.5h254q10 0 10 -10v-340q0 -11 -10 -11h-585zM535 1363q-8 0 -13 -4.5t-5 -11.5 t5 -12t13 -5q7 0 11.5 5t4.5 12q0 16 -16 16zM230 1153v-114h26q2 9 12 9q9 0 11 -9h515v114h-506q0 -5 -3 -8.5t-8 -3.5t-8.5 3.5t-3.5 8.5h-35zM305 1117q-5 0 -8.5 3.5t-3.5 8.5t3.5 8.5t8.5 3.5q12 0 12 -12q0 -5 -3.5 -8.5t-8.5 -3.5zM302 1092q0 12 12 12 q5 0 8.5 -3.5t3.5 -8.5t-3.5 -8.5t-8.5 -3.5t-8.5 3.5t-3.5 8.5zM337 1054q-6 0 -6 6t6 6t6 -6t-6 -6zM389 1084q-6 0 -6 6q0 7 6 7t6 -7q0 -6 -6 -6zM410 1130q-6 0 -6 6t6 6t6 -6t-6 -6zM265 1102q-6 0 -6 6t6 6q7 0 7 -6t-7 -6zM483 1071q-6 0 -6 7q0 6 6 6t6 -6 q0 -7 -6 -7zM536 1115q-6 0 -6 6q0 7 6 7t6 -7q0 -6 -6 -6zM632 1087q-7 0 -7 6t7 6q6 0 6 -6t-6 -6zM606 1058q-6 0 -6 6t6 6t6 -6t-6 -6zM367 1115q-12 0 -12 12q0 5 3.5 8.5t8.5 3.5t8.5 -3.5t3.5 -8.5t-3.5 -8.5t-8.5 -3.5zM425 1047q-5 0 -8.5 3.5t-3.5 8.5t3.5 8.5 t8.5 3.5q12 0 12 -12q0 -5 -3.5 -8.5t-8.5 -3.5zM438 1108q-5 0 -8.5 3.5t-3.5 8.5t3.5 8.5t8.5 3.5t8.5 -3.5t3.5 -8.5q0 -12 -12 -12z" /> +<glyph unicode="T" horiz-adv-x="1627" d="M1622 136q0 -28 -5 -64.5t-18.5 -74.5t-37 -75t-60.5 -66t-88.5 -46.5t-120.5 -17.5q-63 0 -113 18t-90 49t-72 72t-59 87q-91 -25 -196 -25q-112 0 -212 30t-185 82t-152.5 123.5t-114.5 153.5t-72.5 172t-25.5 180t25.5 180t72.5 172.5t114.5 153.5t152.5 123.5 t185 82.5t212 30t212.5 -30t185.5 -82.5t152.5 -123.5t114.5 -153.5t72.5 -172.5t25.5 -180q0 -80 -20 -160.5t-58.5 -156t-93.5 -143t-124 -121.5q38 -52 80.5 -87t86.5 -35q37 0 59.5 15.5t35 34.5t17 36t4.5 19h110zM762 151q63 0 116 15q-26 48 -52.5 91.5t-58 76 t-70 52t-87.5 19.5q-13 0 -22 -1.5t-16 -3.5q-8 -3 -13 -5l-40 89q24 20 59 36q30 14 75 25.5t107 11.5q108 0 197.5 -50.5t143.5 -144.5q35 75 51.5 169t16.5 203q0 127 -22.5 234t-71.5 184.5t-126.5 121t-186.5 43.5t-186 -43.5t-126 -121t-71.5 -184.5t-22.5 -234 t22.5 -234t71.5 -184.5t126 -121t186 -43.5z" /> +<glyph unicode="U" horiz-adv-x="1432" d="M1432 -75q0 -31 -22 -53t-54 -22h-1281q-31 0 -53 22t-22 53v628q0 11 5 26l3 5q2 6 3 7l640 1068q11 17 28 27t37 10t37 -10t27 -27l637 -1061l7 -14l2 -3q6 -14 6 -29v-627zM1281 477h-1130v-156h1130v156zM811 1243q0 8 -7 12q-6 8 -16 8h-145q-8 0 -16 -8 q-4 -2 -5 -6.5t-1 -6.5l11 -303q0 -6 6.5 -10.5t15.5 -4.5h123q8 0 14.5 4.5t7.5 10.5zM801 818q0 8 -6.5 14.5t-15.5 6.5h-127q-9 0 -15 -6.5t-6 -14.5v-126q0 -9 6 -15.5t15 -6.5h127q9 0 15.5 6.5t6.5 15.5v126zM1281 1v156h-1130v-156h1130z" /> +<glyph unicode="V" horiz-adv-x="1703" d="M1658 1322q45 -80 45 -168q0 -90 -44.5 -169.5t-128.5 -127.5q-58 -33 -123 -42v-522q0 -21 -44 -40t-119.5 -33.5t-177.5 -22.5t-218 -8t-218 8t-178 22.5t-120 33.5t-44 40v524q-75 11 -139 54t-104 114q-23 40 -34 82.5t-11 85.5q0 90 44.5 169.5t128.5 127.5 q40 23 82.5 33.5t85.5 10.5q65 0 122 -22q31 65 82 118t121 86q44 21 89.5 31t91.5 10q60 0 117 -16.5t107 -47.5t91 -76.5t68 -102.5q1 -2 1 -3t1 -2q62 25 129 25q90 0 169.5 -44t127.5 -128zM1407 143v-167q0 -21 -44 -40t-119.5 -33.5t-177.5 -22.5t-218 -8t-218 8 t-178 22.5t-120 33.5t-44 40v167q0 -21 44 -40t120 -33.5t178 -22.5t218 -8t218 8t177.5 22.5t119.5 33.5t44 40z" /> +<glyph unicode="W" horiz-adv-x="2086" d="M1970 461q46 -34 75.5 -75t40.5 -82l-47 -70q-4 0 -8 -0.5t-8 -0.5q-38 0 -80.5 15.5t-84.5 45.5q-32 23 -57 51.5t-40 57.5q-39 -51 -90 -109t-112 -119q-65 -65 -127 -119t-115.5 -93t-94.5 -61t-64 -22q-12 0 -18 6l-91 91q6 -6 18 -6q23 0 64 22t94.5 61t115.5 93 t127 119t119.5 127.5t93.5 116t61 94.5t22 64q0 12 -6 18l91 -91q6 -6 6 -18q0 -19 -19 -59q32 -5 66.5 -19t67.5 -38zM1661 783q6 -6 6 -18q0 -23 -22 -64t-61 -94.5t-93.5 -116t-119.5 -127.5t-127 -119t-115.5 -93t-94.5 -61t-64 -22q-12 0 -18 6l-67 66l-748 748 q-69 69 -103 154.5t-34 175.5t34 175.5t103 154.5t154 102.5t175 33.5t175.5 -33.5t154.5 -102.5q10 -10 19.5 -20.5t18.5 -21.5q3 41 20 79t49 70q35 35 79 52.5t91 17.5q46 0 90.5 -17.5t79.5 -52.5q26 -26 41.5 -56t23.5 -62l166 -569zM956 965l208 207l-94 94l-208 -207 l-207 207l-94 -94l208 -207l-208 -208l94 -93l207 207l208 -207l94 93z" /> +<glyph unicode="X" horiz-adv-x="1497" d="M1459 1688q15 0 26.5 -11t11.5 -27v-1345q0 -16 -11.5 -27t-26.5 -11h-1212q-35 0 -66.5 -13.5t-54.5 -36.5t-36.5 -54t-13.5 -66q0 -36 13.5 -67t36.5 -54t54.5 -36.5t66.5 -13.5h1212q15 0 26.5 -11t11.5 -27t-11.5 -27t-26.5 -11h-1212q-51 0 -96 19.5t-78.5 53 t-53 78.5t-19.5 96v1344q0 51 19.5 96t53 78.5t78.5 53t96 19.5h1212zM1459 61q15 0 26.5 -11t11.5 -27t-11.5 -27t-26.5 -11h-1212q-16 0 -27 11t-11 27t11 27t27 11h1212zM1459 197q15 0 26.5 -11t11.5 -27t-11.5 -27t-26.5 -11h-1212q-16 0 -27 11t-11 27t11 27t27 11 h1212z" /> +<glyph unicode="Y" horiz-adv-x="1797" d="M1402 933q-33 -39 -78 -59t-93 -20q-42 0 -81 15l-184 -235l534 -600q13 -15 19 -33t6 -36q0 -23 -9.5 -44.5t-28.5 -38.5q-31 -25 -70 -25q-23 0 -45 9.5t-37 29.5l-476 601l-473 -604q-17 -20 -40 -30.5t-48 -10.5q-20 0 -39 6.5t-36 20.5q-20 17 -31 41t-11 49 q0 20 7 38.5t21 34.5l537 598l-210 266q-30 -8 -60 -8q-39 0 -80.5 12t-83 34.5t-82 55.5t-76.5 76q-34 40 -61 85.5t-46 92.5t-29.5 93t-10.5 88q0 46 13 83.5t42 61.5q41 34 105 34q44 0 94 -15.5t99.5 -44t96.5 -67.5t86 -85q61 -73 92 -151.5t31 -148.5q0 -29 -9 -55.5 t-13 -49.5l210 -237l183 203q-32 55 -32 116q0 38 13 74.5t39 68.5l383 457q8 10 19.5 14.5t23.5 4.5q18 0 35 -12q19 -17 19 -42q0 -19 -13 -35l-243 -290l47 -39l243 290q15 19 41 19q22 0 36 -13q10 -8 14.5 -19t4.5 -22q0 -9 -3 -18t-10 -17l-243 -290l47 -40l243 290 q17 20 42 20q9 0 18 -3t17 -10q19 -16 19 -42q0 -20 -12 -35l-383 -457v0z" /> +<glyph unicode="Z" horiz-adv-x="1837" d="M391 1574q-14 0 -24.5 10t-10.5 24t10.5 24.5t24.5 10.5q36 0 68.5 -11.5t59.5 -31.5t47 -47.5t30 -60.5q18 5 36 5q30 0 56 -11.5t45.5 -31t31 -46t11.5 -56.5t-11.5 -56t-31 -45.5t-45.5 -31t-56 -11.5t-56.5 11.5t-46 31t-31 45.5t-11.5 56q0 32 12.5 59t33.5 47 q-5 25 -18 46t-31.5 36.5t-42.5 24.5t-50 9zM676 1445q-17 0 -29 -11.5t-12 -28.5t12 -28.5t29 -11.5t28.5 11.5t11.5 28.5t-11.5 28.5t-28.5 11.5zM1639 256q5 0 10.5 0.5t10.5 1.5l29 -341q0 -20 -16 -30q-10 -7 -22 -7q-9 0 -17 4l-236 116l-237 -116q-7 -4 -17 -4 q-13 0 -21 7q-17 9 -17 35l29 336q5 -1 11 -1.5t12 -0.5q12 0 26 3l72 17l48 -56q18 -20 42.5 -31t51.5 -11t51.5 11t41.5 31l49 56l72 -17q13 -3 27 -3zM1398 949q49 0 92 -18.5t75 -50.5t50.5 -75t18.5 -92t-18.5 -92t-50.5 -75t-75 -50.5t-92 -18.5t-92 18.5t-75 50.5 t-50.5 75t-18.5 92t18.5 92t50.5 75t75 50.5t92 18.5zM1830 610q6 -11 6 -24q0 -10 -2 -15q-6 -21 -27 -29l-110 -47l-10 -119q-2 -22 -20 -34q-12 -9 -28 -9q-7 0 -11 1l-116 26l-78 -90q-14 -16 -36 -16t-36 16l-79 90l-116 -26q-4 -1 -11 -1q-16 0 -28 9q-17 13 -19 34 l-11 119l-110 47q-20 8 -26 29q-3 7 -3 15q0 12 7 24l61 103l-61 102q-7 12 -7 24q0 8 3 16q6 19 26 29l110 46l11 119q2 22 19 35q12 9 28 9q7 0 11 -1l116 -27l79 90q14 16 36 16t36 -16l78 -90l116 27q4 1 11 1q16 0 28 -9q18 -12 20 -35l10 -119l110 -46q21 -10 27 -29 q2 -4 2 -8v-8q0 -14 -6 -24l-62 -102zM1398 414q61 0 115.5 23.5t95 64t64 95t23.5 116.5q0 61 -23.5 115.5t-64 95t-95 64t-115.5 23.5q-62 0 -116.5 -23.5t-95 -64t-64 -95t-23.5 -115.5q0 -62 23.5 -116.5t64 -95t95 -64t116.5 -23.5zM1038 374q2 -21 11 -40t24 -34 l-6 -69q-90 -27 -201.5 -41t-228.5 -14q-82 0 -162.5 7t-153 20.5t-134 34t-104.5 47.5v-138q0 -18 36 -43t106.5 -47.5t174 -38.5t237.5 -16q137 0 240.5 16t173.5 39l-7 -89q-88 -24 -193 -36.5t-214 -12.5q-119 0 -233 14.5t-204 43t-145 71.5t-55 99v959q0 43 33 77.5 t89.5 61.5t132.5 45.5t162 29.5q6 -40 25 -74t48 -59.5t66 -40t78 -14.5t78 14.5t66 40t48 60t25 74.5q75 -9 143 -24t122.5 -36.5t93 -49t54.5 -60.5l-6 -8l-71 17q-14 3 -27 3q-40 0 -72 -23q-22 -16 -35 -39.5t-15 -49.5l-7 -72l-67 -29q-71 -14 -153.5 -22t-173.5 -8 q-95 0 -181 8.5t-158 24.5t-127 37t-88 47v-188q0 -18 36 -43t106.5 -47.5t174 -38.5t237.5 -16q88 0 162 7.5t136 18.5l10 -17l-37 -63q-18 -29 -18 -63q0 -19 6 -37l2 -4q-63 -10 -128.5 -14.5t-132.5 -4.5q-82 0 -162.5 7t-153 20.5t-134 34t-104.5 47.5v-138 q0 -18 36 -43t106.5 -47.5t174 -38.5t237.5 -16q129 0 228.5 14.5t169.5 35.5z" /> +<glyph unicode="a" horiz-adv-x="2931" d="M1335 191q-45 -6 -89 -22.5t-81.5 -51t-64.5 -92t-38 -144.5h-173q-36 0 -61 23q-21 19 -21 48v7q2 19 6.5 46t12.5 57h-585q11 84 42 130t72.5 67t89.5 24.5t93 3.5q34 0 64.5 9.5t53.5 26t36 39t13 47.5v57q38 -13 79.5 -28.5t80 -31t70.5 -31.5t51 -30 q14 -10 25 -24.5t20 -31.5q53 23 113 45.5t117 42.5v-71q0 -35 20 -64.5t54 -50.5zM430 102q15 0 25.5 10.5t10.5 25.5t-10.5 25.5t-25.5 10.5t-25.5 -10.5t-10.5 -25.5t10.5 -25.5t25.5 -10.5zM629 102q15 0 25.5 10.5t10.5 25.5t-10.5 25.5t-25.5 10.5t-25.5 -10.5 t-10.5 -25.5t10.5 -25.5t25.5 -10.5zM1527 589q17 -27 48 -27q15 0 29.5 6.5t25.5 20.5h14q-6 -37 -32 -61t-66 -24q-26 0 -47.5 10t-32.5 27q-12 -17 -33.5 -27t-47.5 -10q-40 0 -66 24t-31 61h13q11 -14 25.5 -20.5t29.5 -6.5q14 0 27 6.5t21 20.5q5 9 13.5 13t17.5 4 q18 0 31 -13q13 13 31 13q20 0 30 -17zM1154 1188q-42 7 -77 30.5t-58 62.5q-25 44 -25 94t25 94.5t71 70.5q22 13 46 19t48 6q17 0 34 -3.5t34 -9.5q17 37 45.5 66.5t67.5 47.5q24 11 49.5 16.5t50.5 5.5q67 0 125.5 -36t89.5 -101q17 8 35.5 11t36.5 3q50 0 94.5 -24.5 t70.5 -71.5q13 -23 18.5 -46t5.5 -47q0 -50 -24.5 -95t-71.5 -71q-32 -18 -68 -23v-213l-6 -83q18 -5 33 -25.5t15 -73.5q0 -25 -6 -49t-15.5 -44t-22.5 -35t-27 -21v-96q0 -23 -10.5 -44.5t-28.5 -35.5l-157 -125q-28 -22 -64 -22h-45q-36 0 -64 22l-157 125 q-18 14 -28 35.5t-10 44.5v96q-14 6 -27 21t-23 35t-15.5 44t-5.5 49q0 53 14.5 73.5t32.5 25.5l-6 83v214zM1779 792q0 9 -1 19.5t-3 19.5t-6 15.5t-11 6.5q-2 -1 -5.5 -5.5t-8.5 -17.5q-5 -12 -19 -12q-5 0 -7 1q-12 7 -12 18q0 3 2 9q0 1 3 3v89q-43 -10 -106.5 -16 t-138.5 -6t-138.5 6t-105.5 16v-89l2 -3q1 -3 1 -8q0 -13 -12 -19q-2 -1 -7 -1q-13 0 -19 12q-5 13 -8.5 17.5t-5.5 5.5q-7 0 -11 -6.5t-6.5 -15.5t-3 -19.5t-0.5 -19.5q0 -17 5.5 -36.5t13 -36.5t15.5 -28.5t13 -11.5q2 0 3 1q9 0 15 -6q6 -5 6 -14v-113q0 -30 24 -49 l157 -124q17 -14 39 -14h45q21 0 40 14l156 124q24 19 24 49v113q0 9 6 14q5 5 13 5h4q4 1 12.5 9.5t16 23.5t13.5 35.5t6 44.5zM1681 1500q-10 -6 -10 -18q0 -6 2 -9q6 -10 18 -10q6 0 9 2q25 14 52 14q7 0 13.5 -1t13.5 -3q42 -11 63 -49q13 -23 13 -51q0 -27 -13 -51.5 t-39 -38.5q-10 -4 -10 -16q0 -7 3 -11q5 -10 17 -10q5 0 10 3q35 20 53.5 53t18.5 71q0 18 -4.5 36t-14.5 35q-14 25 -36 42t-50 25q-20 6 -39 6q-37 0 -70 -19zM1045 1413q-5 -20 -5 -38q0 -37 19 -71q7 -10 17 -10q5 0 10 3q10 4 10 17q0 7 -2 10q-14 25 -14 51q0 16 4 28 q5 20 17.5 36t31.5 26q25 14 51 14q27 0 51.5 -13.5t38.5 -39.5l2 -3q2 -13 6 -26t10 -26q6 -11 18 -11q4 0 8 2q12 6 12 17q0 3 -2 9q-15 31 -15 65q0 43 23 80.5t65 56.5q30 15 64 15q26 0 52 -9q29 -11 50.5 -31t35.5 -47q5 -12 18 -12q2 0 8 2q12 7 12 19q0 2 -2 8 q-17 35 -45 60t-64 38q-16 6 -32 8.5t-33 2.5q-42 0 -81 -18q-45 -21 -72.5 -59t-35.5 -83q-40 34 -93 34q-37 0 -70 -18q-26 -14 -43 -36.5t-25 -50.5zM431 315q-37 -5 -73 -18.5t-66.5 -42t-52.5 -75t-31 -117.5h-141q-29 0 -50 19q-17 17 -17 39v6q2 19 7.5 49.5t16 62.5 t26.5 61t39 46q19 14 51 30t70.5 31.5t80 31t79.5 28.5v-57q0 -29 16.5 -53t44.5 -41zM284 1128q-34 5 -63.5 24.5t-47.5 51.5q-11 18 -15.5 37.5t-4.5 39.5q0 41 20 77t58 57q18 11 37 15.5t39 4.5q30 0 56 -10q14 30 37 54t55 39q39 18 82 18q55 0 103 -29t72 -83 q28 12 59 12q41 0 76.5 -20.5t57.5 -58.5q21 -36 21 -77t-20.5 -77t-58.5 -57q-24 -14 -55 -19v-174l-5 -67q14 -4 26.5 -21t12.5 -60q0 -20 -4.5 -39.5t-12.5 -36t-18.5 -28.5t-22.5 -17v-79q0 -39 -32 -65l-128 -102q-23 -18 -52 -18h-37q-14 0 -27.5 5t-24.5 13l-128 102 q-32 26 -32 65v79q-12 5 -22.5 17t-18.5 28.5t-12.5 36t-4.5 39.5q0 43 12.5 60t27.5 21l-5 67v175zM793 805q0 14 -3 31.5t-14 18.5q-1 -1 -4 -5t-7 -14q-5 -10 -16 -10q-4 0 -6 1q-10 5 -10 15q0 3 2 7q0 1 3 3v72q-35 -8 -87 -13t-113 -5q-62 0 -113.5 5t-85.5 13v-72 q0 -1 0.5 -1.5t0.5 -1.5q2 -4 2 -7q0 -10 -10 -15q-2 -1 -6 -1q-11 0 -16 10q-5 11 -7.5 14.5t-3.5 4.5q-11 -1 -14 -18.5t-3 -31.5q0 -7 3 -21.5t8 -30t13 -27.5t19 -13q4 0 10 -4q5 -5 5 -12v-92q0 -24 19 -40l128 -101q14 -11 32 -11h37q18 0 32 11l128 101q19 16 19 40 v92q0 7 5 12q6 4 14 4q4 0 10.5 7.5t13 19.5t11 28.5t4.5 36.5zM713 1382q-8 -5 -8 -14q0 -2 2 -8q5 -8 14 -8q4 0 8 2q18 11 40 11q12 0 24 -3q34 -9 51 -39q6 -10 8.5 -20.5t2.5 -21.5q0 -23 -11 -43t-31 -31q-8 -5 -8 -14q0 -5 2 -8q5 -8 14 -8q2 0 8 2q29 17 44 44 t15 58t-15 58q-24 41 -71 55q-13 4 -30 4q-15 0 -30 -4t-29 -12zM195 1312q-4 -15 -4 -32q0 -32 15 -57q5 -8 14 -8q5 0 8 2q8 5 8 14q0 2 -2 8q-11 20 -11 42q0 11 3 22q9 34 40 51q10 6 20.5 8.5t21.5 2.5q22 0 42 -11t31 -31l2 -3q2 -11 5 -21.5t8 -20.5t15 -10q2 0 6 2 q10 5 10 14q0 2 -2 8q-12 25 -12 52q0 35 19 65.5t53 46.5q25 12 53 12q23 0 41 -7q48 -17 70 -64q2 -5 6.5 -7t9.5 -2q4 0 6 1q5 2 7 6.5t2 9.5q0 4 -1 6q-14 29 -37 49t-52 31q-26 9 -53 9q-35 0 -66 -15q-36 -17 -59 -47.5t-29 -67.5q-33 28 -75 28q-32 0 -58 -16 q-20 -11 -34.5 -29t-20.5 -41zM2931 120q0 -11 -4.5 -21t-12.5 -18q-21 -19 -50 -19h-758q8 -30 12 -57t6 -46v-7q0 -29 -21 -48q-11 -11 -27.5 -17t-33.5 -6h-940q13 103 51 159.5t89 82t109.5 30t114.5 4.5q42 0 79.5 11.5t65.5 32t44 47.5t16 58v71q56 -20 116 -42.5 t114 -45.5q8 17 19 31.5t25 24.5q20 14 52 29.5t70 32.5q-23 6 -39.5 18t-27.5 23q-12 13 -21 28q28 9 51 27q19 16 35 42.5t16 71.5q0 17 -3 38q-5 26 -6.5 48.5t-1.5 42.5q0 43 7.5 76t18 58t23 43t21.5 30v175q-34 5 -63.5 24.5t-47.5 51.5q-11 18 -15.5 37.5t-4.5 39.5 q0 41 20 77t58 57q18 11 37 15.5t39 4.5q30 0 56 -10q14 30 37.5 54t55.5 39q19 9 39 13t41 4q27 0 54 -7.5t50.5 -21.5t42 -34.5t29.5 -47.5q28 12 59 12q41 0 77 -20.5t58 -58.5q11 -18 15.5 -37t4.5 -39q0 -41 -20 -77.5t-58 -57.5q-26 -14 -56 -19v-174q9 -12 21 -30 t23 -43.5t18.5 -59t7.5 -76.5q0 -20 -1.5 -42t-6.5 -47q-2 -11 -3 -21t-1 -19q0 -44 15.5 -71t35.5 -42q22 -18 51 -26q-9 -15 -21 -28q-11 -11 -27 -23t-39 -18q38 -17 70 -32.5t52 -29.5q23 -17 39 -46t26 -61t15.5 -62.5t7.5 -49.5v-6zM1334 -69q18 0 31 12.5t13 31.5 q0 18 -13 31t-31 13q-19 0 -31.5 -13t-12.5 -31q0 -19 12.5 -31.5t31.5 -12.5zM1578 -69q18 0 31 12.5t13 31.5q0 18 -13 31t-31 13q-19 0 -32 -13t-13 -31q0 -19 13 -31.5t32 -12.5zM2196 639q3 -24 10.5 -49.5t24.5 -39.5q25 -25 53 -44q23 -17 53 -30t59 -13 q28 0 56.5 13t51.5 30q26 19 51 44q12 11 19 28t11 36t5 36.5t1 29.5v17q0 7 6 12q4 4 13 4q4 0 10.5 7.5t13 19.5t11 28.5t4.5 36.5q0 14 -3 31.5t-14 18.5q-1 -1 -3.5 -4.5t-7.5 -14.5q-5 -10 -16 -10q-4 0 -6 1q-10 5 -10 15q0 3 2 7q0 1 3 3v72q-35 -8 -87 -13t-113 -5 q-62 0 -113.5 5t-85.5 13v-72q0 -1 0.5 -1.5t0.5 -1.5q2 -4 2 -7q0 -10 -10 -15q-2 -1 -6 -1q-12 0 -15 10q-5 11 -7.5 14.5t-4.5 4.5q-11 -1 -14 -18.5t-3 -31.5q0 -7 3 -21.5t8 -30t13 -27.5t19 -13q6 0 10 -4q5 -5 5 -12v-58zM2569 1382q-8 -5 -8 -14q0 -2 2 -8 q5 -8 15 -8q3 0 7 2q18 11 41 11q12 0 24 -3q32 -9 51 -39q11 -20 11 -42q0 -23 -11 -42.5t-32 -31.5q-8 -5 -8 -14q0 -5 2 -8q5 -8 14 -8q2 0 8 2q29 17 44 44t15 58t-15 58q-24 41 -71 55q-13 4 -30 4q-15 0 -30 -4t-29 -12zM2122 1354q10 6 20.5 8.5t21.5 2.5 q22 0 42 -11t31 -31l2 -3q3 -20 13 -42q5 -10 15 -10q3 0 7 2q9 4 9 14q0 2 -2 8q-12 25 -12 52q0 35 19 65.5t53 46.5q25 12 53 12q23 0 41 -7q48 -17 70 -64q2 -5 6.5 -7t9.5 -2q4 0 6 1q10 5 10 15q0 3 -2 7q-28 59 -89 80q-26 9 -53 9q-35 0 -66 -15 q-36 -17 -58.5 -47.5t-29.5 -67.5q-33 28 -75 28q-32 0 -58 -16q-20 -11 -34.5 -29t-20.5 -41q-2 -8 -3 -15.5t-1 -15.5q0 -31 15 -58q5 -8 14 -8q6 0 8 2q8 5 8 14q0 5 -2 8q-11 20 -11 42q0 11 3 22q9 34 40 51zM2286 102q15 0 25.5 10.5t10.5 25.5t-10.5 25.5t-25.5 10.5 t-25.5 -10.5t-10.5 -25.5t10.5 -25.5t25.5 -10.5zM2485 102q15 0 25.5 10.5t10.5 25.5t-10.5 25.5t-25.5 10.5t-25.5 -10.5t-10.5 -25.5t10.5 -25.5t25.5 -10.5zM2561 507q-15 -12 -34.5 -26t-41.5 -26t-45 -20t-44 -8q-22 0 -45 8t-45.5 19.5t-43 25.5t-35.5 26v-97 q0 -29 16 -53t45 -41q-32 -4 -62.5 -14t-58 -30.5t-50 -52t-37.5 -79.5q6 -14 10.5 -28.5t9.5 -28.5q13 77 44.5 118.5t72 61t87 22.5t90.5 3q34 0 64.5 9.5t53.5 26t36 39t13 47.5v98z" /> +<glyph unicode="b" horiz-adv-x="1424" d="M233 477v-143l411 -137l412 137v143l-412 -136zM430 1110q47 0 82 -29t44 -74q-19 -17 -30 -41t-11 -52q0 -27 10 -50t27.5 -40.5t40.5 -27.5t50 -10t50 10t40.5 27.5t27.5 40.5t10 50q0 26 -10 49.5t-27.5 41t-40.5 27.5t-50 10q-15 0 -32 -5q-9 29 -26.5 53.5t-41 42.5 t-52.5 28t-61 10q-13 0 -22 -9t-9 -22t9 -21.5t22 -8.5zM682 996q15 0 25.5 -10.5t10.5 -25.5t-10.5 -25.5t-25.5 -10.5q-14 0 -25 10.5t-11 25.5t11 25.5t25 10.5zM812 845q-20 -51 -65.5 -82.5t-103.5 -31.5q-57 0 -103 31.5t-66 81.5l-241 -80v-143l411 -137l412 137v143 zM414 1612v-181q0 -29 -19.5 -49t-48.5 -20t-49 20t-20 49v181q0 29 20 48.5t49 19.5t48.5 -19.5t19.5 -48.5zM931 1680q-29 0 -49 -19.5t-20 -48.5v-181q0 -29 20 -49t49 -20t48.5 20t19.5 49v181q0 29 -19.5 48.5t-48.5 19.5zM1161 1477h-103v-46q0 -26 -10 -49.5 t-27.5 -40.5t-40.5 -27t-49 -10t-49.5 10t-40.5 27t-27 40.5t-10 49.5v46h-331v-46q0 -26 -10 -49.5t-27.5 -40.5t-40.5 -27t-49 -10t-49.5 10t-40.5 27t-27 40.5t-10 49.5v46h-103q-24 0 -45 -9t-37 -24.5t-25 -37t-9 -45.5v-1228q0 -24 9 -45t25 -37t37 -25t45 -9h1045 q24 0 45 9t37 25t25 37t9 45v1228q0 24 -9 45.5t-25 37t-37 24.5t-45 9zM1189 133q0 -12 -8.5 -20t-19.5 -8h-1045q-11 0 -19.5 8t-8.5 20v880h398l3 5q-10 15 -25.5 24t-33.5 9q-38 0 -64 26t-26 63t26 63.5t64 26.5q69 0 127.5 -35t90.5 -95q48 -2 88 -25.5t65 -61.5h388 v-880zM1350 1361v-1228q0 -39 -15 -73.5t-40.5 -60.5t-60 -41t-73.5 -15h-1045q0 -30 21.5 -51.5t52.5 -21.5h971q54 0 102 20.5t84 56.5t56.5 84t20.5 102v1155q0 30 -21.5 51.5t-52.5 21.5z" /> +<glyph unicode="c" horiz-adv-x="1643" d="M1693 789q12 0 20.5 -8.5t8.5 -20.5q0 -11 -7 -20t-20 -9h-2l-277 10q-5 -17 -19.5 -27.5t-33.5 -10.5h-143q-13 0 -13 14t13 14h89v15h-89q-13 0 -13 14q0 13 13 13h89v16h-89q-13 0 -13 13q0 14 13 14h143q19 0 33.5 -10.5t19.5 -27.5zM359 703q-19 0 -33 10.5 t-20 27.5l-277 -10q-12 0 -20.5 8.5t-8.5 20.5q0 11 7 20t20 9h2l277 -11q6 17 20 27.5t33 10.5h143q13 0 13 -14q0 -13 -13 -13h-88v-16h87q14 0 14 -13q0 -14 -13 -14h-88v-15h87q14 0 14 -14t-14 -14h-142zM1136 956q-4 -4 -10 -4t-9 4q-4 4 -4 10t4 10l62 62l-10 11 l-63 -63q-4 -4 -10 -4t-9 4q-4 4 -4 10t4 10l62 62l-11 11l-62 -62q-5 -5 -10 -5q-6 0 -9 5q-5 3 -5 9q0 5 5 10l101 101q16 16 40 16q14 0 24 -5l188 203q10 8 21 8q10 0 20 -8q9 -9 9 -21q0 -13 -9 -20l-203 -189q6 -12 6 -25q0 -22 -17 -39zM584 1079l-11 -11l62 -62 q4 -4 4 -10t-4 -10t-10 -4t-9 4l-62 63l-11 -11l62 -62q4 -6 4 -10t-4 -10q-4 -4 -10 -4t-9 4l-101 101q-17 17 -17 39q0 13 6 25l-203 189q-8 7 -8 20t8 21t20 8q11 0 21 -8l188 -203q10 5 24 5q24 0 40 -16l101 -101q4 -6 4 -10q0 -5 -4 -9q-5 -5 -10 -5q-6 0 -9 5z M568 424q4 4 9 4q4 0 10 -4q4 -6 4 -10t-4 -10l-101 -100q-17 -17 -39 -17q-13 0 -25 6l-189 -203q-9 -9 -20 -9q-12 0 -21 9q-8 7 -8 20t8 21l204 188q-6 12 -6 25q0 23 16 39l101 101q6 4 10 4t10 -4q4 -6 4 -10q0 -5 -4 -9l-63 -63l11 -10l62 62q6 4 10 4t10 -4 q4 -6 4 -10q0 -5 -4 -9l-62 -63l10 -10zM1530 131q8 -10 8 -21q0 -12 -8 -20q-9 -9 -21 -9q-13 0 -20 9l-189 203q-10 -5 -24 -5q-11 0 -21.5 4t-18.5 12l-101 100q-4 4 -4 10t4 10q6 4 10 4t10 -4l62 -62l11 10l-63 63q-4 3 -4 9t4 10q6 4 10 4t10 -4l62 -62l11 10l-63 63 q-4 3 -4 9t4 10q6 4 10 4t10 -4l101 -101q16 -16 16 -40q0 -14 -5 -24zM904 358q13 0 13 -14v-142q0 -19 -10 -33t-27 -20l10 -277q0 -12 -8.5 -20.5t-20.5 -8.5q-11 0 -20 7t-9 20v2l10 277q-16 6 -26.5 20t-10.5 33v143q0 13 13 13q14 0 14 -13v-88h15v87q0 14 14 14 t14 -13v-88h15v87q0 14 14 14zM818 1143q-13 0 -13 14v143q0 18 10.5 32.5t26.5 20.5l-10 277q0 12 8.5 20.5t20.5 8.5q11 0 20 -7t9 -20v-2l-10 -277q17 -6 27 -20.5t10 -32.5v-143q0 -14 -13 -14q-14 0 -14 14v88h-15v-88q0 -14 -14 -14t-14 14v88h-15v-88q0 -14 -14 -14z M1071 699q3 -6 3 -10v-219q0 -15 -15 -15h-396q-6 0 -10.5 4t-4.5 11v222q0 2 2 4l118 210q16 -3 24 -18l-104 -184h347l-170 313l-35 -61q-12 10 -25 16l47 83q3 7 13 7q9 0 13 -7zM1044 548h-366v-64h366v64zM1044 674h-366v-63h366v63zM757 931q-6 0 -10.5 4t-4.5 11 q0 6 4.5 10.5t10.5 4.5q31 0 55.5 -18.5t32.5 -47.5q5 2 16 2q26 0 44 -18t18 -44t-18 -44t-44 -18t-44 18t-18 44q0 27 19 46q-5 21 -21.5 35.5t-39.5 14.5zM880 875q-8 0 -13 -5t-5 -12q0 -8 5 -13t13 -5q7 0 12 5t5 13q0 7 -5 12t-12 5z" /> +<glyph unicode="d" horiz-adv-x="1640" d="M816 59q112 0 210 8t171 21.5t115.5 31.5t42.5 39v-118q0 -21 -42.5 -39t-115.5 -31.5t-171 -21.5t-210 -8q-111 0 -209 8t-171 21.5t-115.5 31.5t-42.5 39v118q0 -21 42.5 -39t115.5 -31.5t171 -21.5t209 -8zM1597 1337q43 -76 43 -161q0 -43 -11 -84.5t-32.5 -79 t-52.5 -69t-71 -54.5q-28 -16 -58 -25.5t-60 -13.5v-599q0 -21 -42.5 -39t-115.5 -31.5t-171 -21.5t-210 -8q-111 0 -209 8t-171 21.5t-115.5 31.5t-42.5 39v599q-72 11 -134.5 52.5t-100.5 110.5q-22 38 -32.5 79t-10.5 83q0 43 11 84.5t32 78.5t52 68t71 54q38 22 79 32.5 t83 10.5q60 0 118 -22q29 63 78.5 114t117.5 83q84 39 173 39q57 0 112 -16t103.5 -46t88 -73.5t65.5 -98.5q2 -2 2 -5q60 25 125 25q43 0 84.5 -11t78.5 -32t68.5 -52t54.5 -71zM837 502h-117v-146h117v146zM1057 847q8 27 8 60q0 54 -20 94q-10 20 -22.5 36t-27.5 29 q-33 27 -71 38q-41 11 -79 11q-36 0 -69 -9t-63 -26q-14 -9 -27.5 -19.5t-24.5 -23.5q-23 -26 -36 -58l92 -64q4 8 9 14.5t11 14.5q12 16 28 28q17 13 34 20q19 8 42 8q18 0 38 -6q18 -6 32 -17q12 -11 22 -29q8 -15 8 -39q0 -30 -15 -52q-15 -23 -37 -40 q-11 -8 -22.5 -15.5t-23.5 -13.5q-11 -6 -21 -11.5t-18 -10.5q-52 -30 -69 -71q-17 -40 -17 -93h116q0 25 11 45q5 9 12.5 17t15.5 16q9 7 18.5 13.5t20.5 11.5q11 6 21 12t21 13q24 14 45 32q20 17 35 38q16 22 23 47zM1099 1405q19 9 19 31q0 7 -3 15q-28 60 -76 104 t-111 66q-57 20 -113 20q-72 0 -141 -32q-77 -36 -124.5 -101.5t-60.5 -143.5q-34 29 -75 44t-86 15q-64 0 -122 -32q-44 -25 -73.5 -63.5t-43.5 -86.5q-9 -33 -9 -66q0 -66 33 -123q5 -8 13 -12.5t17 -4.5t17 4q17 11 17 30q0 9 -5 17q-23 43 -23 89q0 24 6 47 q20 72 85 109q42 24 88 24q47 0 89 -23.5t67 -67.5l4 -6q4 -23 10.5 -45.5t17.5 -44.5q10 -20 31 -20q5 0 15 4q19 9 19 31q0 7 -3 15q-25 53 -25 111q0 74 39.5 139t111.5 99q55 26 112 26q23 0 44.5 -4t43.5 -12q50 -18 88 -52.5t61 -82.5q9 -20 31 -20q7 0 15 3z M1434 959q60 35 93 93.5t33 123.5q0 63 -33 122q-25 43 -63.5 73t-86.5 43q-33 9 -66 9q-64 0 -122 -32q-18 -11 -18 -30q0 -9 5 -17q10 -18 29 -18q9 0 17 5q40 24 89 24q12 0 24 -2t24 -5q35 -10 63 -31.5t45 -52.5q24 -42 24 -89t-23.5 -89t-67.5 -67q-17 -11 -17 -30 q0 -9 4 -17q5 -8 13 -12.5t17 -4.5q10 0 17 4z" /> +<glyph unicode="e" horiz-adv-x="3596" d="M3263 381q-15 -20 -23.5 -43.5t-8.5 -49.5t8.5 -50t23.5 -44h-225q-20 0 -37 7.5t-29.5 20t-20 29.5t-7.5 37q0 19 7.5 36t20 29.5t29.5 20t37 7.5h225zM3426 381q19 0 36 -7t29.5 -20t20 -30t7.5 -36q0 -20 -7.5 -37t-20 -29.5t-29.5 -20t-36 -7.5q-20 0 -37 7.5 t-29.5 20t-20 29.5t-7.5 37q0 19 7.5 36t20 29.5t29.5 20t37 7.5zM2875 379q-15 -20 -23.5 -43.5t-8.5 -49.5q0 -27 8.5 -50.5t23.5 -43.5h-1164q-110 0 -205 -22.5t-183 -55.5t-174 -72.5t-179 -72.5t-197 -55.5t-228 -22.5q-95 0 -192 27.5t-175.5 79t-128 124.5 t-49.5 164t49.5 164t128 124.5t175.5 79t192 27.5q124 0 228 -22.5t197 -56t179 -72.5t174 -72.5t183 -56t205 -22.5h1164zM868 61q112 38 174 98t62 128q0 57 -42.5 107t-115.5 87.5t-171.5 59t-209.5 21.5q-45 0 -90.5 -7t-88 -19.5t-80.5 -31t-68 -41.5q-8 -6 -8 -16 q0 -6 2 -9q5 -11 18 -11q4 0 6 1q43 14 87.5 20.5t88.5 6.5q101 0 191.5 -18.5t159 -50.5t108.5 -74.5t40 -90.5q0 -21 -7.5 -39t-19 -34t-26 -29t-28.5 -23q-9 -6 -9 -17q0 -3 2 -9q7 -10 18 -10q5 0 7 1zM3595 1218q0 -5 0.5 -9t0.5 -7q0 -4 -0.5 -8t-0.5 -9 q-3 -92 -34 -166.5t-86.5 -127.5t-132.5 -81.5t-171 -28.5q-57 0 -143.5 12t-189.5 33t-215 49.5t-219.5 61.5t-203 68.5t-164.5 71.5l-138 71q-15 -29 -42 -47t-62 -18h-1589q-25 0 -46.5 9.5t-37.5 25.5t-25.5 37.5t-9.5 46.5q0 24 9.5 45.5t25.5 37.5t38 25.5t46 9.5 h1589q35 0 62.5 -18t41.5 -47q35 17 69 35t69 36q69 36 164.5 72.5t202.5 69.5t219.5 61t215.5 48.5t189.5 32.5t143.5 12q94 0 171 -28.5t132.5 -81.5t86.5 -127.5t34 -166.5zM209 1137q27 0 45.5 19t18.5 46q0 26 -18.5 45t-45.5 19t-46 -19t-19 -45q0 -27 19 -46t46 -19z M3171 1533q-45 0 -119 -8.5t-164.5 -24.5t-190.5 -37.5t-195 -47t-179 -54.5t-142 -59q58 11 141 21.5t177.5 19.5t194 16.5t190.5 13t166 8.5t121 3q115 0 190.5 -13.5t123.5 -34.5q-33 94 -113 145.5t-201 51.5zM3171 870q121 0 201 51.5t113 145.5q-48 -21 -123.5 -34.5 t-190.5 -13.5q-46 0 -121 3t-166 8.5t-190.5 13t-194 16.5t-177.5 19.5t-141 21.5q58 -30 142 -59t179 -54.5t195 -47t190.5 -37.5t164.5 -24.5t119 -8.5zM3171 1108q92 0 156 9.5t104 23.5t58 30.5t18 30.5q0 13 -18 29.5t-58 30.5t-104 23.5t-156 9.5q-49 0 -127.5 -3.5 t-173.5 -10t-199.5 -15t-204 -19t-188 -22t-150.5 -23.5q62 -12 150.5 -24t188 -22.5t204 -19t199.5 -15t173.5 -10t127.5 -3.5z" /> +<glyph unicode="f" horiz-adv-x="3882" d="M849 598h172v-237h-172v-315h-263v315h-586v235l668 841h181v-839zM616 1041l-351 -443h351v443zM3882 598v-237h-172v-315h-263v315h-586v235l668 841h181v-839h172zM3476 1041l-351 -443h351v443zM2671 907q29 0 55 -11t45.5 -30.5t30.5 -45t11 -54.5t-11 -54.5 t-29.5 -44.5t-44 -30.5t-54.5 -12.5q40 -17 62.5 -52.5t22.5 -77.5q0 -29 -10 -53q-17 -42 -53 -64.5t-78 -22.5q-29 0 -53 10q-5 2 -9 4t-8 5q4 -3 7.5 -6t6.5 -7q20 -21 30.5 -47t10.5 -53t-10.5 -53t-30.5 -47q-20 -20 -46 -30.5t-53 -10.5q-56 0 -99 40q10 -24 10 -53 q0 -42 -22.5 -77.5t-63.5 -52.5q-28 -11 -54 -11q-42 0 -78 23t-53 64q-5 9 -6 18q1 -5 1 -9.5v-9.5q0 -29 -11 -55t-30 -45t-45 -30t-55 -11t-54.5 11t-44.5 29.5t-30 43.5t-12 54q-17 -40 -52.5 -62.5t-77.5 -22.5q-26 0 -53 11q-41 17 -64.5 52.5t-23.5 77.5q0 26 11 54 q2 5 4 8.5t4 8.5l-12 -15q-21 -20 -47 -30.5t-53 -10.5t-53 10.5t-46 30.5q-21 21 -31.5 47.5t-10.5 53.5q0 26 9.5 51.5t29.5 45.5q-24 -10 -51 -10q-42 0 -78 23t-53 64q-11 28 -11 54q0 42 23 78t64 53l18 6q-5 -1 -9.5 -1.5t-9.5 -0.5q-29 0 -55 11t-45 30.5t-30 45.5 t-11 55q0 28 10.5 53.5t29.5 44.5t44 30.5t54 11.5q-40 17 -62.5 53t-22.5 78q0 29 10 53q17 42 53.5 64.5t78.5 22.5q29 0 53 -10l16 -8q-8 6 -14 12q-21 20 -31 46t-10 53t10 53t31 47t47 31.5t53 10.5q55 0 98 -40q-10 24 -10 52q0 42 23 77.5t63 52.5q14 6 27.5 8.5 t27.5 2.5q42 0 77.5 -22.5t52.5 -63.5q4 -9 6 -18q-1 5 -1 9.5v9.5q0 29 11 54.5t30 45t45 30.5t55 11t54.5 -11t44.5 -29.5t30.5 -44t11.5 -53.5q17 40 53 62.5t77 22.5q26 0 53 -11q42 -17 65 -53t23 -78q0 -29 -10 -53l-9 -17l12 14q20 20 46.5 30.5t53.5 10.5t53 -10.5 t47 -30.5t31.5 -46t10.5 -53q0 -26 -10 -52t-30 -46q24 10 51 10q42 0 78 -23t53 -64q11 -28 11 -54q0 -42 -23 -78t-64 -53l-17 -6q5 1 9 1.5t9 0.5zM2678 692q17 0 33 8t29 22t20.5 32.5t7.5 39.5v9l-2 19l-18 -7q-9 -3 -17 -3q-12 0 -23.5 6.5t-22.5 6.5 q-14 5 -29.5 10.5t-33.5 5.5q-28 0 -52.5 -20.5t-33.5 -61.5l-6 1v6q0 49 30 86.5t75 49.5q-5 -1 -14 -1q-29 0 -53 15.5t-36 44.5q-12 27 -12 47q0 22 9.5 36.5t23.5 20.5q12 5 25.5 6t27.5 1q15 0 31.5 1.5t32.5 9.5q2 -8 2 -14q0 -23 -15.5 -48t-44.5 -42q2 -2 6 -3 q6 -3 15 -3t17 4q23 10 37.5 34.5t14.5 53.5q0 25 -12 48l-9 18l-14 -14q-11 -11 -26 -13t-32 -3h-4q-14 0 -30.5 -1t-33.5 -8q-22 -9 -35.5 -30.5t-13.5 -53.5v-12t2 -13l-6 -1q-2 4 -2 5q-11 25 -11 54q0 28 10.5 53.5t29.5 45.5q-17 -6 -33 -6q-18 0 -35.5 7.5 t-31.5 22.5q-18 18 -26 35.5t-8 32.5q0 22 14 36q10 10 21.5 16t24.5 11q14 6 29.5 13.5t26.5 21.5q12 -17 12 -44q0 -18 -6 -37.5t-20 -37.5h5q5 0 13.5 2t17.5 11q22 22 22 59q0 22 -9 44t-28 38l-15 13l-8 -18q-3 -5 -9.5 -12t-14 -13t-15.5 -10t-14 -4q-1 -1 -2 -1 t-3 -1q-13 -5 -25.5 -12t-23.5 -18t-17 -25.5t-6 -31.5q0 -14 4.5 -30t15.5 -32l-5 -3q-1 1 -1.5 2t-2.5 2q-20 20 -30.5 46t-10.5 53q0 39 19 71q-31 -39 -77 -39q-20 0 -37 7q-34 14 -48.5 33.5t-14.5 37.5q0 8 4 18q5 13 13.5 22.5t18.5 20.5q11 11 21.5 23.5t16.5 29.5 q16 -10 26.5 -31.5t10.5 -48.5q0 -14 -5 -34q6 0 11 4q11 5 18 21q5 10 5 27q0 15 -5 30t-14.5 28.5t-23.5 24t-31 15.5l-19 6v-20q0 -16 -9 -28.5t-23 -26.5q-11 -11 -21.5 -23t-17.5 -28q-6 -14 -6 -29q0 -22 12 -43.5t37 -38.5l-3 -5l-5 2q-41 17 -64 52t-24 77 q-12 -26 -34.5 -40t-52.5 -14q-45 0 -66.5 19t-21.5 40q0 11 3 22t8 22q0 1 0.5 1.5t0.5 1.5l2 5q5 13 10 27t5 30v7q25 -5 47 -30.5t27 -63.5q4 3 8 8q3 5 5.5 11t2.5 15q0 17 -8 33t-22 29t-32.5 20.5t-39.5 7.5h-8l-20 -2l7 -18q2 -5 3 -9t1 -9q0 -10 -3 -19.5t-8 -20.5 q0 -2 -1 -2.5t-1 -2.5q-6 -14 -11 -29.5t-5 -33.5q0 -27 20.5 -52t61.5 -33l-2 -6h-5q-49 0 -86.5 29.5t-49.5 74.5q0 -3 0.5 -6.5t0.5 -6.5q0 -30 -15.5 -54t-44.5 -36q-28 -11 -48 -11q-22 0 -36.5 9t-19.5 23q-5 12 -6 25.5t-1 27.5q0 16 -2 32.5t-10 31.5q10 2 15 2 q23 0 48 -15t42 -44l3 6q1 3 2 6.5t1 8.5q0 9 -4 17q-10 23 -35 37t-54 14q-12 0 -24.5 -2.5t-23.5 -8.5l-17 -10l13 -14q12 -12 14 -27.5t2 -33.5q0 -15 1.5 -31.5t8.5 -32.5q9 -22 30.5 -36t52.5 -14h12t13 2l1 -6l-4 -2q-28 -11 -54 -11q-28 0 -54 10.5t-46 29.5 q6 -17 6 -33q0 -38 -29 -67q-19 -18 -36.5 -26t-32.5 -8q-22 0 -36 14q-9 10 -15 21.5t-11 25.5q-6 14 -13.5 29t-21.5 26q16 12 44 12q18 0 37.5 -6t36.5 -20v2q0 1 0.5 2t0.5 3q0 5 -2.5 13t-10.5 16q-11 11 -27 16.5t-33 5.5q-22 0 -43.5 -9t-37.5 -28l-13 -15l18 -8 q15 -7 22.5 -20.5t15.5 -30.5q5 -14 12.5 -28.5t20.5 -26.5q21 -23 56 -23q14 0 30 4.5t32 15.5l3 -6l-3 -3q-20 -21 -46 -31.5t-53 -10.5q-18 0 -36 4.5t-35 14.5q39 -31 39 -75q0 -18 -8 -39q-14 -33 -33.5 -47.5t-37.5 -14.5q-9 0 -18 3q-12 5 -22 13.5t-20 18.5 q-11 11 -24 22t-30 16q11 17 33 27t49 10q18 0 33 -4q-1 6 -4 11t-8 9t-13 8q-11 5 -28 5q-15 0 -30 -5t-28 -14.5t-23.5 -23t-15.5 -30.5l-6 -19h20q17 -1 29 -10.5t25 -22.5q11 -11 23 -21t29 -17q13 -6 28 -6q21 0 43.5 12t39.5 37l5 -4q-2 -2 -2 -5q-17 -40 -52 -63 t-77 -24q25 -12 39.5 -35t14.5 -52q0 -46 -19 -67t-41 -21q-14 0 -26 4t-25 9q-1 0 -1.5 0.5t-1.5 0.5q-13 5 -26.5 9.5t-27.5 4.5h-7q4 25 29.5 47t63.5 27l-8 8q-5 3 -11 6t-15 3q-19 0 -35 -9t-28 -23.5t-19 -32.5t-7 -37l1 -29l19 7q9 3 17 3q10 0 20.5 -3t21.5 -8 q1 0 1.5 -0.5t1.5 -0.5q14 -5 30 -10.5t33 -5.5q28 0 52.5 20.5t33.5 61.5l6 -2v-4q0 -50 -29.5 -87.5t-75.5 -49.5q5 1 15 1q30 0 53.5 -15.5t35.5 -43.5q11 -28 11 -48q0 -22 -9 -37t-23 -20q-13 -5 -26 -6t-27 -1q-16 0 -32.5 -1.5t-32.5 -9.5q-1 3 -1 6.5v6.5 q0 23 15 48.5t44 42.5q-3 1 -6 3l-6 2t-8 1q-10 0 -18 -4q-23 -10 -37.5 -34.5t-14.5 -53.5q0 -26 12 -48l9 -18l14 14q12 11 28 13t34 2q15 0 31 1.5t33 8.5q21 9 35.5 30.5t14.5 52.5q0 12 -3 26h7l2 -4q11 -28 11 -54q0 -28 -10.5 -53.5t-29.5 -45.5q8 3 15.5 4t15.5 1 q18 0 35.5 -7t32.5 -21q19 -19 26.5 -36.5t7.5 -32.5q0 -22 -14 -36q-9 -10 -21 -15.5t-25 -11.5q-14 -6 -29 -13.5t-26 -21.5q-13 19 -13 45q0 18 6.5 37.5t20.5 36.5h-5q-5 0 -13.5 -2t-17.5 -11q-11 -11 -16.5 -27t-5.5 -33q0 -22 9 -43.5t28 -37.5l14 -13l9 18 q6 12 22.5 25.5t30.5 13.5q14 6 28 13.5t25 18.5q23 23 23 57q0 31 -20 61l5 4q1 -2 2 -2.5t2 -1.5q20 -20 30.5 -46t10.5 -53q0 -39 -19 -71q31 39 76 39q18 0 39 -8q33 -14 47.5 -33t14.5 -37q0 -8 -4 -18q-5 -13 -13.5 -22.5t-18.5 -20.5l-3 -3q-10 -11 -19.5 -22.5 t-14.5 -28.5q-17 11 -27 32.5t-10 48.5q0 19 4 34q-6 -1 -11 -4t-10 -8t-8 -13q-5 -13 -5 -27q0 -29 19.5 -58t54.5 -40l19 -6v20q1 17 10 29t22 25l12 16q8 8 15.5 17t11.5 20q6 13 6 28q0 21 -12 43t-37 39l3 5l5 -2q41 -17 64 -52t24 -77q12 26 34.5 40t52.5 14 q45 0 66.5 -19t21.5 -41q0 -13 -4.5 -25.5t-9.5 -25.5t-9.5 -27.5t-4.5 -29.5v-7q-25 5 -47 30.5t-27 63.5q-5 -4 -9 -9q-3 -5 -5.5 -11t-2.5 -15q0 -19 9 -35t23.5 -28t32.5 -19t37 -7l28 1l-7 19q-3 9 -3 18q0 11 4 22t9 23q5 14 10 29.5t5 32.5q0 28 -20.5 53t-60.5 33 l1 6q2 0 2.5 0.5t2.5 0.5q49 0 86.5 -30t49.5 -75q0 3 -0.5 6.5t-0.5 6.5q0 30 15.5 54t44.5 36q14 6 26 8.5t23 2.5q22 0 36 -9t19 -23q5 -13 6 -26t2 -27q0 -16 1.5 -32.5t9.5 -31.5q-10 -2 -15 -2q-23 0 -47.5 15t-41.5 44q-2 -2 -3 -6q-3 -6 -3 -16q0 -7 3 -16 q10 -23 34.5 -37t53.5 -14q25 0 49 12l17 9l-13 14q-11 12 -13.5 27.5t-2.5 33.5q0 15 -1 31.5t-8 32.5q-10 22 -31.5 36t-53.5 14h-12t-12 -2l-1 6l5 2q13 6 26.5 8.5t27.5 2.5q28 0 53.5 -10.5t45.5 -29.5q-6 16 -6 33q0 38 29 67q19 18 36.5 26t32.5 8q22 0 36 -14 q9 -10 15 -21.5t11 -25.5q7 -14 14 -29t21 -26q-17 -12 -44 -12q-18 0 -37.5 6t-36.5 20q-1 -1 -1 -2v-5q0 -5 2.5 -13t10.5 -16q11 -11 27 -16.5t33 -5.5q22 0 43.5 9t38.5 28l13 15l-19 8q-6 3 -12.5 9t-12.5 13.5t-9.5 15.5t-3.5 15q-6 14 -13.5 28t-19.5 25 q-20 23 -56 23q-14 0 -30 -4.5t-32 -15.5l-3 6l3 3q20 20 46.5 30.5t53.5 10.5q39 0 71 -19q-39 31 -39 78q0 19 7 37q14 33 33.5 47.5t37.5 14.5q9 0 18 -3q12 -5 22 -13.5t20 -18.5q11 -11 24 -22t30 -16q-11 -17 -32.5 -27t-49.5 -10q-18 0 -33 4q1 -6 5 -11q3 -5 8 -9.5 t13 -7.5q11 -5 28 -5q29 0 57 19t39 54l6 19h-19q-17 1 -29.5 10.5t-25.5 22.5q-11 11 -23 21t-29 17q-14 6 -29 6q-21 0 -42.5 -11.5t-38.5 -37.5l-5 4q0 2 2 4q17 41 51.5 64t76.5 24q-25 12 -39.5 35t-14.5 52q0 46 19 67t41 21q11 0 22 -3t22 -8q1 0 1.5 -0.5t1.5 -0.5 l11 -4q12 -5 24 -8.5t26 -3.5h7q-4 -25 -29.5 -47t-63.5 -27q3 -5 8 -9q4 -3 10.5 -5.5t15.5 -2.5zM2142 850q10 -1 18.5 -6t15.5 -11q8 -7 14 -16q-20 -18 -48 -18h-7q17 -14 27 -32t10 -40q0 -24 -13 -50q-10 -19 -29 -34t-40.5 -25.5t-42 -16t-34.5 -5.5q-11 0 -15 3 q-11 5 -22 32t-16 60q-13 -26 -27 -43t-24 -20q-2 -1 -8 -1q-16 0 -43.5 11t-55.5 30t-52 45t-33 56q-7 24 -7 47q0 37 18 63t50 43q-42 5 -68 37q9 9 20 16q9 6 20.5 11t24.5 5h6q10 -2 17 -7q2 5 4.5 8.5t5.5 6.5q11 10 25.5 13t26.5 3q5 0 9.5 -0.5t7.5 -0.5q4 -1 7 -1 q-2 -40 -34 -69q5 1 9 1h9q39 0 71 -21.5t47 -70.5q4 -11 5 -23.5t1 -25.5q26 26 61 26q14 0 32 -5q-8 11 -12.5 22.5t-4.5 24.5q0 2 0.5 4.5t0.5 4.5q10 0 21 -3q8 -2 17.5 -6t15.5 -12q5 -6 6 -13q6 3 13 3zM1809 727q9 3 9 17q0 4 -2 12t-8 14t-11 6q-1 0 -1.5 -0.5 t-1.5 -0.5q-10 -2 -10 -18q0 -4 2 -10q2 -9 7.5 -15t11.5 -6q1 0 2 0.5t2 0.5zM1833 838q7 2 9.5 7t2.5 11q0 3 -0.5 5.5t-1.5 5.5q-2 8 -8 14t-11 6q-1 0 -1.5 -0.5t-1.5 -0.5q-10 -2 -10 -17q0 -3 0.5 -5.5t1.5 -5.5q6 -20 20 -20zM1875 802q2 -8 8 -14t11 -6q1 0 1.5 0.5 t1.5 0.5q10 2 10 17q0 3 -0.5 5.5t-1.5 5.5q-3 9 -8.5 15t-11.5 6q-1 0 -1.5 -0.5t-1.5 -0.5q-9 -3 -9 -17q0 -4 2 -12zM1915 698q9 1 9 17q0 4 -2 12t-8 14t-11 6q-1 0 -1.5 -0.5t-1.5 -0.5q-9 -2 -9 -17q0 -8 2 -12q2 -8 8 -14t11 -6q1 0 1.5 0.5t1.5 0.5zM1922 857 q10 2 10 17q0 4 -2 12t-7.5 14t-11.5 6q-1 0 -2 -0.5t-2 -0.5q-9 -3 -9 -17q0 -4 2 -12t8 -14t11 -6q1 0 1.5 0.5t1.5 0.5zM1931 793q6 -20 22 -20q10 3 10 18q0 3 -0.5 5.5t-1.5 5.5q-7 20 -23 20q-5 -2 -7 -7t-2 -11q0 -3 0.5 -5.5t1.5 -5.5zM2017 716q3 6 3 12q0 8 -5 11 q-1 1 -4 1q-9 0 -15 -13q-3 -6 -3 -12q0 -7 4 -10q1 -1 4 -1q9 0 16 12zM2058 644q3 6 3 12q0 8 -5 10q-1 1 -4 1q-8 0 -15 -12q-3 -6 -3 -12q0 -7 4 -10q1 -1 4 -1q9 0 16 12zM2069 772q-3 -6 -3 -12q0 -7 5 -10q1 -1 4 -1q8 0 15 12q3 6 3 12q0 7 -4 10q-1 1 -4 1 q-9 0 -16 -12zM2074 687q1 -1 3 -1q5 0 9.5 4t6.5 9q4 8 4 13q0 6 -5 9q-1 1 -4 1q-8 0 -15 -12q-4 -10 -4 -14q0 -6 5 -9zM2118 664q3 6 3 12q0 7 -4 10q-1 1 -4 1q-10 0 -15 -12q-4 -10 -4 -14q0 -6 5 -9q1 -1 4 -1q8 0 15 13zM2145 747q-1 1 -4 1q-10 0 -15 -12 q-4 -7 -4 -13q0 -7 5 -10q1 -1 4 -1q8 0 15 13q3 6 3 12q0 7 -4 10z" /> +<glyph unicode="g" horiz-adv-x="1612" d="M732 591q9 -15 22.5 -22t28.5 -7q16 0 31.5 7.5t27.5 21.5h15q-6 -39 -34 -65t-71 -26q-27 0 -50 10.5t-36 29.5q-13 -19 -36 -29.5t-51 -10.5q-42 0 -70 26t-34 65h15q11 -14 27 -21.5t32 -7.5q15 0 28.5 7t22.5 22q12 19 33 19q20 0 33 -15q13 15 33 15q21 0 33 -19z M529 172q-45 -6 -89 -23t-81.5 -51.5t-65 -92t-38.5 -144.5h-172q-38 0 -62 24q-21 21 -21 49v6q3 23 9.5 60t19.5 76.5t32 75t48 56.5q24 18 63 37.5t86 39t98 38t98 35.5v-71q0 -35 20.5 -65t54.5 -50zM348 1169q-42 7 -77.5 31t-58.5 63q-13 23 -18.5 46.5t-5.5 47.5 q0 50 24.5 94.5t70.5 70.5q44 25 94 25q17 0 34.5 -3.5t34.5 -9.5q17 37 45.5 66.5t67.5 47.5q51 23 101 23q66 0 124 -35.5t88 -99.5l2 -3q36 14 71 14q50 0 95 -24.5t71 -71.5q25 -44 25 -94t-25 -94.5t-71 -70.5q-31 -18 -69 -23v-214l-6 -83q19 -5 33.5 -25.5 t14.5 -73.5q0 -25 -6 -49t-15.5 -44t-22.5 -35t-27 -21v-96q0 -50 -39 -80l-156 -125q-28 -22 -64 -22h-46q-36 0 -64 22l-157 125q-18 14 -28.5 35t-10.5 45v96q-14 6 -27 21t-23 35t-15.5 44t-5.5 49q0 53 15 73.5t33 25.5l-6 83v214zM973 773q0 9 -0.5 19.5t-3 19.5 t-6.5 15.5t-11 6.5q-1 -1 -4.5 -5.5t-9.5 -17.5q-5 -12 -18 -12q-2 0 -8 2q-12 5 -12 17q0 2 2 8q0 2 3 5v88q-43 -10 -106.5 -16t-138.5 -6t-138.5 6t-105.5 16v-88q0 -1 2 -5q1 -2 1 -7q0 -14 -12 -18q-6 -2 -8 -2q-13 0 -18 12q-5 13 -8.5 17.5t-5.5 5.5q-7 0 -11 -6.5 t-6.5 -15.5t-3 -19.5t-0.5 -19.5q0 -24 6 -44.5t14 -35.5t16.5 -23.5t13.5 -8.5q9 0 15 -6t6 -14v-113q0 -30 24 -49l157 -125q8 -6 18 -10t21 -4h46q11 0 21 4t18 10l156 125q24 18 24 49v113q0 7 7 14q4 6 16 6q4 0 12.5 8.5t16 23.5t13.5 35.5t6 44.5zM875 1482 q-10 -6 -10 -17q0 -6 3 -10q4 -10 17 -10q7 0 10 2q25 14 51 14q7 0 14 -1t14 -3q20 -5 36 -18t26 -31q14 -25 14 -51q0 -27 -13.5 -51.5t-39.5 -38.5q-9 -6 -9 -18q0 -7 2 -10q6 -9 17 -9q7 0 10 2q35 20 54 53.5t19 71.5q0 18 -4.5 36t-14.5 35q-14 25 -36.5 42t-50.5 25 q-20 6 -39 6q-37 0 -70 -19zM239 1395q-5 -20 -5 -38q0 -39 19 -71q4 -10 17 -10q5 0 10 3q10 5 10 17q0 5 -3 10q-13 26 -13 51q0 16 4 28q5 20 17.5 36t30.5 26q25 14 51 14q27 0 51.5 -13.5t39.5 -39.5q0 -1 2 -3q5 -28 16 -52q5 -11 18 -11q6 0 8 2q12 5 12 18q0 2 -2 8 q-15 31 -15 65q0 43 23 80.5t64 56.5q31 15 65 15q26 0 52 -9q29 -11 51 -31t35 -47q5 -12 18 -12q2 0 8 2q12 7 12 19q0 2 -2 8q-17 35 -45 60t-64 38q-32 12 -64 12q-41 0 -82 -19q-45 -21 -72.5 -59t-35.5 -83q-40 34 -93 34q-37 0 -70 -18q-52 -29 -68 -87zM1551 633 q26 0 43.5 -17.5t17.5 -42.5v-213q0 -40 -16.5 -73.5t-44.5 -55.5h21q8 0 8 -9v-353q0 -8 -8 -8h-1277q9 69 29.5 116.5t48.5 78.5t62.5 47.5t72 24t76.5 9t76 1.5q42 0 79.5 11.5t65.5 32t44 47.5t16 58v71q47 -17 98 -35.5t98 -38t86.5 -39t63.5 -37.5q21 -17 39 -42v56 q0 9 8 9h21q-28 22 -44.5 55.5t-16.5 73.5v474q0 26 17.5 43.5t42.5 17.5q26 0 43.5 -17.5t17.5 -43.5v-147q14 8 30 8q20 0 35.5 -11.5t22.5 -29.5q13 10 33 10t35.5 -11.5t22.5 -29.5q13 10 33 10zM528 -89q18 0 31 13t13 31t-13 31t-31 13q-19 0 -32 -13t-13 -31t13 -31 t32 -13zM772 -89q18 0 31 13t13 31t-13 31t-31 13q-19 0 -31.5 -13t-12.5 -31t12.5 -31t31.5 -13zM1490 603q0 13 -8.5 21.5t-21.5 8.5q-12 0 -21 -8.5t-9 -21.5h60zM1339 597q13 3 27 3h33v34q0 13 -8.5 21.5t-21.5 8.5q-12 0 -21 -8.5t-9 -21.5v-37zM1248 537q24 33 61 50 v247q0 13 -9 21.5t-22 8.5q-12 0 -21 -8.5t-9 -21.5v-297zM1498 62q16 0 27 11t11 27t-11 27t-27 11q-15 0 -26 -11t-11 -27t11 -27t26 -11zM1581 435q-14 -8 -30 -8q-27 0 -45 20q-9 -9 -20.5 -14.5t-25.5 -5.5q-27 0 -45 20q-18 -20 -46 -20q-11 0 -24 5q-6 -14 -6 -30 q0 -6 -4.5 -10.5t-10.5 -4.5q-7 0 -11 4.5t-4 10.5q0 22 8.5 41.5t22.5 34t33.5 23t41.5 8.5q27 0 48 17t26 43h-123q-24 0 -45.5 -10t-37.5 -28t-25.5 -41.5t-9.5 -50.5v-79q0 -26 9 -49.5t24 -41t35.5 -28t44.5 -10.5h108q22 0 42.5 10.5t36 28t24.5 41t9 49.5v75z M1490 510q-24 -25 -59 -30q7 -22 29 -22q13 0 21.5 8.5t8.5 21.5v22zM1397 476q-20 -5 -33 -18h5q21 0 28 18zM1581 573q0 12 -8.5 21t-21.5 9t-21.5 -9t-8.5 -21v-85q0 -13 8.5 -21.5t21.5 -8.5t21.5 8.5t8.5 21.5v85zM1149 744q-18 17 -26.5 39t-8.5 45t8.5 45t26.5 40 q5 5 11 5q5 0 12 -5q4 -4 4 -11q0 -8 -4 -12q-13 -13 -19.5 -29t-6.5 -33q0 -35 26 -61q4 -5 4 -12t-4 -11q-5 -5 -12 -5q-6 0 -11 5zM1392 753q-5 4 -5 12q0 7 5 11q21 23 21 52t-21 53q-5 4 -5 11t5 11q5 5 11 5t11 -5q31 -31 31 -75t-31 -75q-4 -4 -11 -4t-11 4z" /> +<glyph unicode="h" horiz-adv-x="1962" d="M127 1032q-10 0 -16 8q-4 4 -4 11q0 4 1 6q36 127 118.5 233.5t199 182.5t261 118.5t303.5 42.5t303.5 -42.5t261 -118.5t199.5 -182.5t119 -233.5v-4q0 -8 -4 -13q-5 -8 -15 -8h-1727zM1190 1306q-14 -16 -26.5 -33t-12.5 -33q0 -17 11.5 -28t27.5 -11q17 0 28 11t11 28 q0 16 -12.5 33t-26.5 33zM1168 1415q0 -16 11.5 -27.5t27.5 -11.5q17 0 28 11.5t11 27.5q0 17 -12.5 34t-26.5 33q-14 -16 -26.5 -33t-12.5 -34zM1302 1319q0 -17 11 -28t27 -11q17 0 28 11t11 28q0 16 -12 33t-27 33q-14 -16 -26 -33t-12 -33zM1432 1384q0 -17 11 -28 t28 -11q16 0 27.5 11t11.5 28q0 16 -12.5 33t-26.5 33q-14 -16 -26.5 -33t-12.5 -33zM1513 1220q0 -16 11 -27t28 -11q16 0 27.5 11t11.5 27q0 17 -12.5 33.5t-26.5 33.5q-14 -17 -26.5 -33.5t-12.5 -33.5zM127 178h1727v-170q0 -33 -12.5 -61.5t-33.5 -49.5t-49.5 -33.5 t-61.5 -12.5h-1413q-33 0 -61.5 12.5t-49.5 33.5t-33.5 49.5t-12.5 61.5v170zM1824 603q28 0 53.5 -11t44 -29.5t29.5 -44t11 -54.5t-11 -54.5t-29.5 -44t-44 -29.5t-53.5 -11h-1685q-29 0 -54.5 11t-44 29.5t-29.5 44t-11 54.5t11 54.5t29.5 44t44 29.5t54.5 11h907 l499 -205l155 205h124zM150 752q-17 -14 -37 -14q-28 0 -45 22q-14 17 -14 38q0 27 21 45q55 45 121 69t138 24q69 0 134.5 -23.5t122.5 -70.5q39 -32 86 -49t98 -17q100 0 182 68q55 45 121.5 68.5t137.5 23.5q72 0 138 -24t121 -69q38 -32 85 -49.5t98 -17.5q50 0 97 17.5 t86 49.5q16 13 37 13q28 0 46 -21q13 -16 13 -37q0 -28 -21 -46q-54 -45 -120.5 -69t-137.5 -24t-137.5 24t-121.5 69q-38 32 -85 49t-98 17q-50 0 -97 -17t-86 -49q-54 -45 -120.5 -69t-137.5 -24t-137 24.5t-121 69.5q-39 32 -86 48.5t-97 16.5q-51 0 -98 -17t-86 -49z " /> +<glyph unicode="i" horiz-adv-x="2130" d="M2129 964q0 -2 0.5 -3t0.5 -3v-749q0 -16 -10 -28.5t-26 -16.5l-1223 -272q-3 -1 -10 -1q-8 0 -15.5 2.5t-13.5 7.5q-17 14 -17 36v749q0 3 1 4v4q1 5 4 13.5t8 10.5l417 436q12 -36 34.5 -66t52.5 -51.5t66 -34t76 -12.5q47 0 89 17t74 46.5t52.5 69t25.5 85.5 q14 -3 28 -7t28 -9q87 -29 151.5 -64t107.5 -65t64.5 -51t23.5 -23q2 -1 2 -2t1 -2q4 -6 6 -12t2 -9zM2038 467l-1131 -251v-221l1131 251v221zM2038 901l-1131 -252v-220l1131 251v221zM1181 1502q-17 0 -29.5 12t-12.5 30q0 17 12.5 29.5t29.5 12.5q44 0 83.5 -13.5 t72.5 -38t57 -58.5t36 -74q21 6 44 6q36 0 68 -13.5t56 -37.5t37.5 -56t13.5 -68t-13.5 -68t-37.5 -56t-56 -38t-68 -14t-68 14t-56 38t-38 56t-14 68q0 38 15 71t41 57q-6 30 -22 56t-39 44.5t-51.5 29.5t-60.5 11zM1527 1345q-20 0 -34.5 -14.5t-14.5 -34.5t14.5 -34.5 t34.5 -14.5q21 0 35.5 14.5t14.5 34.5t-14.5 34.5t-35.5 14.5zM680 863l-177 175h-375q-27 0 -50 10t-40.5 27.5t-27.5 41t-10 50.5v288q0 27 10 50.5t27.5 41t40.5 27.5t50 10h706q27 0 50 -10t40.5 -27.5t27.5 -41t10 -50.5v-288q0 -27 -10 -50.5t-27.5 -41t-40.5 -27.5 t-50 -10h-154v-175z" /> +<glyph unicode="j" horiz-adv-x="1543" d="M493 390l-42 -142h825q35 0 65.5 -14t53.5 -38t36.5 -55.5t13.5 -67.5t-13.5 -67.5t-37.5 -55.5t-55.5 -37.5t-67.5 -13.5t-68 13.5t-56 37.5t-37.5 55.5t-13.5 67.5t14 69h-570q14 -33 14 -69t-13.5 -67.5t-37.5 -55.5t-55.5 -37.5t-67.5 -13.5t-68 13.5t-55.5 37.5 t-37.5 55.5t-14 67.5q0 31 10 59t28 50t42.5 38t53.5 23q21 71 33 109.5t17 56.5l7 24l-129 655l-225 46q-19 4 -30.5 19t-11.5 33q0 6 1 10q4 18 19 30t33 12q6 0 10 -1l254 -51h486q-28 23 -44.5 57t-16.5 73q0 37 14.5 69t39.5 55q-6 29 -21.5 54t-37.5 43t-49.5 28.5 t-58.5 10.5q-17 0 -29 12t-12 29t12 28.5t29 11.5q42 0 80 -13t69.5 -36.5t55 -56t35.5 -71.5q21 6 42 6q35 0 66 -13.5t54 -36.5t36.5 -54t13.5 -66q0 -39 -16.5 -73t-45.5 -57h471q12 0 22.5 -5.5t18.5 -14.5q12 -14 12 -34q0 -7 -1 -10l-136 -689q-2 -19 -17 -31t-34 -12 h-862zM963 1430q-22 0 -37 -15t-15 -37q0 -23 15 -38t37 -15t37.5 15t15.5 38q0 22 -15.5 37t-37.5 15zM410 906l46 -237h889l47 237h-982zM449 73q0 29 -20 49t-49 20t-49 -20t-20 -49t20 -49t49 -20t49 20t20 49zM1271 4q29 0 49 20t20 49t-20 49t-49 20t-49 -20t-20 -49 t20 -49t49 -20z" /> +<glyph unicode="k" horiz-adv-x="970" d="M961 680q9 -10 9 -23v-552q0 -12 -7.5 -21.5t-19.5 -12.5l-902 -200q-2 -1 -7 -1q-11 0 -21 8q-13 10 -13 26v552q0 2 1 6q1 8 8 18l359 374q10 10 23 10h13q6 0 15.5 0.5t20.5 0.5q24 0 55.5 -1.5t66.5 -5t72 -10.5t71 -19q64 -21 111.5 -46.5t79.5 -48t48 -38t17 -16.5 zM902 295l-834 -186v-163l834 186v163zM902 615l-834 -186v-163l834 186v163zM285 1580q-12 0 -20.5 8.5t-8.5 20.5q0 13 8.5 21.5t20.5 8.5q30 0 58 -9.5t51 -26.5t39.5 -40.5t25.5 -51.5q12 4 30 4q25 0 47.5 -9.5t39 -26t26 -39t9.5 -47.5q0 -26 -9.5 -48t-26 -38.5 t-39 -26t-47.5 -9.5q-26 0 -48 9.5t-38.5 26t-26 38.5t-9.5 48t10.5 49t28.5 40q-9 42 -42.5 70t-78.5 28zM526 1475q-16 0 -27 -11t-11 -27t11 -27t27 -11t27 11t11 27t-11 27t-27 11zM512 1163q14 0 14 -14v-80h46q9 0 13 -9q1 -2 1 -5q0 -6 -4 -10l-87 -87q-4 -4 -10 -4 t-10 4l-87 87q-4 4 -4 10q0 3 1 5q4 9 13 9h46v80q0 14 14 14h54z" /> +<glyph unicode="l" horiz-adv-x="1953" d="M1553 110v-6q1 -5 1 -9v-9q0 -63 -37 -103.5t-103 -48.5q-9 -1 -20.5 -1.5t-24.5 -0.5q-40 0 -93 4.5t-107.5 12.5t-105.5 19t-86 24q-14 5 -27 10t-27 10q-5 -11 -14 -19t-22 -10l-592 -73h-5q-17 0 -30 11t-15 28v5q0 17 11 30t28 15l592 73h5q25 0 37 -20l48 33 q36 25 92.5 52t116.5 50.5t114 39.5t86 20q7 1 13.5 1.5t13.5 0.5q60 0 99.5 -35t49.5 -98zM294 -69q9 1 15 7.5t6 15.5v4q0 6 -5.5 12.5t-18.5 6.5q-10 0 -17 -7t-7 -18q1 -10 7.5 -15.5t15.5 -5.5h4zM1379 214q-17 -2 -44 -8.5t-60 -16.5t-69.5 -22.5t-70.5 -26.5 t-64 -28.5t-50 -28.5q21 7 51.5 14.5t65 15t71.5 15t70.5 13.5t61.5 11t45 7t31 3t27 1q37 0 61 -8q-14 29 -40.5 45t-62.5 16q-6 0 -11.5 -0.5t-11.5 -1.5zM1409 -33q45 6 72.5 29t35.5 59q-17 -10 -44 -18.5t-70 -13.5q-21 -3 -58 -6t-80.5 -5.5t-89 -4t-84.5 -1.5 q-18 0 -33.5 0.5t-27.5 1.5q28 -11 70.5 -19t88 -13.5t90.5 -8t80 -2.5q16 0 28.5 0.5t21.5 1.5zM1399 56q33 4 56 10.5t37.5 13.5t20.5 14t6 12q-1 8 -18.5 16t-57.5 8q-11 0 -24.5 -1t-28.5 -3q-18 -2 -47.5 -7t-64.5 -12t-73.5 -15t-75 -16.5t-69 -17t-54.5 -15.5 q16 -2 36 -2h43q40 0 86.5 1.5t90 3.5t80 4.5t57.5 5.5zM273 191q-5 23 -23 38t-42 15q-16 0 -16 16t16 16q33 0 58.5 -19.5t35.5 -49.5q10 2 16 2q28 0 47 -19.5t19 -46.5t-19 -46.5t-47 -19.5q-27 0 -46.5 19.5t-19.5 46.5q0 29 21 48zM338 185q-8 0 -13 -5t-5 -13 t5 -13.5t13 -5.5t13.5 5.5t5.5 13.5t-5.5 13t-13.5 5zM1179 1058q3 -6 3 -11v-237q0 -6 -4.5 -11t-11.5 -5h-429q-7 0 -11.5 5t-4.5 11v238v2q0 1 1 1q0 2 0.5 2t0.5 2l128 228q8 -2 14.5 -7.5t11.5 -12.5l-112 -200h374l-183 339l-38 -66q-12 10 -27 18l51 89q4 9 14 9 q9 0 14 -9zM1150 895h-396v-68h396v68zM1150 1031h-396v-68h396v68zM839 1309q-16 0 -16 16t16 16q34 0 60 -19.5t36 -50.5q10 2 16 2q29 0 48.5 -19.5t19.5 -47.5t-19.5 -47.5t-48.5 -19.5q-28 0 -47.5 19.5t-19.5 47.5q0 14 6 27t16 22q-5 23 -23.5 38.5t-43.5 15.5z M972 1249q-8 0 -13.5 -5.5t-5.5 -13.5t5.5 -13t13.5 -5t13.5 5t5.5 13t-5.5 13.5t-13.5 5.5zM183 1137l207 106v-70l-134 -70l134 -69v-72l-207 107v68zM567 1281q54 0 87.5 -26.5t33.5 -77.5q0 -47 -29 -70t-70 -31l-5 -30h-51l-12 81l3 2q48 2 67 14t19 32q0 37 -45 37 q-38 0 -75 -35l-46 50q22 24 52 39t71 15zM1251 1243l208 -106v-68l-208 -107v71l135 69l-135 70v71zM558 1012q20 0 33 -13t13 -33q0 -19 -13 -32.5t-33 -13.5q-19 0 -32.5 13.5t-13.5 32.5q0 20 13.5 33t32.5 13zM1703 853l27 47q2 5 7 5t8 -5l110 -203l1.5 -3t0.5 -3 v-126q0 -8 -9 -8h-227q-8 0 -8 8v127v1q0 1 0.5 1t0.5 1l68 120q8 -1 13 -10l-59 -106h198l-97 179l-20 -34zM1840 610h-210v-36h210v36zM1840 682h-210v-36h210v36zM1667 838q0 8 8 8q18 0 32 -10t19 -27q3 1 9 1q14 0 24.5 -10.5t10.5 -24.5q0 -15 -10.5 -25.5 t-24.5 -10.5q-15 0 -25.5 10.5t-10.5 25.5q0 14 12 26q-3 12 -12.5 20t-23.5 8q-8 0 -8 9zM1746 798q-10 0 -10 -10t10 -10t10 10t-10 10zM1637 910l-63 32v21l63 33v-22l-41 -21l41 -21v-22zM1691 986q-12 0 -23 -11l-14 16q14 16 37 16q17 0 27 -8t10 -24q0 -14 -8.5 -21 t-21.5 -9l-2 -10h-15l-3 26q26 1 26 14q0 11 -13 11zM1688 897q-5 0 -9.5 4t-4.5 10t4.5 10t9.5 4q14 0 14 -14t-14 -14zM1665 517l63 -33v-20l-63 -33v22l41 21l-41 21v22zM1613 528q16 0 26 -8t10 -23t-8.5 -22t-21.5 -9l-1 -9h-16l-3 25q15 1 21 4.5t6 9.5q0 11 -14 11 q-13 0 -23 -11l-14 16q14 16 38 16zM1610 446q14 0 14 -14t-14 -14t-14 14t14 14zM1917 1098q15 0 25.5 -10.5t10.5 -25.5v-687q0 -15 -10.5 -25t-25.5 -10h-356q-15 0 -25.5 10t-10.5 25v163h-522v-17q0 -18 8 -40.5t27.5 -42.5t52 -34t80.5 -14v-50h-700v50q48 0 80 14 t51.5 34t28 42.5t8.5 40.5v17h-539q-42 0 -71 28.5t-29 70.5v892q0 42 29 70.5t71 28.5h1442q42 0 71 -28.5t29 -70.5v-431h275zM1697 1066q0 -3 3 -3h78q3 0 3 3v5q0 2 -3 2h-78q-3 0 -3 -2v-5zM851 1591q-5 0 -5 -5t5 -5t5 5t-5 5zM821 1597q-12 0 -12 -11q0 -12 12 -12 q5 0 8.5 3.5t3.5 8.5t-3.5 8t-8.5 3zM870 574q14 0 23.5 9.5t9.5 23.5q0 13 -9.5 22.5t-23.5 9.5h-98q-14 0 -23.5 -9.5t-9.5 -22.5q0 -14 9.5 -23.5t23.5 -9.5h98zM1522 675v224q-5 0 -5 4v18q0 5 8 5l-3 8q-5 0 -5 4v18q0 5 8 5v101q0 15 10.5 25.5t25.5 10.5v447h-1480 v-870h1441zM1937 1039h-395v-641h395v641z" /> +<glyph unicode="m" horiz-adv-x="2276" d="M525 188q-45 -6 -89 -22.5t-81 -51t-64 -91t-38 -143.5h-171q-36 0 -61 23q-21 21 -21 49v6q3 23 9.5 60t19 76t31.5 74t48 56q24 17 63 36.5t85.5 39t96.5 38t97 34.5v-70q0 -35 20 -64.5t55 -49.5zM1200 224q28 -21 47.5 -56t31.5 -74t18.5 -76t9.5 -60v-7 q0 -29 -21 -48q-11 -11 -27.5 -17t-33.5 -6h-932q9 68 29 115t48 77.5t62 47t71 24t75.5 9t75.5 1.5q42 0 79 11.5t64.5 31.5t43.5 47t16 58v70q47 -16 97.5 -34.5t97 -38t85.5 -39t63 -36.5zM523 -71q18 0 31 13t13 31t-13 31t-31 13t-31 -13t-13 -31t13 -31t31 -13z M765 -71q18 0 31 13t13 31t-13 31t-31 13t-31 -13t-13 -31t13 -31t31 -13zM715 582q16 -27 47 -27q15 0 29.5 7t25.5 20h13q-5 -36 -31 -60t-65 -24q-26 0 -47.5 10t-32.5 27q-12 -17 -33 -27t-47 -10q-40 0 -66 24t-31 60h14q22 -27 54 -27q14 0 26.5 6.5t21.5 20.5 q5 9 13.5 13.5t17.5 4.5q17 0 30 -13q11 13 30 13q20 0 31 -18zM345 1176q-42 7 -77 30.5t-58 62.5q-12 22 -18 46t-6 47q0 50 24.5 94t70.5 70q43 25 93 25q17 0 34 -3.5t34 -9.5q17 36 45 65.5t67 47.5q47 22 99 22q66 0 124 -35t88 -99q0 -1 0.5 -1.5t0.5 -1.5 q17 8 35.5 11t36.5 3q49 0 93 -24.5t70 -70.5q25 -43 25 -93q0 -49 -24.5 -93t-70.5 -70q-31 -18 -68 -23v-212l-6 -82q18 -5 32.5 -25.5t14.5 -72.5q0 -25 -5.5 -49t-15.5 -44t-22.5 -34.5t-26.5 -20.5v-95q0 -23 -10.5 -44.5t-28.5 -35.5l-155 -123q-28 -22 -64 -22h-45 q-35 0 -63 22l-155 123q-19 14 -29 35.5t-10 44.5v95q-14 6 -27 20.5t-23 34.5t-15.5 44t-5.5 49q0 26 4 43.5t11 29t15.5 17.5t17.5 8l-6 82v212zM965 784q0 8 -1 18.5t-3 19.5t-6 15.5t-11 6.5q-2 -1 -5.5 -5.5t-8.5 -17.5q-5 -12 -18 -12q-2 0 -8 2q-12 5 -12 18q0 2 2 8 q0 1 3 4v88q-43 -11 -105.5 -16.5t-137.5 -5.5t-137.5 5.5t-104.5 16.5v-88l2 -4q2 -6 2 -8q0 -13 -13 -18q-6 -2 -8 -2q-12 0 -17 12q-6 13 -9.5 17.5t-4.5 5.5q-7 0 -11 -6.5t-6.5 -15.5t-3 -19.5t-0.5 -18.5q0 -10 3 -28t9 -35.5t15.5 -31.5t21.5 -17q10 0 15 -5 q6 -6 6 -14v-112q0 -30 24 -49l155 -123q17 -14 39 -14h45q22 0 39 14l155 123q24 19 24 49v112q0 8 6 14q5 5 13 5h4q4 0 12 9t16 24t14 35t6 44zM867 1486q-10 -5 -10 -17q0 -6 3 -10q5 -10 17 -10q5 0 10 3q24 13 50 13q16 0 28 -4q40 -11 62 -48q13 -23 13 -51 q0 -27 -13 -51t-39 -38q-9 -6 -9 -18q0 -6 2 -9q7 -10 17 -10q5 0 10 3q35 20 53.5 53.5t18.5 70.5q0 38 -19 70q-14 25 -36 42t-50 25q-20 5 -38 5q-38 0 -70 -19zM237 1400q-2 -10 -3.5 -19t-1.5 -19q0 -37 18 -70q7 -10 17 -10q5 0 10 3q10 4 10 17q0 6 -2 9 q-14 25 -14 51q0 7 1 14t3 14q11 40 48 62q23 13 51 13q27 0 51 -13t38 -39l3 -3q2 -13 6 -26t10 -25q5 -12 17 -12q3 0 9 2q11 6 11 18q0 2 -2 8q-8 16 -11 32t-3 32q0 43 22.5 80t63.5 56q31 15 64 15q25 0 51 -9q29 -10 50.5 -30t35.5 -47q5 -12 18 -12q2 0 8 2 q11 6 11 18q0 3 -2 9q-16 34 -44 59t-63 38q-16 6 -32 8.5t-33 2.5q-42 0 -81 -18q-44 -20 -71 -57.5t-35 -82.5q-20 17 -43.5 25t-48.5 8q-37 0 -70 -18q-25 -14 -42 -36t-25 -50zM1820 1062q-8 0 -14 6t-6 15q0 8 6 14t14 6t14 -6t6 -14q0 -9 -6 -15t-14 -6zM1585 722h427 v-73h-427v73zM1585 869h427v-74h-427v74zM2092 1488q38 0 71.5 -14.5t58.5 -39.5t39.5 -59t14.5 -72v-702q0 -38 -14.5 -72t-39.5 -59t-58.5 -39.5t-71.5 -14.5h-586q-38 0 -72 14.5t-59 39.5t-39.5 59t-14.5 72v111h-176l176 177v414q0 38 14.5 72t39.5 59t59 39.5t72 14.5 h586zM1678 1202q-8 0 -13 -5t-5 -13q0 -7 5 -12t13 -5q26 0 46 -16.5t25 -41.5q-23 -21 -23 -53q0 -30 21 -51t51 -21t51 21t21 51t-21 51.5t-51 21.5q-9 0 -18 -3q-10 33 -38 54.5t-64 21.5zM2046 886q0 7 -2 11l-226 414q-4 8 -15 10q-10 0 -15 -9l-55 -97q18 -8 30 -19 l40 71l197 -364h-402l120 214q-9 17 -27 22l-138 -245q-2 -4 -2 -8v-255q0 -7 4.5 -12t12.5 -5h461q7 0 12 5t5 12v255z" /> +<glyph unicode="n" horiz-adv-x="2271" d="M392 1451q-14 0 -23.5 9.5t-9.5 23.5t9.5 23t23.5 9q34 0 64.5 -10.5t56 -29.5t44 -45t28.5 -57q18 5 34 5q28 0 53 -10.5t43.5 -29t29 -43.5t10.5 -53q0 -29 -10.5 -53.5t-29 -43.5t-43.5 -29.5t-53 -10.5t-53 10.5t-43.5 29.5t-29 43.5t-10.5 53.5t11.5 54.5t31.5 44.5 q-10 47 -47 78t-87 31zM660 1330q-15 0 -26.5 -11t-11.5 -27t11.5 -27t26.5 -11q17 0 28 11t11 27t-11 27t-28 11zM1833 1385q90 -10 169.5 -28.5t139 -45.5t94.5 -63t35 -80v-1054q0 -37 -25 -68.5t-69.5 -56.5t-105 -44t-131 -32t-148.5 -19.5t-157 -6.5t-157 6.5 t-148.5 19.5t-131 32t-105 44t-69.5 56.5t-25 68.5v44q-81 -19 -173.5 -28t-189.5 -9q-79 0 -157 6.5t-148.5 19.5t-131 32t-105 44t-69.5 56.5t-25 68.5v665q0 43 33.5 78t90.5 62t133.5 46t163.5 29q3 -39 19.5 -72.5t43 -58t61.5 -39t74 -14.5q40 0 75 14.5t61.5 40 t43 60t18.5 73.5q50 -5 97 -12.5t91 -18.5q13 37 51.5 67t96.5 53t130.5 39t153.5 25q3 -39 19.5 -72.5t43 -58.5t61.5 -39.5t74 -14.5t74 14.5t61.5 39.5t43 58.5t19.5 72.5zM999 435q-81 -18 -173.5 -27.5t-189.5 -9.5q-82 0 -162.5 7t-153 20.5t-133.5 34t-104 47.5v-159 q0 -18 36 -43t106 -47.5t173.5 -38t237.5 -15.5q114 0 204 11t159 29v191zM999 866q-76 -18 -168 -28t-195 -10q-94 0 -180 8.5t-158 24t-127 37t-88 47.5v-209q0 -18 36 -43t106 -47.5t173.5 -38t237.5 -15.5q114 0 204 11.5t159 28.5v234zM2189 273q-44 -27 -105 -47.5 t-133.5 -34t-153 -20.5t-162.5 -7t-162.5 7t-153 20.5t-134 34t-104.5 47.5v-159q0 -18 36 -43t106.5 -47.5t174 -38t237.5 -15.5t237.5 15.5t174 38t106.5 47.5t36 43v159zM2189 661q-44 -27 -105 -47t-133.5 -34t-153 -21t-162.5 -7t-162.5 7t-153 20.5t-134 34 t-104.5 47.5v-159q0 -18 36 -43t106.5 -47.5t174 -38t237.5 -15.5t237.5 15.5t174 38t106.5 47.5t36 43v159zM2189 1100q-33 -26 -88 -47.5t-127.5 -37.5t-158.5 -24.5t-180 -8.5q-95 0 -181 8.5t-158 24.5t-127 37.5t-88 47.5v-209q0 -18 36 -43t106.5 -47.5t174 -38 t237.5 -15.5t237.5 15.5t174 38t106.5 47.5t36 43v209zM1408 1607q-14 0 -23.5 9.5t-9.5 23.5t9.5 23t23.5 9q34 0 65 -10.5t56 -29.5t43.5 -45t28.5 -57q15 4 34 4q28 0 53 -10.5t43.5 -29t29 -43.5t10.5 -53t-10.5 -53t-29 -43.5t-43.5 -29t-53 -10.5t-53 10.5t-43.5 29 t-29 43.5t-10.5 53q0 30 11.5 55.5t31.5 44.5q-10 47 -47 78t-87 31zM1677 1486q-16 0 -27 -11t-11 -27t11 -27t27 -11t27 11t11 27t-11 27t-27 11z" /> +<glyph unicode="o" horiz-adv-x="1397" d="M697 171q18 0 30.5 -12.5t12.5 -29.5v-103q-20 15 -43 15q-24 0 -42 -15v103q0 17 12.5 29.5t29.5 12.5zM697 -5q18 0 30.5 -12.5t12.5 -30.5q0 -17 -12.5 -30t-30.5 -13q-17 0 -29.5 13t-12.5 30q0 18 12.5 30.5t29.5 12.5zM696 1584q42 0 75 -22.5t56.5 -58.5t36 -80 t12.5 -87q0 -57 -10 -104t-25.5 -89.5t-33 -81.5t-33 -79t-25.5 -83t-10 -93v-603q-19 14 -43 14q-23 0 -42 -14v603q0 50 -10 93t-25.5 83t-33 79t-33 81.5t-25.5 89.5t-10 104q0 43 12.5 87t35.5 80t56.5 58.5t74.5 22.5zM697 1082q26 0 48.5 19.5t39.5 52.5t27 77.5 t10 95.5q0 42 -12 81.5t-33 67.5q-3 3 -8 3q-3 0 -4 -1q-5 -2 -5 -7q0 -3 1 -4q12 -38 12 -80q0 -46 -8.5 -87t-23 -72t-34 -49t-40.5 -18q-19 0 -33.5 12t-23.5 25q-3 3 -8 3q-3 0 -4 -1q-5 -2 -5 -8q0 -2 1 -3q17 -51 44.5 -79t58.5 -28zM198 1544q85 -2 134.5 -54 t49.5 -139q0 -26 -5.5 -65t-14.5 -86t-22 -98t-28 -100t-31.5 -92.5t-32.5 -74.5l-33 -62q13 -7 21.5 -19.5t8.5 -28.5v-722q0 -23 -16 -38.5t-38 -15.5q-23 0 -38.5 15.5t-15.5 38.5v722q0 16 8 28.5t21 19.5l-32 62q-16 31 -32.5 74.5t-31.5 92.5t-28 100t-22 98t-14.5 86 t-5.5 65q0 43 13 78t37 60.5t57.5 39.5t75.5 15q2 0 4 0.5t4 0.5t3.5 -0.5t3.5 -0.5zM40 1351q0 -20 4 -53.5t11 -75t17 -87t21.5 -88.5t24.5 -81.5t27 -64.5q-5 26 -9.5 64t-9 81t-7.5 88.5t-5.5 86.5t-4 75t-1.5 55q0 53 6 87.5t16 55.5q-43 -15 -66.5 -51.5t-23.5 -91.5z M220 4q0 13 -8.5 21.5t-20.5 8.5q-13 0 -21.5 -8.5t-8.5 -21.5q0 -12 8.5 -20.5t21.5 -8.5q12 0 20.5 8.5t8.5 20.5zM191 877q5 28 10.5 68.5t10 85.5t8.5 92.5t7 91t4.5 79t1.5 57.5q0 42 -4.5 71t-10.5 47.5t-13.5 26.5t-13.5 8t-13.5 -8t-14 -26.5t-11 -47.5t-4.5 -71 q0 -22 1.5 -57.5t4.5 -79t7 -91t9 -92.5t10 -85.5t11 -68.5zM237 901q13 27 26 65t25 81t21.5 88.5t16.5 87t11 75t4 53.5q0 55 -23 91.5t-66 51.5q10 -21 16 -55.5t6 -87.5q0 -21 -1.5 -55t-4 -75t-6 -86.5t-7.5 -88.5t-8.5 -81t-9.5 -64zM1372 1250q11 0 18 -7t7 -17v-942 q0 -11 -7 -18t-18 -7h-105q1 -51 6 -82t10.5 -56t10 -49.5t4.5 -62.5q0 -39 -8.5 -65.5t-20.5 -43t-25 -23.5t-22 -7t-22 7t-25 23.5t-20.5 43t-8.5 65.5q0 38 4.5 62.5t10 49.5t10.5 56t6 82h-104q-11 0 -18 7t-7 18v942q0 10 7 17t18 7h104q-2 45 -7 74t-10 52t-9.5 47.5 t-4.5 60.5q0 39 8.5 65.5t20.5 43t25 23.5t22 7t22 -7t25 -23.5t20.5 -43t8.5 -65.5q0 -36 -4 -60.5t-9.5 -47.5t-10.5 -52t-6 -74h104zM1342 1198h-36v-897h36v897z" /> +<glyph unicode="p" horiz-adv-x="1624" d="M191 1312h132v-39h-132v39zM191 961h132v-39h-132v39zM191 893h132v-38h-132v38zM811 782h-550v39h550v-39zM451 1104v-38h-190v38h190zM757 942q-63 57 -97 133t-34 161q0 72 25.5 139.5t74.5 121.5q58 66 135 98.5t158 32.5q70 0 137.5 -24t124.5 -75q63 -57 97 -133 t34 -161q0 -55 -15 -107.5t-44 -99.5l248 -221q22 -19 22 -50q0 -12 -4 -24t-13 -22q-10 -11 -22.5 -16.5t-26.5 -5.5q-12 0 -24 4t-22 13l-248 221q-54 -42 -116 -63t-128 -21q-70 0 -137.5 24t-124.5 75zM809 1423q-35 -38 -53.5 -86.5t-18.5 -100.5q0 -61 24.5 -116 t69.5 -95q41 -36 88.5 -53.5t98.5 -17.5q59 0 114.5 23.5t97.5 70.5q35 39 53 87t18 100q0 61 -24.5 116t-69.5 95q-41 36 -88.5 53.5t-98.5 17.5q-59 0 -114 -23.5t-97 -70.5zM1105 342q11 0 11 -11v-53q0 -10 -11 -10h-938q-10 0 -10 10v53q0 11 10 11h938zM835 1205 q-19 17 -19 41q0 22 15 37q17 19 41 19q20 0 37 -15l97 -87l148 159q16 18 41 18q21 0 38 -15q18 -17 18 -41q0 -22 -15 -38l-186 -199q-17 -18 -41 -18q-20 0 -37 14zM321 467q36 0 65 12t51.5 32.5t38.5 48t26 58.5h-492q-10 0 -10 11v847q0 10 10 10h648q-26 -39 -44 -80 h-534v-708h1105v131q43 17 80 42v-242q0 -11 -10 -11h-492q11 -31 28 -58.5t40 -48t53 -32.5t67 -12h7t13 -0.5t13 -1t7 -0.5l105 -73q5 -2 5 -8q0 -2 -1 -3q-2 -8 -9 -8h-910q-7 0 -9 8q-1 1 -1 3q0 6 5 8l105 73q1 0 7 0.5t13 1t13 0.5h7zM600 1104q3 -10 6.5 -19.5 t7.5 -18.5h-127v38h113zM584 1174q2 -10 3.5 -19t3.5 -19h-330v38h323zM580 1244v-8v-15t1 -15h-320v38h319zM261 1031h369q5 -10 11 -19.5t12 -19.5h-392v39zM1503 86q34 0 57 -7t37 -17.5t20.5 -21.5t6.5 -19t-6.5 -19t-20.5 -21.5t-37 -18t-57 -7.5q-31 0 -52 3.5 t-41 8.5t-45 9t-64 6v-91q0 -8 -6.5 -14.5t-14.5 -6.5h-815q-9 0 -15 6.5t-6 14.5v91q-44 -1 -71 -5t-48.5 -9t-42.5 -9t-54 -4q-34 0 -57 7t-37.5 17.5t-20.5 22t-6 19.5t6 19t20.5 21.5t37.5 17.5t57 7q33 0 54 -4t42.5 -8.5t48.5 -8.5t71 -5v90q0 9 6 15.5t15 6.5h815 q8 0 14.5 -6.5t6.5 -15.5v-90q39 1 64 5.5t45 9t41 8t52 3.5zM1256 -52h-776v-31h776v31z" /> +<glyph unicode="q" horiz-adv-x="1297" d="M637 1223q-19 0 -36 7t-29.5 19.5t-19.5 29.5t-7 36q0 20 7.5 37.5t21.5 29.5q-7 32 -32 53t-59 21q-9 0 -15.5 6.5t-6.5 15.5t6.5 15.5t15.5 6.5q46 0 82 -27t49 -69q10 3 23 3q19 0 36 -7t29.5 -19.5t19.5 -29.5t7 -36t-7 -36t-19.5 -29.5t-29.5 -19.5t-36 -7z M665 1374q-11 0 -18.5 -7.5t-7.5 -18.5t7.5 -18t18.5 -7t18.5 7t7.5 18t-7.5 18.5t-18.5 7.5zM218 1160q0 29 22.5 53t61.5 42t90.5 30.5t110.5 19.5q2 -26 13 -48.5t29 -39.5t41.5 -26.5t50.5 -9.5t50.5 10t41.5 27t29 40t12 50q63 -6 119 -18.5t98 -31t67 -43t25 -55.5 v-450q0 -28 -21 -51t-57 -41t-85 -30.5t-104 -19.5q-1 1 -1 3q-11 31 -37 48q61 6 107.5 17.5t78 24.5t47.5 26t16 23v108q-27 -17 -63.5 -29.5t-80 -22t-92 -15t-98.5 -6.5q-6 8 -14 13q-23 17 -53 17q-5 0 -10 -0.5t-10 -1.5l-46 -11l-31 35q-13 15 -30.5 23t-37.5 8 q-43 0 -69 -31l-17 -19q-29 8 -53 18t-43 22v-45q-21 -3 -37 -16q-6 -4 -10.5 -9t-9.5 -10v422zM275 973q0 -12 24.5 -29t71.5 -32.5t117 -26t161 -10.5t160.5 10.5t117 26t72 32.5t24.5 29v141q-22 -17 -59.5 -31.5t-86 -25t-106.5 -16.5t-122 -6t-122 6t-107 16.5t-86 25 t-59 31.5v-141zM1262 1639q15 0 25 -10t10 -24v-1222q0 -8 -3.5 -14.5t-6.5 -9.5l-265 -264q-5 -5 -12 -5h-310l-6 69h274v225q0 14 10.5 24.5t24.5 10.5h225v1151h-1158v-1411h150l-6 -69h-179q-14 0 -24.5 10t-10.5 24v1481q0 14 10.5 24t24.5 10h1227zM1178 349h-140 v-141zM622 144q10 0 15 1l19 -234q0 -14 -11 -20q-7 -5 -15 -5q-7 0 -11 3l-162 79l-162 -79q-6 -3 -12 -3q-8 0 -15 5q-11 9 -11 23l20 231q5 -1 15 -1h9t9 2l49 11l33 -38q26 -29 65 -29q18 0 35 7.5t29 21.5l33 38l49 -11q5 -2 9.5 -2h9.5zM457 618q33 0 62.5 -12.5 t51.5 -34.5t34.5 -51.5t12.5 -63.5q0 -33 -12.5 -62.5t-34.5 -51.5t-51.5 -34.5t-62.5 -12.5q-34 0 -63.5 12.5t-51.5 34.5t-34.5 51.5t-12.5 62.5q0 34 12.5 63.5t34.5 51.5t51.5 34.5t63.5 12.5zM755 359q-3 -13 -18 -20l-75 -32l-7 -81q-1 -15 -14 -24q-8 -6 -19 -6 q-5 0 -7 1l-80 18l-54 -62q-9 -11 -24 -11q-16 0 -25 11l-54 62l-79 -18q-3 -1 -8 -1q-10 0 -19 6q-11 9 -13 24l-8 81l-75 32q-13 6 -18 20q-2 6 -2 10q0 9 5 17l42 70l-42 71q-5 8 -5 16q0 3 2 11q2 6 6.5 11.5t11.5 7.5l75 33l8 81q2 16 13 23q10 7 20 7q2 0 3.5 -0.5 t3.5 -0.5l79 -18l54 61q9 11 24 11q14 0 25 -11l54 -61l80 18q2 0 3.5 0.5t3.5 0.5q10 0 19 -7q12 -8 14 -23l7 -81l75 -33q14 -5 18 -19q1 -3 1.5 -5.5t0.5 -5.5q0 -5 -1 -8.5t-3 -7.5l-42 -71l42 -70q2 -4 3 -7.5t1 -8.5q0 -3 -0.5 -5.5t-1.5 -5.5zM457 252q42 0 79.5 16 t65 44t43.5 65t16 79t-16 79.5t-43.5 65.5t-65 44t-79.5 16t-79.5 -16t-65.5 -44t-44 -65.5t-16 -79.5t16 -79t44 -65t65.5 -44t79.5 -16z" /> +<glyph unicode="r" horiz-adv-x="1649" d="M1274 386q8 0 13.5 -5t5.5 -13t-5.5 -13.5t-13.5 -5.5h-720q-19 0 -19 19q0 8 5.5 13t13.5 5h720zM1274 454q8 0 13.5 -5.5t5.5 -13.5t-5.5 -13.5t-13.5 -5.5h-720q-19 0 -19 19q0 8 5.5 13.5t13.5 5.5h720zM554 282q-26 0 -48 9.5t-39 26t-26.5 39t-9.5 47.5v247 q22 -27 53.5 -43.5t69.5 -16.5h601q22 0 37 15t15 37q0 20 -12 34q12 13 12 33t-12 34q12 13 12 34t-15 36q15 13 15 36v423h67q8 0 13.5 -5.5t5.5 -13.5v-746q0 -8 -5.5 -13.5t-13.5 -5.5h-720q-35 0 -60 -25t-25 -60t25 -60t60 -25h720q8 0 13.5 -5.5t5.5 -13.5t-5.5 -13 t-13.5 -5h-720zM554 624q-26 0 -48 9.5t-39 26.5t-26.5 39t-9.5 48v667q0 25 9.5 47.5t26.5 39t39 26t48 9.5h601q8 0 13.5 -5t5.5 -13v-668q0 -8 -5.5 -13.5t-13.5 -5.5h-601q-18 0 -33.5 -6.5t-27 -18t-18 -27t-6.5 -32.5q0 -35 25 -60t60 -25h601q19 0 19 -19 q0 -8 -5.5 -13.5t-13.5 -5.5h-601zM1155 729q19 0 19 -19q0 -8 -5.5 -13.5t-13.5 -5.5h-601q-8 0 -13.5 5.5t-5.5 13.5q0 19 19 19h601zM1155 796q8 0 13.5 -5t5.5 -13q0 -19 -19 -19h-601q-19 0 -19 19q0 8 5.5 13t13.5 5h601zM195 280q-17 14 -40 14t-40 -14v96 q0 17 11.5 28.5t28.5 11.5t28.5 -11.5t11.5 -28.5v-96zM115 211q0 17 11.5 28.5t28.5 11.5t28.5 -11.5t11.5 -28.5t-11.5 -28.5t-28.5 -11.5t-28.5 11.5t-11.5 28.5zM114 979q0 43 -8.5 80t-21 71.5t-27.5 68t-27.5 69.5t-21 76.5t-8.5 89.5q0 37 10.5 75t30.5 68.5t48.5 50 t64.5 19.5t64.5 -19.5t48.5 -50t30.5 -68.5t10.5 -75q0 -49 -8.5 -89.5t-21 -76.5t-27.5 -69.5t-27.5 -68t-21 -71.5t-8.5 -80v-534q-17 14 -40 14t-40 -14v534zM66 1310q0 -16 9 -32.5t22 -30t28.5 -22.5t29.5 -9q22 0 41.5 16.5t34 45t23 66.5t8.5 82q0 35 -10.5 69.5 t-28.5 58.5q-2 3 -6 3q-8 0 -8 -10q6 -17 8.5 -34.5t2.5 -34.5q0 -39 -7.5 -74.5t-20 -62.5t-29 -42.5t-34.5 -15.5q-17 0 -29 10.5t-20 21.5q-4 4 -8 4t-5 -3.5t-1 -5.5zM1584 1213q-12 6 -25 6t-25 -6l13 41q3 8 12 8t12 -8zM1623 1080q-12 12 -28.5 19.5t-35.5 7.5 t-35 -7.5t-28 -19.5l27 84q10 25 36 25q12 0 22 -6.5t15 -17.5zM1559 355q-26 0 -45 18.5t-19 45.5q0 26 19 44.5t45 18.5t45 -18.5t19 -44.5q0 -27 -19 -45.5t-45 -18.5zM1559 447q-12 0 -20 -8.5t-8 -19.5q0 -12 8 -20.5t20 -8.5t20.5 8.5t8.5 20.5q0 11 -8.5 19.5 t-20.5 8.5zM1623 486q-12 13 -28 20.5t-36 7.5q-19 0 -35.5 -7.5t-28.5 -20.5v526q0 26 19 44.5t45 18.5t45 -18.5t19 -44.5v-269q-18 18 -40 24v-177q25 -8 40 -25v-79zM1526 73q34 0 58 -7.5t38 -18t20.5 -22t6.5 -19.5t-6.5 -19t-20.5 -21.5t-38 -18t-58 -7.5 q-32 0 -53 3.5t-41.5 8t-45.5 9t-65 5.5v-91q0 -9 -6.5 -15.5t-15.5 -6.5h-829q-9 0 -15.5 6.5t-6.5 15.5v92q-45 -1 -72 -5t-49 -9t-43.5 -9t-54.5 -4q-35 0 -58.5 7.5t-37.5 18t-20.5 21.5t-6.5 19t6.5 19.5t20.5 22t37.5 18t58.5 7.5q33 0 54.5 -4t43.5 -9t49 -9t72 -5 v92q0 9 6.5 15.5t15.5 6.5h829q9 0 15.5 -6.5t6.5 -15.5v-92q40 1 65 5.5t45.5 9.5t41.5 8.5t53 3.5zM1274 -68h-789v-31h789v31z" /> +<glyph unicode="s" horiz-adv-x="3691" d="M1147 1404q58 24 121 24q84 0 157.5 -41.5t118.5 -119.5q21 -37 31 -76.5t10 -79.5q0 -83 -41 -157.5t-119 -118.5q-55 -31 -115 -39v-579q0 -20 -41 -37.5t-111.5 -31t-165.5 -21t-203 -7.5t-202.5 7.5t-165.5 21t-112 31t-41 37.5v580q-69 11 -129 50.5t-97 105.5 q-42 75 -42 157q0 83 41.5 157.5t119.5 118.5q37 21 76.5 31.5t80.5 10.5q59 0 113 -21q29 60 76.5 109.5t113.5 80.5q41 20 83 29t84 9q55 0 108.5 -15.5t100.5 -44.5t85 -71t63 -95q1 -2 1 -3t1 -2zM1063 1333q18 10 18 30q0 6 -3 14q-27 59 -73.5 101t-107.5 64 q-53 19 -109 19q-73 0 -136 -31q-75 -35 -121 -98.5t-58 -138.5q-68 57 -156 57q-30 0 -60 -7.5t-58 -23.5q-42 -24 -71 -61t-42 -84q-9 -32 -9 -64q0 -63 32 -118q9 -17 29 -17q9 0 16 4q17 9 17 29q0 9 -4 16q-23 41 -23 87q0 22 6 45q19 69 82 105q40 22 85 22t86 -22.5 t65 -64.5l4 -5q7 -45 27 -87q9 -19 30 -19q8 0 14 3q9 5 14 13t5 17q0 8 -3 14q-13 26 -18.5 53.5t-5.5 54.5q0 36 10 70.5t28.5 64.5t45.5 54.5t61 40.5q52 24 108 24q45 0 87 -15q48 -17 84.5 -50.5t58.5 -79.5q9 -19 30 -19q7 0 15 3zM1387 902q58 33 89.5 89.5 t31.5 119.5q0 62 -32 118q-23 42 -60.5 71t-84.5 42q-32 9 -64 9q-62 0 -118 -32q-8 -5 -12 -13t-4 -16q0 -9 4 -16q9 -17 29 -17q9 0 16 4q41 23 86 23q23 0 46 -6q69 -20 105 -82q22 -40 22 -85t-22.5 -86.5t-64.5 -65.5q-17 -9 -17 -29q0 -9 4 -16q5 -8 13 -12.5t16 -4.5 q7 0 17 5zM789 32q108 0 203 7.5t165.5 20.5t111.5 31t41 38v-115q0 -20 -41 -37.5t-111.5 -31t-165.5 -21t-203 -7.5t-202.5 7.5t-165.5 21t-112 31t-41 37.5v115q0 -20 41 -38t112 -31t165.5 -20.5t202.5 -7.5zM2742 35q106 0 200 7.5t164 20t110.5 30t40.5 37.5v-113 q0 -20 -40.5 -37.5t-110.5 -30t-164 -20t-200 -7.5q-107 0 -200.5 7.5t-163 20t-110 30t-40.5 37.5v113q0 -20 40.5 -37.5t110 -30t163 -20t200.5 -7.5zM3539 583v-282q16 -10 25.5 -25.5t9.5 -35.5q0 -27 -18 -47q16 -19 26.5 -46t10.5 -59q0 -18 -4 -42.5t-10.5 -50 t-15 -50t-18.5 -44t-20.5 -31.5t-20.5 -12t-21 12t-21 31.5t-18.5 44t-15 50t-10.5 49.5t-4 43q0 32 10.5 59t27.5 46q-8 9 -13.5 21t-5.5 26q0 20 9.5 35.5t25.5 25.5v260l-211 -65v-278q0 -20 -40.5 -37.5t-110.5 -30.5t-164 -20.5t-200 -7.5q-107 0 -200.5 7.5t-163 20.5 t-110 30.5t-40.5 37.5v287l-405 125v62l934 286l934 -286v-62z" /> +<glyph unicode="t" horiz-adv-x="1643" d="M1250 586q103 -18 184.5 -44.5t138 -58.5t86.5 -70t30 -79v-431q0 -13 -9 -22t-23 -9h-813q-13 0 -22 9t-9 22v413l-359 216q-15 9 -15 27v175h-408q-13 0 -22 9t-9 22v431q0 66 74.5 121.5t211.5 95.5q-1 5 -1.5 9.5t-0.5 9.5q0 26 10.5 47.5t27.5 38.5q-8 41 -40.5 68 t-76.5 27q-11 0 -19.5 8.5t-8.5 19.5q0 12 8.5 20t19.5 8q60 0 106 -34.5t64 -88.5q7 2 13.5 3t14.5 1q24 0 45.5 -9.5t37.5 -25.5t25.5 -37.5t9.5 -45.5v-5l337 -203q18 -9 18 -28v-146q92 -2 179 -8.5t169 -20.5q9 -2 17.5 -8t8.5 -18v-409zM439 1507q-14 0 -23.5 -9.5 t-9.5 -23.5t9.5 -23.5t23.5 -9.5t23.5 9.5t9.5 23.5t-9.5 23.5t-23.5 9.5zM313 1354q-43 -12 -82 -26t-70.5 -30t-54.5 -34t-34 -37h659l-230 139q-16 -24 -41.5 -38.5t-56.5 -14.5q-27 0 -50 11t-40 30zM813 491l-312 188v-102l312 -188v102zM813 734h-147l147 -89v89z M813 908h-750v-112h750v112zM813 1164h-750v-112h750v112zM957 365h660q-16 27 -55 51.5t-92.5 45.5t-117 37.5t-127.5 27.5zM876 820l250 151q-60 7 -123 11t-127 5v-47v-120zM876 645l311 188v102l-311 -188v-102zM876 389l311 188v102l-311 -188v-102zM1626 47h-750v-112 h750v112zM1626 303h-750v-113h750v113z" /> +<glyph unicode="u" horiz-adv-x="5737" d="M2650 414q-71 0 -132 26t-105 71t-69 105.5t-25 129.5t24.5 130t69 106.5t106.5 71.5t136 26q91 0 150 -27.5t104 -71.5l-90 -104q-38 34 -77.5 53.5t-87.5 19.5q-41 0 -75.5 -16t-59 -43t-38.5 -63.5t-14 -78.5t13.5 -79t38.5 -65t59.5 -44t75.5 -16q56 0 93.5 20 t75.5 55l90 -91q-25 -26 -51.5 -47.5t-58 -36.5t-69.5 -23t-84 -8zM3301 426v53q-26 -29 -62 -46t-87 -17q-35 0 -65.5 10t-53.5 29t-36.5 47.5t-13.5 64.5q0 41 14.5 71t41 49.5t62.5 29t80 9.5q38 0 66.5 -5.5t54.5 -14.5v8q0 44 -26.5 67.5t-79.5 23.5q-40 0 -71 -7.5 t-65 -19.5l-35 106q41 18 84.5 29t106.5 11q115 0 167.5 -56t52.5 -157v-285h-135zM3304 624q-18 8 -41 13.5t-48 5.5q-45 0 -71 -17.5t-26 -51.5q0 -29 21 -45t55 -16q50 0 80 24t30 62v25zM3874 426l-128 201l-49 -52v-149h-140v671h140v-358l164 180h167l-188 -195 l194 -298h-160zM4537 623h-343q10 -48 41.5 -72t78.5 -24q35 0 63 11.5t57 38.5l80 -70q-35 -43 -84.5 -68t-117.5 -25q-56 0 -103 18.5t-81 52.5t-53.5 80.5t-19.5 103.5q0 54 18 101t50 82t76.5 55.5t98.5 20.5q62 0 107.5 -22t75 -59.5t44 -86t14.5 -100.5 q0 -12 -0.5 -19.5t-1.5 -17.5zM4298 816q-44 0 -71 -28.5t-35 -76.5h210q-6 47 -32.5 76t-71.5 29zM4886 416q-73 0 -143.5 25.5t-129.5 77.5l84 101q44 -36 90.5 -57.5t101.5 -21.5q44 0 68.5 16.5t24.5 44.5q0 14 -5 25t-19.5 20.5t-39.5 18.5t-65 20q-49 12 -88.5 26.5 t-67.5 36.5t-43 54t-15 80q0 44 16.5 80t46.5 61.5t71.5 39.5t90.5 14q71 0 130.5 -21t109.5 -60l-74 -107q-43 30 -84.5 46.5t-82.5 16.5q-42 0 -62.5 -16t-20.5 -40q0 -17 6 -28.5t21.5 -21t42.5 -18t69 -19.5q49 -12 87 -28t64 -38.5t39.5 -53t13.5 -72.5 q0 -49 -17.5 -86.5t-49 -63t-75 -39t-95.5 -13.5zM5388 941v-137h307v-129h-307v-249h-141v643h490v-128h-349zM1016 836l462 -114q60 23 94 52.5t34 61.5v185q0 38 -46.5 71.5t-126.5 58.5t-187.5 39.5t-229.5 14.5t-229 -14.5t-187 -39.5t-126.5 -58.5t-46.5 -71.5v-185 q0 -38 46.5 -71.5t126.5 -58.5t187 -39.5t229 -14.5v184zM1478 538l-462 114v-184l462 -114q60 23 94 52.5t34 61.5v184q0 -32 -34 -61.5t-94 -52.5zM427 468q0 -38 46.5 -71.5t126.5 -58.5t187 -39.5t229 -14.5v184q-122 0 -229 14.5t-187 39.5t-126.5 58.5t-46.5 71.5 v-184zM1552 -128q-77 0 -148.5 7t-139 19t-132 26.5t-127.5 29.5q-64 15 -126.5 29.5t-127 26t-131.5 18t-139 6.5q-102 0 -205 -15t-213 -44l-63 -17v1586l37 10q118 32 229 47.5t221 15.5q75 0 144.5 -6.5t135.5 -17.5t129 -25t125 -28l18 -4q64 -15 126.5 -29.5 t127 -25.5t131.5 -17.5t140 -6.5q100 0 199.5 13.5t206.5 42.5l63 16v-1585l-38 -10q-116 -32 -225 -47t-218 -15zM481 135q77 0 148.5 -7t139 -19t132 -27t127.5 -30q64 -15 126.5 -29.5t126.5 -25.5t131 -17.5t140 -6.5q184 0 380 49v1378q-188 -43 -368 -43 q-77 0 -148.5 7t-139.5 18.5t-133 26t-128 29.5q-64 15 -127 29t-128 25t-132.5 17.5t-140.5 6.5q-187 0 -386 -49v-1378q194 46 380 46z" /> +<glyph unicode="v" horiz-adv-x="1697" d="M849 1588q117 0 225.5 -30.5t202.5 -85.5t171.5 -132.5t132.5 -171.5t85.5 -202.5t30.5 -225.5t-30.5 -225.5t-85.5 -203t-132.5 -172t-171.5 -132.5t-202.5 -85.5t-225.5 -30.5h-849v849q0 117 30.5 225.5t85.5 202.5t132.5 171.5t172 132.5t203 85.5t225.5 30.5z M923 162q108 0 203 41t165.5 112t111.5 165.5t41 202.5q0 112 -43 208.5t-118 168.5q-43 57 -96 98q-73 77 -171 120t-207 43q-56 0 -111 -12q-92 -20 -167.5 -67.5t-129.5 -115.5t-84 -151t-30 -173q0 -56 12 -111q11 -52 31.5 -98.5t48.5 -88.5l-64 -305l346 35 q58 -35 124 -53.5t138 -18.5z" /> +<glyph unicode=" " /> +<glyph unicode=" " horiz-adv-x="862" /> +<glyph unicode=" " horiz-adv-x="1725" /> +<glyph unicode=" " horiz-adv-x="862" /> +<glyph unicode=" " horiz-adv-x="1725" /> +<glyph unicode=" " horiz-adv-x="575" /> +<glyph unicode=" " horiz-adv-x="431" /> +<glyph unicode=" " horiz-adv-x="287" /> +<glyph unicode=" " horiz-adv-x="287" /> +<glyph unicode=" " horiz-adv-x="215" /> +<glyph unicode=" " horiz-adv-x="345" /> +<glyph unicode=" " horiz-adv-x="95" /> +<glyph unicode=" " horiz-adv-x="345" /> +<glyph unicode=" " horiz-adv-x="431" /> +<glyph unicode="◼" horiz-adv-x="500" d="M0 0v0v0v0v0z" /> +</font> +</defs></svg>
\ No newline at end of file diff --git a/fai_gestion/webroot/font/cakedingbats-webfont.ttf b/fai_gestion/webroot/font/cakedingbats-webfont.ttf Binary files differnew file mode 100644 index 0000000..13d5445 --- /dev/null +++ b/fai_gestion/webroot/font/cakedingbats-webfont.ttf diff --git a/fai_gestion/webroot/font/cakedingbats-webfont.woff b/fai_gestion/webroot/font/cakedingbats-webfont.woff Binary files differnew file mode 100644 index 0000000..073baab --- /dev/null +++ b/fai_gestion/webroot/font/cakedingbats-webfont.woff diff --git a/fai_gestion/webroot/font/cakedingbats-webfont.woff2 b/fai_gestion/webroot/font/cakedingbats-webfont.woff2 Binary files differnew file mode 100644 index 0000000..6e71eaf --- /dev/null +++ b/fai_gestion/webroot/font/cakedingbats-webfont.woff2 diff --git a/fai_gestion/webroot/img/cake-logo.png b/fai_gestion/webroot/img/cake-logo.png Binary files differnew file mode 100644 index 0000000..41939ef --- /dev/null +++ b/fai_gestion/webroot/img/cake-logo.png diff --git a/fai_gestion/webroot/img/cake.icon.png b/fai_gestion/webroot/img/cake.icon.png Binary files differnew file mode 100644 index 0000000..394fa42 --- /dev/null +++ b/fai_gestion/webroot/img/cake.icon.png diff --git a/fai_gestion/webroot/img/cake.logo.svg b/fai_gestion/webroot/img/cake.logo.svg new file mode 100644 index 0000000..e73abb5 --- /dev/null +++ b/fai_gestion/webroot/img/cake.logo.svg @@ -0,0 +1,41 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="225.994px" height="45.258px" viewBox="0 0 225.994 45.258" enable-background="new 0 0 225.994 45.258" + xml:space="preserve"> + <g> + <g> + <path fill="#FFFFFF" d="M28.993,18.11l22.685,5.632c3.948-1.541,6.318-3.505,6.318-5.632V9.052C57.996,4.058,45.011,0,28.993,0 + C12.979,0,0,4.058,0,9.052v9.058c0,4.995,12.979,9.05,28.993,9.05V18.11z"/> + <path fill="#FFFFFF" d="M51.676,32.796L28.993,27.16v9.051l22.683,5.638c3.95-1.549,6.322-3.504,6.322-5.638V27.16 + C57.999,29.292,55.626,31.25,51.676,32.796"/> + <path fill="#FFFFFF" d="M0,27.16v9.052c0,4.996,12.979,9.047,28.993,9.047v-9.047C12.979,36.211,0,32.155,0,27.16"/> + <path fill="#FFFFFF" d="M82.884,35.384c-7.082,0-12.339-5.467-12.339-12.378V22.94c0-6.837,5.154-12.443,12.546-12.443 + c4.536,0,7.253,1.515,9.487,3.713l-3.368,3.882c-1.857-1.685-3.749-2.715-6.156-2.715c-4.055,0-6.975,3.368-6.975,7.493v0.069 + c0,4.124,2.849,7.562,6.975,7.562c2.751,0,4.435-1.1,6.324-2.82l3.367,3.402C90.273,33.734,87.525,35.384,82.884,35.384"/> + <path fill="#FFFFFF" d="M107.321,27.546c-0.894-0.416-2.064-0.688-3.334-0.688c-2.234,0-3.611,0.894-3.611,2.544v0.068 + c0,1.406,1.171,2.231,2.852,2.231c2.441,0,4.093-1.335,4.093-3.229V27.546z M107.215,34.968v-1.99 + c-1.269,1.408-3.021,2.337-5.568,2.337c-3.469,0-6.323-1.994-6.323-5.637v-0.069c0-4.023,3.056-5.879,7.422-5.879 + c1.859,0,3.2,0.312,4.506,0.756v-0.311c0-2.162-1.342-3.368-3.955-3.368c-1.993,0-3.4,0.379-5.086,0.997l-1.309-3.986 + c2.03-0.896,4.023-1.479,7.15-1.479c5.708,0,8.216,2.957,8.216,7.943v10.686H107.215z"/> + </g> + <polygon fill="#FFFFFF" points="128.629,34.968 123.816,27.443 121.994,29.368 121.994,34.968 116.772,34.968 116.772,9.876 + 121.994,9.876 121.994,23.25 128.115,16.547 134.37,16.547 127.358,23.797 134.609,34.968 "/> + <g> + <path fill="#FFFFFF" d="M144.469,20.396c-2.166,0-3.578,1.547-3.989,3.917h7.872C148.041,21.975,146.666,20.396,144.469,20.396 + M153.37,27.583h-12.819c0.514,2.371,2.164,3.605,4.504,3.605c1.752,0,3.022-0.552,4.465-1.89l2.994,2.647 + c-1.723,2.132-4.195,3.438-7.529,3.438c-5.535,0-9.628-3.885-9.628-9.521v-0.07c0-5.261,3.75-9.591,9.112-9.591 + c6.149,0,8.97,4.779,8.97,10.005v0.065C153.438,26.792,153.405,27.099,153.37,27.583"/> + <path fill="#FFFFFF" d="M171.551,19.329c0-2.371-1.647-3.641-4.296-3.641h-4.09v7.358h4.193c2.646,0,4.192-1.586,4.192-3.646 + V19.329z M167.184,27.751h-4.019v7.217h-5.292v-24.06h9.83c5.738,0,9.209,3.403,9.209,8.321v0.065 + C176.912,24.864,172.58,27.751,167.184,27.751"/> + </g> + <polygon fill="#FFFFFF" points="195.885,34.968 195.885,25.307 186.122,25.307 186.122,34.968 180.831,34.968 180.831,10.908 + 186.122,10.908 186.122,20.43 195.885,20.43 195.885,10.908 201.176,10.908 201.176,34.968 "/> + <g> + <path fill="#FFFFFF" d="M220.63,19.329c0-2.371-1.65-3.641-4.295-3.641h-4.091v7.358h4.191c2.649,0,4.194-1.586,4.194-3.646 + V19.329z M216.268,27.751h-4.023v7.217h-5.292v-24.06h9.829c5.737,0,9.213,3.403,9.213,8.321v0.065 + C225.994,24.864,221.662,27.751,216.268,27.751"/> + </g> + </g> +</svg> diff --git a/fai_gestion/webroot/img/cake.power.gif b/fai_gestion/webroot/img/cake.power.gif Binary files differnew file mode 100644 index 0000000..8f8d570 --- /dev/null +++ b/fai_gestion/webroot/img/cake.power.gif diff --git a/fai_gestion/webroot/index.php b/fai_gestion/webroot/index.php new file mode 100644 index 0000000..6bc06dc --- /dev/null +++ b/fai_gestion/webroot/index.php @@ -0,0 +1,40 @@ +<?php +/** + * The Front Controller for handling every request + * + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 0.2.9 + * @license MIT License (https://opensource.org/licenses/mit-license.php) + */ + +// Check platform requirements +require dirname(__DIR__) . '/config/requirements.php'; + +// For built-in server +if (PHP_SAPI === 'cli-server') { + $_SERVER['PHP_SELF'] = '/' . basename(__FILE__); + + $url = parse_url(urldecode($_SERVER['REQUEST_URI'])); + $file = __DIR__ . $url['path']; + if (strpos($url['path'], '..') === false && strpos($url['path'], '.') !== false && is_file($file)) { + return false; + } +} +require dirname(__DIR__) . '/vendor/autoload.php'; + +use App\Application; +use Cake\Http\Server; + +// Bind your application to the server. +$server = new Server(new Application(dirname(__DIR__) . '/config')); + +// Run the request/response through the application and emit the response. +$server->emit($server->run()); diff --git a/fai_gestion/webroot/js/empty b/fai_gestion/webroot/js/empty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/fai_gestion/webroot/js/empty |