diff --git a/config/app.default.php b/config/app.default.php deleted file mode 100644 index 52722ccafe505111f775ab26687beb48739c9f62..0000000000000000000000000000000000000000 --- a/config/app.default.php +++ /dev/null @@ -1,326 +0,0 @@ -<?php -return [ - /** - * Debug Level: - * - * Production Mode: - * false: No error messages, errors, or warnings shown. - * - * Development Mode: - * true: Errors and warnings shown. - */ - 'debug' => true, - - /** - * Configure basic information about the application. - * - * - namespace - The namespace to find app classes under. - * - 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. - * - 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' => 'UTF-8', - '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' => '__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' => 'File', - 'path' => CACHE, - ], - - /** - * Configure the cache used for general framework caching. Path information, - * object listings, and translation cache files are stored with this - * configuration. - */ - '_cake_core_' => [ - 'className' => 'File', - 'prefix' => 'myapp_cake_core_', - 'path' => CACHE . 'persistent/', - 'serialize' => true, - 'duration' => '+2 minutes', - ], - - /** - * Configure the cache for model and datasource caches. This cache - * configuration is used to store schema descriptions, and table listings - * in connections. - */ - '_cake_model_' => [ - 'className' => 'File', - 'prefix' => 'myapp_cake_model_', - 'path' => CACHE . 'models/', - 'serialize' => true, - 'duration' => '+2 minutes', - ], - ], - - /** - * 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']` - */ - 'Error' => [ - 'errorLevel' => E_ALL & ~E_DEPRECATED, - 'exceptionRenderer' => 'Cake\Error\ExceptionRenderer', - 'skipLog' => [], - 'log' => true, - 'trace' => true, - ], - - /** - * Email configuration. - * - * You can configure email transports and email delivery profiles here. - * - * 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. - * - * ### Configuring transports - * - * 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/Network/Email. Transports should be named - * 'YourTransport.php', where 'Your' is the name of the transport. - * - * ### Configuring 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\Network\Email\Email` - * for more information. - */ - 'EmailTransport' => [ - 'default' => [ - 'className' => 'Mail', - // The following keys are used in SMTP transports - 'host' => 'localhost', - 'port' => 25, - 'timeout' => 30, - 'username' => 'user', - 'password' => 'secret', - 'client' => null, - 'tls' => null, - ], - ], - - '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. - * Drivers include Mysql Postgres Sqlite Sqlserver - * See vendor\cakephp\cakephp\src\Database\Driver for complete list - */ - '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' => 'nonstandard_port_number', - 'username' => 'my_app', - 'password' => 'secret', - 'database' => 'my_app', - 'encoding' => 'utf8', - 'timezone' => 'UTC', - 'cacheMetadata' => true, - - /** - * 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'], - ], - - /** - * The test connection is used during the test suite. - */ - 'test' => [ - 'className' => 'Cake\Database\Connection', - 'driver' => 'Cake\Database\Driver\Mysql', - 'persistent' => false, - 'host' => 'localhost', - //'port' => 'nonstandard_port_number', - 'username' => 'my_app', - 'password' => 'secret', - 'database' => 'test_myapp', - 'encoding' => 'utf8', - 'timezone' => 'UTC', - 'cacheMetadata' => true, - 'quoteIdentifiers' => false, - //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], - ], - ], - - /** - * Configures logging options - */ - 'Log' => [ - 'debug' => [ - 'className' => 'Cake\Log\Engine\FileLog', - 'path' => LOGS, - 'file' => 'debug', - 'levels' => ['notice', 'info', 'debug'], - ], - 'error' => [ - 'className' => 'Cake\Log\Engine\FileLog', - 'path' => LOGS, - 'file' => 'error', - 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], - ], - ], - - /** - * - * 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'. - * - `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. - * - `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/config/app.php b/config/app.php deleted file mode 100644 index 1f0ed60bec092d65dd742c842bd5f8a0b6811a2c..0000000000000000000000000000000000000000 --- a/config/app.php +++ /dev/null @@ -1,318 +0,0 @@ -<?php -return [ - /** - * Debug Level: - * - * Production Mode: - * false: No error messages, errors, or warnings shown. - * - * Development Mode: - * true: Errors and warnings shown. - */ - 'debug' => true, - - /** - * Configure basic information about the application. - * - * - namespace - The namespace to find app classes under. - * - 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. - * - 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' => 'UTF-8', - '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' => '458b07223ca068cfc5e72f3d55cf397d61914bca2ccf7f8f506cf20bce579e85', - ], - - /** - * 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' => 'File', - 'path' => CACHE, - ], - - /** - * Configure the cache used for general framework caching. Path information, - * object listings, and translation cache files are stored with this - * configuration. - */ - '_cake_core_' => [ - 'className' => 'File', - 'prefix' => 'myapp_cake_core_', - 'path' => CACHE . 'persistent/', - 'serialize' => true, - 'duration' => '+2 minutes', - ], - - /** - * Configure the cache for model and datasource caches. This cache - * configuration is used to store schema descriptions, and table listings - * in connections. - */ - '_cake_model_' => [ - 'className' => 'File', - 'prefix' => 'myapp_cake_model_', - 'path' => CACHE . 'models/', - 'serialize' => true, - 'duration' => '+2 minutes', - ], - - /** - * Configure the cache for departures. - */ - 'departures' => [ - 'className' => 'File', - 'prefix' => 'vrr_', - 'path' => CACHE, - 'serialize' => true, - 'duration' => '+1 minutes', - ], - ], - - /** - * 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']` - */ - 'Error' => [ - 'errorLevel' => E_ALL & ~E_DEPRECATED, - 'exceptionRenderer' => 'Cake\Error\ExceptionRenderer', - 'skipLog' => [], - 'log' => true, - 'trace' => true, - ], - - /** - * Email configuration. - * - * You can configure email transports and email delivery profiles here. - * - * 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. - * - * ### Configuring transports - * - * 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/Network/Email. Transports should be named - * 'YourTransport.php', where 'Your' is the name of the transport. - * - * ### Configuring 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\Network\Email\Email` - * for more information. - */ - 'EmailTransport' => [ - 'default' => [ - 'className' => 'Mail', - // The following keys are used in SMTP transports - 'host' => 'localhost', - 'port' => 25, - 'timeout' => 30, - 'username' => 'user', - 'password' => 'secret', - 'client' => null, - 'tls' => null, - ], - ], - - '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. - * Drivers include Mysql Postgres Sqlite Sqlserver - * See vendor\cakephp\cakephp\src\Database\Driver for complete list - */ - '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' => 'nonstandard_port_number', - 'username' => 'infoboard', - 'password' => '3fA/$e2N', - 'database' => 'infoboard', - 'encoding' => 'utf8', - 'timezone' => 'UTC', - 'cacheMetadata' => true, - - /** - * 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'], - ], - ], - - /** - * Configures logging options - */ - 'Log' => [ - 'debug' => [ - 'className' => 'Cake\Log\Engine\FileLog', - 'path' => LOGS, - 'file' => 'debug', - 'levels' => ['notice', 'info', 'debug'], - ], - 'error' => [ - 'className' => 'Cake\Log\Engine\FileLog', - 'path' => LOGS, - 'file' => 'error', - 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], - ], - ], - - /** - * - * 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'. - * - `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. - * - `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/config/bootstrap.php b/config/bootstrap.php deleted file mode 100644 index d8631ab54884789de47148dca86903a0fcf4363a..0000000000000000000000000000000000000000 --- a/config/bootstrap.php +++ /dev/null @@ -1,203 +0,0 @@ -<?php -/** - * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) - * Copyright (c) Cake Software Foundation, Inc. (http://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. (http://cakefoundation.org) - * @link http://cakephp.org CakePHP(tm) Project - * @since 0.10.8 - * @license http://www.opensource.org/licenses/mit-license.php MIT License - */ - -/** - * Configure paths required to find CakePHP + general filepath - * constants - */ -require __DIR__ . '/paths.php'; - -// Use composer to load the autoloader. -require ROOT . DS . 'vendor' . DS . 'autoload.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'; - -// 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.', E_USER_ERROR); -} - -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\Log\Log; -use Cake\Network\Email\Email; -use Cake\Network\Request; -use Cake\Routing\DispatcherFactory; -use Cake\Utility\Inflector; -use Cake\Utility\Security; - -/** - * 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) { - die($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 = false the metadata cache should last -// for a very very long time, as we don't want -// to refresh the cache while users are doing requests. -if (!Configure::read('debug')) { - Configure::write('Cache._cake_model_.duration', '+1 years'); - Configure::write('Cache._cake_core_.duration', '+1 years'); -} - -/** - * Set server timezone to UTC. You can change it to another timezone of your - * choice but using UTC makes time calculations / conversions easier. - */ -date_default_timezone_set('UTC'); - -/** - * 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', 'en_US'); - -/** - * Register application error and exception handlers. - */ -$isCli = php_sapi_name() === '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::config(Configure::consume('Cache')); -ConnectionManager::config(Configure::consume('Datasources')); -Email::configTransport(Configure::consume('EmailTransport')); -Email::config(Configure::consume('Email')); -Log::config(Configure::consume('Log')); -Security::salt(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. - */ -Request::addDetector('mobile', function ($request) { - $detector = new \Detection\MobileDetect(); - return $detector->isMobile(); -}); -Request::addDetector('tablet', function ($request) { - $detector = new \Detection\MobileDetect(); - return $detector->isTablet(); -}); - -/** - * 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']); - */ - -/** - * Plugins need to be loaded manually, you can either load them one by one or all of them in a single call - * Uncomment one of the lines below, as you need. make sure you read the documentation on Plugin to use more - * advanced ways of loading plugins - * - * Plugin::loadAll(); // Loads all plugins at once - * Plugin::load('Migrations'); //Loads a single plugin named Migrations - * - */ - -Plugin::load('Cakeless'); -Plugin::load('Migrations'); - -// Only try to load DebugKit in development mode -// Debug Kit should not be installed on a production system -if (Configure::read('debug')) { - Plugin::load('DebugKit', ['bootstrap' => true]); -} - -/** - * Connect middleware/dispatcher filters. - */ -DispatcherFactory::add('Asset'); -DispatcherFactory::add('Routing'); -DispatcherFactory::add('ControllerFactory'); - -/** - * Enable default locale format parsing. - * This is needed for matching the auto-localized string output of Time() class when parsing dates. - */ -Type::build('datetime')->useLocaleParser(); diff --git a/config/bootstrap_cli.php b/config/bootstrap_cli.php deleted file mode 100644 index 13cf979fad13963b25c510973a8d8d9cbec76f02..0000000000000000000000000000000000000000 --- a/config/bootstrap_cli.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php -/** - * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) - * Copyright (c) Cake Software Foundation, Inc. (http://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. (http://cakefoundation.org) - * @link http://cakephp.org CakePHP(tm) Project - * @since 3.0.0 - * @license http://www.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 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'); - -try { - Plugin::load('Bake'); -} catch (MissingPluginException $e) { - // Do not halt if the plugin is missing -} diff --git a/config/layouts/oh14.json b/config/layouts/oh14.json old mode 100644 new mode 100755 index d0f3e4e0e92ec9d2332b821a8c4892d4086adf67..96bc45818306914e8590b198ff35d08f0a2fd3d8 --- a/config/layouts/oh14.json +++ b/config/layouts/oh14.json @@ -13,17 +13,19 @@ }, "down" : { "type" : "panel", - "name" : "none" + "name" : "clock", + "config": "2" } }, "right" : { "type" : "panel", - "name" : "departures", + "name" : "departure", "config" : "oh14" } }, "down" : { "type" : "panel", - "name" : "textscroll" + "name" : "scrollbar", + "config": "oh14" } } diff --git a/config/panel/departure/default.json b/config/panel/departure/default.json old mode 100644 new mode 100755 diff --git a/config/panel/departure/oh14.json b/config/panel/departure/oh14.json old mode 100644 new mode 100755 diff --git a/config/panel/scrollbar/oh14.json b/config/panel/scrollbar/oh14.json new file mode 100755 index 0000000000000000000000000000000000000000..6b936a4bac6e6401ad4683181a2f11172b2b764b --- /dev/null +++ b/config/panel/scrollbar/oh14.json @@ -0,0 +1,6 @@ +{ + "texts": [ + "dies ist ein test", + "der hoffentlich funktioniert" + ] +} \ No newline at end of file diff --git a/config/paths.php b/config/paths.php deleted file mode 100644 index fcaba5ce35037cb1002df0a3c7353007a28ecf5c..0000000000000000000000000000000000000000 --- a/config/paths.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/** - * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) - * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) - * - * Licensed under The MIT License - * Redistributions of files must retain the above copyright notice. - * - * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) - * @link http://cakephp.org CakePHP(tm) Project - * @since 3.0.0 - * @license MIT License (http://www.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/config/routes.php b/config/routes.php deleted file mode 100644 index cffbfd3179bf6d85854ab5bd11fd749261507960..0000000000000000000000000000000000000000 --- a/config/routes.php +++ /dev/null @@ -1,80 +0,0 @@ -<?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 (http://cakephp.org) - * Copyright (c) Cake Software Foundation, Inc. (http://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. (http://cakefoundation.org) - * @link http://cakephp.org CakePHP(tm) Project - * @license http://www.opensource.org/licenses/mit-license.php MIT License - */ - -use Cake\Core\Plugin; -use Cake\Routing\Router; - -/** - * 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. - * - */ -Router::defaultRouteClass('Route'); - -Router::scope('/', function ($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' => 'Layouts', 'action' => 'index']); - - /** - * ...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 `InflectedRoute`, the `fallbacks` method is a shortcut for - * `$routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'InflectedRoute']);` - * `$routes->connect('/:controller/:action/*', [], ['routeClass' => 'InflectedRoute']);` - * - * 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('InflectedRoute'); -}); - -/** - * Load all plugin routes. See the Plugin documentation on - * how to customize the loading of plugin routes. - */ -Plugin::routes(); diff --git a/config/schema/i18n.sql b/config/schema/i18n.sql deleted file mode 100644 index 66a42bd199c31fcc080ce0cb52f81f3009c912b3..0000000000000000000000000000000000000000 --- a/config/schema/i18n.sql +++ /dev/null @@ -1,27 +0,0 @@ -# $Id$ -# -# Copyright (c) Cake Software Foundation, Inc. (http://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 (http://www.opensource.org/licenses/mit-license.php) - -CREATE TABLE i18n ( - id int(10) 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 mediumtext, - PRIMARY KEY (id), -# UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field), -# INDEX I18N_LOCALE_ROW(locale, model, foreign_key), -# INDEX I18N_LOCALE_MODEL(locale, model), -# INDEX I18N_FIELD(model, foreign_key, field), -# INDEX I18N_ROW(model, foreign_key), - INDEX locale (locale), - INDEX model (model), - INDEX row_id (foreign_key), - INDEX field (field) -); \ No newline at end of file diff --git a/config/schema/sessions.sql b/config/schema/sessions.sql deleted file mode 100644 index 434e1aa1cc9e556a105db54b2796dd3d9e30b3de..0000000000000000000000000000000000000000 --- a/config/schema/sessions.sql +++ /dev/null @@ -1,17 +0,0 @@ -# $Id$ -# -# Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) -# 1785 E. Sahara Avenue, Suite 490-204 -# Las Vegas, Nevada 89104 -# -# 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 (http://www.opensource.org/licenses/mit-license.php) - -CREATE TABLE sessions ( - id varchar(40) NOT NULL default '', - data text, - expires INT(11) NOT NULL, - PRIMARY KEY (id) -); diff --git a/css/design.css b/css/design.css new file mode 100755 index 0000000000000000000000000000000000000000..1266056427da76bcb1fd1ae62d0193ed76982154 --- /dev/null +++ b/css/design.css @@ -0,0 +1,61 @@ +@viewport { + width: device-width; + user-zoom:fixed; +} + +body { + margin: 0px; + background: #EEE; + font-family: Arial; + overflow:hidden; +} + +[data-container=panel] { + background-color: #FFF; + border: solid 1px #F0F0F0; + box-shadow: 0px 2px 1px #D3D3D3; + padding: 6px; +/* margin: 5px;*/ + float:left; + box-sizing: border-box; + height:100%; + width:100%; + overflow: hidden; +} + +[data-container=panelContainer] { + float: left; + width: 100%; + height: 100%; + /*padding: 4px;*/ + padding: 0.2vw; + box-sizing: border-box; +} + +[data-container=split] { + box-sizing: border-box; +/* display: flex; + flex-direction: column;*/ + height:100%; + width:100%; + float: left; +} + +[data-container=main] { + height:100%; + width:100%; + position:absolute; + + box-sizing: border-box; + padding: 0.2vw; +} + +[background] { + background: url('biber.svg') no-repeat; + background-position: 50% 50%; + position: absolute; + height: 95%; + width: 100%; + overflow: hidden; + opacity: 0.1; +} diff --git a/css/font.css b/css/font.css new file mode 100755 index 0000000000000000000000000000000000000000..916db56c699a51a98c982df540b5bedc6f0aaa76 --- /dev/null +++ b/css/font.css @@ -0,0 +1,41 @@ +@font-face { + font-family: 'time'; + font-style: normal; + font-weight: 400; + src: url(font/time.ttf) format('truetype'); +} + +@font-face { + font-family: 'vrr'; + font-style: normal; + font-weight: 400; + src: url(font/vrr.ttf) format('truetype'); +} + +@font-face { + font-family: 'display'; + font-style: normal; + font-weight: 400; + src: url(font/display.ttf) format('truetype'); +} + +@font-face { + font-family: 'newcicle'; + font-style: normal; + font-weight: 400; + src: url(font/NewCicle.ttf) format('truetype'); +} + +@font-face { + font-family: 'Ubuntu Mono'; + font-style: normal; + font-weight: 400; + src: local('Ubuntu Mono'), local('UbuntuMono-Regular'), url(ubuntumono.woff) format('woff'); +} + +@font-face { + font-family: 'LCD'; + font-style: normal; + font-weight: 400; + src: url(font/lcd_clock.ttf) format('truetype'); +} diff --git a/css/font/NewCicle.ttf b/css/font/NewCicle.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e651dc554798781ffecc64d9e7956b72c9fb58ea Binary files /dev/null and b/css/font/NewCicle.ttf differ diff --git a/css/font/display.ttf b/css/font/display.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e37beb972ec3a0e6e1f20c8ff61548380c2b40be Binary files /dev/null and b/css/font/display.ttf differ diff --git a/css/font/lcd_clock.ttf b/css/font/lcd_clock.ttf new file mode 100755 index 0000000000000000000000000000000000000000..8696ac521bd0553858419f7ccbc0ffe65e552fcb Binary files /dev/null and b/css/font/lcd_clock.ttf differ diff --git a/css/font/time.ttf b/css/font/time.ttf new file mode 100755 index 0000000000000000000000000000000000000000..4578db5ac6aa8114e29e1287232f59db2063e08d Binary files /dev/null and b/css/font/time.ttf differ diff --git a/css/font/ubuntumono.woff b/css/font/ubuntumono.woff new file mode 100755 index 0000000000000000000000000000000000000000..87035be15798cff3909673863c5e6c9ccb29204a Binary files /dev/null and b/css/font/ubuntumono.woff differ diff --git a/css/font/vrr.ttf b/css/font/vrr.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e532b93c53c04b6c8e131761c1e0b56889dc19a8 Binary files /dev/null and b/css/font/vrr.ttf differ diff --git a/css/marquee.css b/css/marquee.css new file mode 100755 index 0000000000000000000000000000000000000000..b288625ce4d45b9d4a3484d99014c17afd90d0f7 --- /dev/null +++ b/css/marquee.css @@ -0,0 +1,9 @@ +@keyframes marquee { + from {transform:translateX(0%);} + to {transform:translateX(-20%);} +} + +@-webkit-keyframes marquee { + from {transform:translateX(0%);} + to {transform:translateX(-20%);} +} \ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..aaac9c853a085a151ef0b2ded6f03ecd88f88899 Binary files /dev/null and b/favicon.ico differ diff --git a/index.php b/index.php old mode 100644 new mode 100755 index fc5e39ccbb6bd738ed77f53510d8c601d9d1fe77..9aa176419ea3ec4eb25217e23a65bff672469df9 --- a/index.php +++ b/index.php @@ -1,16 +1,28 @@ -<?php -/** - * CakePHP(tm) : Rapid Development Framework (http://cakephp.org) - * Copyright (c) Cake Software Foundation, Inc. (http://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. (http://cakefoundation.org) - * @link http://cakephp.org CakePHP(tm) Project - * @since 0.10.0 - * @license http://www.opensource.org/licenses/mit-license.php MIT License - */ - -require 'webroot' . DIRECTORY_SEPARATOR . 'index.php'; +<!DOCTYPE html> +<html> + <head> + <title>Infoboard</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link href="favicon.ico" type="image/x-icon" rel="icon"> + <link href="favicon.ico" type="image/x-icon" rel="shortcut icon"> + <link rel="stylesheet" href="css/font.css"> + <link rel="stylesheet" href="css/design.css"> + <link rel="stylesheet" href="css/marquee.css"> + <script type="text/javascript" src="js/jquery-2.1.4.min.js"></script> + <script type="text/javascript" src="js/jquery.textfill.min.js"></script> + <script type="text/javascript" src="js/marquee.js"></script> + <script type="text/javascript" src="js/panelAPI.js"></script> + <script type="text/javascript"> + //<![CDATA[ + $(document).ready(function(){ + layout.loadLayout("<?= isset( $_GET["layout"] ) ? $_GET["layout"] : "oh14" ?>"); + }); + //]]> + </script> + </head> + <body> + <div data-container="main"> + </div> + </body> +</html> diff --git a/js/jquery-2.1.4.min.js b/js/jquery-2.1.4.min.js new file mode 100755 index 0000000000000000000000000000000000000000..49990d6e14503798f142dcb0d5b23cb0c8f80244 --- /dev/null +++ b/js/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ia={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qa[0].contentDocument,b.write(),b.close(),c=sa(a,b),qa.detach()),ra[a]=c),c}var ua=/^margin/,va=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wa=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)};function xa(a,b,c){var d,e,f,g,h=a.style;return c=c||wa(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),va.test(g)&&ua.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function ya(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),f.removeChild(c),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var za=/^(none|table(?!-c[ea]).+)/,Aa=new RegExp("^("+Q+")(.*)$","i"),Ba=new RegExp("^([+-])=("+Q+")","i"),Ca={position:"absolute",visibility:"hidden",display:"block"},Da={letterSpacing:"0",fontWeight:"400"},Ea=["Webkit","O","Moz","ms"];function Fa(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Ea.length;while(e--)if(b=Ea[e]+c,b in a)return b;return d}function Ga(a,b,c){var d=Aa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Ha(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ia(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wa(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xa(a,b,f),(0>e||null==e)&&(e=a.style[b]),va.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Ha(a,b,c||(g?"border":"content"),d,f)+"px"}function Ja(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",ta(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xa(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fa(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ba.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fa(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xa(a,b,d)),"normal"===e&&b in Da&&(e=Da[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?za.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Ca,function(){return Ia(a,b,d)}):Ia(a,b,d):void 0},set:function(a,c,d){var e=d&&wa(a);return Ga(a,c,d?Ha(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=ya(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ua.test(a)||(n.cssHooks[a+b].set=Ga)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wa(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Ja(this,!0)},hide:function(){return Ja(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Ka(a,b,c,d,e){return new Ka.prototype.init(a,b,c,d,e)}n.Tween=Ka,Ka.prototype={constructor:Ka,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ka.propHooks[this.prop];return a&&a.get?a.get(this):Ka.propHooks._default.get(this)},run:function(a){var b,c=Ka.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ka.propHooks._default.set(this),this}},Ka.prototype.init.prototype=Ka.prototype,Ka.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Ka.propHooks.scrollTop=Ka.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Ka.prototype.init,n.fx.step={};var La,Ma,Na=/^(?:toggle|show|hide)$/,Oa=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pa=/queueHooks$/,Qa=[Va],Ra={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Oa.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Oa.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sa(){return setTimeout(function(){La=void 0}),La=n.now()}function Ta(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ua(a,b,c){for(var d,e=(Ra[b]||[]).concat(Ra["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Va(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||ta(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Na.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?ta(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ua(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wa(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xa(a,b,c){var d,e,f=0,g=Qa.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=La||Sa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:La||Sa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wa(k,j.opts.specialEasing);g>f;f++)if(d=Qa[f].call(j,a,k,j.opts))return d;return n.map(k,Ua,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xa,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Ra[c]=Ra[c]||[],Ra[c].unshift(b)},prefilter:function(a,b){b?Qa.unshift(a):Qa.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xa(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pa.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Ta(b,!0),a,d,e)}}),n.each({slideDown:Ta("show"),slideUp:Ta("hide"),slideToggle:Ta("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(La=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),La=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ma||(Ma=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Ma),Ma=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Ya,Za,$a=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Za:Ya)), +void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Za={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$a[b]||n.find.attr;$a[b]=function(a,b,d){var e,f;return d||(f=$a[b],$a[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$a[b]=f),e}});var _a=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_a.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ab=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ab," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ab," ").indexOf(b)>=0)return!0;return!1}});var bb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cb=n.now(),db=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var eb=/#.*$/,fb=/([?&])_=[^&]*/,gb=/^(.*?):[ \t]*([^\r\n]*)$/gm,hb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,ib=/^(?:GET|HEAD)$/,jb=/^\/\//,kb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,lb={},mb={},nb="*/".concat("*"),ob=a.location.href,pb=kb.exec(ob.toLowerCase())||[];function qb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function rb(a,b,c,d){var e={},f=a===mb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function sb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function tb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function ub(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ob,type:"GET",isLocal:hb.test(pb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":nb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?sb(sb(a,n.ajaxSettings),b):sb(n.ajaxSettings,a)},ajaxPrefilter:qb(lb),ajaxTransport:qb(mb),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=gb.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||ob)+"").replace(eb,"").replace(jb,pb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=kb.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===pb[1]&&h[2]===pb[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(pb[3]||("http:"===pb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),rb(lb,k,b,v),2===t)return v;i=n.event&&k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!ib.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(db.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=fb.test(d)?d.replace(fb,"$1_="+cb++):d+(db.test(d)?"&":"?")+"_="+cb++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+nb+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=rb(mb,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=tb(k,v,f)),u=ub(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var vb=/%20/g,wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&").replace(vb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Bb=0,Cb={},Db={0:200,1223:204},Eb=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Cb)Cb[a]()}),k.cors=!!Eb&&"withCredentials"in Eb,k.ajax=Eb=!!Eb,n.ajaxTransport(function(a){var b;return k.cors||Eb&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Bb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Cb[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Db[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Cb[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Fb=[],Gb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Fb.pop()||n.expando+"_"+cb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Gb.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Gb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Gb,"$1"+e):b.jsonp!==!1&&(b.url+=(db.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Fb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Hb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Hb)return Hb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Ib=a.document.documentElement;function Jb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Jb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Ib;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ib})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Jb(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=ya(k.pixelPosition,function(a,c){return c?(c=xa(a,b),va.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Kb=a.jQuery,Lb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Lb),b&&a.jQuery===n&&(a.jQuery=Kb),n},typeof b===U&&(a.jQuery=a.$=n),n}); diff --git a/js/jquery.textfill.min.js b/js/jquery.textfill.min.js new file mode 100755 index 0000000000000000000000000000000000000000..3ed01dbde34ca21e858e2a941844c9d206ba2dd7 --- /dev/null +++ b/js/jquery.textfill.min.js @@ -0,0 +1,20 @@ +/* + textfill + @name jquery.textfill.js + @author Russ Painter + @author Yu-Jie Lin + @author Alexandre Dantas + @version 0.6.0 + @date 2014-08-19 + @copyright (c) 2014 Alexandre Dantas + @copyright (c) 2012-2013 Yu-Jie Lin + @copyright (c) 2009 Russ Painter + @license MIT License + @homepage https://github.com/jquery-textfill/jquery-textfill + @example http://jquery-textfill.github.io/jquery-textfill/index.html +*/ +(function(m){m.fn.textfill=function(r){function f(){a.debug&&"undefined"!=typeof console&&"undefined"!=typeof console.debug&&console.debug.apply(console,arguments)}function s(){"undefined"!=typeof console&&"undefined"!=typeof console.warn&&console.warn.apply(console,arguments)}function p(a,b,e,k,n,g){function d(a,b){var c=" / ";a>b?c=" > ":a==b&&(c=" = ");return c}f("[TextFill] "+a+" { font-size: "+b.css("font-size")+",Height: "+b.height()+"px "+d(b.height(),e)+e+"px,Width: "+b.width()+d(b.width(), +k)+k+",minFontPixels: "+n+"px, maxFontPixels: "+g+"px }")}function q(a,b,e,k,f,g,d,h){for(p(a,b,f,g,d,h);d<h-1;){var l=Math.floor((d+h)/2);b.css("font-size",l);if(e.call(b)<=k){if(d=l,e.call(b)==k)break}else h=l;p(a,b,f,g,d,h)}b.css("font-size",h);e.call(b)<=k&&(d=h,p(a+"* ",b,f,g,d,h));return d}var a=m.extend({debug:!1,maxFontPixels:40,minFontPixels:4,innerTag:"span",widthOnly:!1,success:null,callback:null,fail:null,complete:null,explicitWidth:null,explicitHeight:null,changeLineHeight:!1},r);f("[TextFill] Start Debug"); +this.each(function(){var c=m(a.innerTag+":visible:first",this),b=a.explicitHeight||m(this).height(),e=a.explicitWidth||m(this).width(),k=c.css("font-size"),n=parseFloat(c.css("line-height"))/parseFloat(k);f("[TextFill] Inner text: "+c.text());f("[TextFill] All options: ",a);f("[TextFill] Maximum sizes: { Height: "+b+"px, Width: "+e+"px }");var g=a.minFontPixels,d=0>=a.maxFontPixels?b:a.maxFontPixels,h=void 0;a.widthOnly||(h=q("Height",c,m.fn.height,b,b,e,g,d));var l=void 0,l=q("Width",c,m.fn.width, +e,b,e,g,d);a.widthOnly?(c.css({"font-size":l,"white-space":"nowrap"}),a.changeLineHeight&&c.parent().css("line-height",n*l+"px")):(g=Math.min(h,l),c.css("font-size",g),a.changeLineHeight&&c.parent().css("line-height",n*g+"px"));f("[TextFill] Finished { Old font-size: "+k+", New font-size: "+c.css("font-size")+" }");c.width()>e||c.height()>b&&!a.widthOnly?(c.css("font-size",k),a.fail&&a.fail(this),f("[TextFill] Failure { Current Width: "+c.width()+", Maximum Width: "+e+", Current Height: "+c.height()+ +", Maximum Height: "+b+" }")):a.success?a.success(this):a.callback&&(s("callback is deprecated, use success, instead"),a.callback(this))});a.complete&&a.complete(this);f("[TextFill] End Debug");return this}})(window.jQuery); diff --git a/js/marquee.js b/js/marquee.js new file mode 100755 index 0000000000000000000000000000000000000000..1b1ab54798d9e9a669a8ab1d88bf68f85c6ca6db --- /dev/null +++ b/js/marquee.js @@ -0,0 +1,38 @@ +const + MARQUEE_SPEED_PRECISION = 2; // defines the number of decimal places for speed calculation + +function initMarquee(panel) { + var marquee=$(panel).find('marquee'); + for (var i=0;i<marquee.size();i++) { + marqueeToCSS(marquee[i]); + } +} + +function marqueeToCSS(marquee) { + // TODO insert font and font-size + var + speed = $(marquee).attr("data-speed") || "1.0", + content = $(marquee).html(), + result = ''; + // generate css html + result += '<div data-marquee data-css-marquee>'; + result += '<div data-css-marquee-text>'; + result += content; + result += '</div>'; + result += '</div>'; + // create html and replace marquee + var element = document.createElement('hidden'); + $(element).html(result); + $(marquee).replaceWith(element); + // corrections + var text = $(element).find("div[data-css-marquee-text]")[0]; + $($(element).find("div[data-css-marquee]")[0]).css("user-select","none"); + var textWidth = $(text).outerWidth(); + $(text).css("animation",'marquee ' + (textWidth / speed).toFixed(MARQUEE_SPEED_PRECISION) + 's linear infinite'); + $(text).html(repeatString(content, 5)); + $(element).replaceWith($(element).html()); +} + +function repeatString(str, times) { + return (new Array(times + 1)).join(str); +} \ No newline at end of file diff --git a/js/panelAPI.js b/js/panelAPI.js new file mode 100755 index 0000000000000000000000000000000000000000..24ef024f03137bfd19ec304327f55cb81787972f --- /dev/null +++ b/js/panelAPI.js @@ -0,0 +1,141 @@ +layout = {}; + +layout.processLayout = function(json, container) { + switch(json.type) { + case "ysplit": + var cont = $("<div>").attr("data-container","split"); + $(container).append(cont); + layout.processLayout(json.up, cont).css("height",json.cut+"%"); + layout.processLayout(json.down, cont).css("height",(100.0-json.cut)+"%"); + return cont; + case "xsplit": + var cont = $("<div>").attr("data-container","split"); + $(container).append(cont); + layout.processLayout(json.left, cont).css("width",json.cut+"%"); + layout.processLayout(json.right, cont).css("width",(100.0-json.cut)+"%"); + return cont; + case "panel": + var p = $("<div>") + .attr("data-container","panel") + .attr("data-template",json.name) + .attr("data-config",json.config); + var cont = $("<div>").attr("data-container","panelContainer").append(p); + $(container).append(cont); + + if (json.name != "") { + layout.insertTemplate(json.name,p); + } + + return cont; + default: + layout.error(json); + break; + } +} + +layout.insertTemplate = function(name, panel) { + var tmp = null; + for (ti in layout.templates) { + if (layout.templates[ti].name == name) + { + layout.templates[ti].panels.push(panel); + return; + } + + } + + this.templates.push( + { + "name": name, + "template": null, + "panels": [panel], + "script": function() {}, + "css": null, + "loadTemplate": function() { + var t = this; + var e = {}; + + var doMore = function() { + if (e.js == null || e.css == null || e.template == null) + return; + + if (e.js != null) { + eval("doStuff = function() {\n" + e.js + "\n}"); + t.script = doStuff; + doStuff = null; + } + + if (e.css!=null) { + t.css = $("<style>").attr("type","text/css").attr("data-template",t.name).text(e.css); + $("body").append(t.css); + } + t.template = $.parseHTML(e.template); + + for (p in t.panels) { + t.panels[p].append( + $(t.template).clone() + ).ready(function() { + if (t.script == null) { + + } else { + t.panels[p].js=new t.script(); + try { + if (typeof t.panels[p].js.loaded == 'function') + t.panels[p].js.loaded(t.panels[p], t.panels[p].attr("data-config")); + } catch (ex) { + console.log("Layout: exception when running loading for " + t.name + "\n" + ex); + } + } + }); + } + } + + $.get("panels/" + this.name + "/template.html", function(k) { + e.template=k; + doMore(); + }).fail(function() { + layout.error("get fail"); + }); + + $.get("style.php?style=" + this.name, function(k) { + e.css=k; + doMore(); + }).fail(function() { + layout.error("get fail"); + }); + + $.get("panels/" + this.name + "/script.js", function(k) { + e.js=k; + doMore(); + }).fail(function() { + layout.error("get fail"); + }); + + } + } + ) +} + +layout.panelLoaded = function(panel) { + console.log(panel); +} + +layout.loadLayout = function(layoutname) { + var w = "config/layouts/"+layoutname+".json"; + console.log(w); + $.get(w, function(e) { + layout.processLayout(e, $("[data-container=main]")); + for (var tmp in layout.templates) { + layout.templates[tmp].loadTemplate(); + } + }).fail(function() { + layout.error("get fail"); + }); +}, + + +layout.error = function(e) { + console.log("Layout: Error " + e); +}, + +layout.templates = []; diff --git a/lessc.php b/lessc.php new file mode 100755 index 0000000000000000000000000000000000000000..261e7efdce2f988d4d652e9ad7fcc4da19284c9e --- /dev/null +++ b/lessc.php @@ -0,0 +1,3766 @@ +<?php + +/** + * lessphp v0.5.0 + * http://leafo.net/lessphp + * + * LESS CSS compiler, adapted from http://lesscss.org + * + * Copyright 2013, Leaf Corcoran <leafot@gmail.com> + * Licensed under MIT or GPLv3, see LICENSE + */ + + +/** + * The LESS compiler and parser. + * + * Converting LESS to CSS is a three stage process. The incoming file is parsed + * by `lessc_parser` into a syntax tree, then it is compiled into another tree + * representing the CSS structure by `lessc`. The CSS tree is fed into a + * formatter, like `lessc_formatter` which then outputs CSS as a string. + * + * During the first compile, all values are *reduced*, which means that their + * types are brought to the lowest form before being dump as strings. This + * handles math equations, variable dereferences, and the like. + * + * The `parse` function of `lessc` is the entry point. + * + * In summary: + * + * The `lessc` class creates an instance of the parser, feeds it LESS code, + * then transforms the resulting tree to a CSS tree. This class also holds the + * evaluation context, such as all available mixins and variables at any given + * time. + * + * The `lessc_parser` class is only concerned with parsing its input. + * + * The `lessc_formatter` takes a CSS tree, and dumps it to a formatted string, + * handling things like indentation. + */ +class lessc { + static public $VERSION = "v0.5.0"; + + static public $TRUE = array("keyword", "true"); + static public $FALSE = array("keyword", "false"); + + protected $libFunctions = array(); + protected $registeredVars = array(); + protected $preserveComments = false; + + public $vPrefix = '@'; // prefix of abstract properties + public $mPrefix = '$'; // prefix of abstract blocks + public $parentSelector = '&'; + + public $importDisabled = false; + public $importDir = ''; + + protected $numberPrecision = null; + + protected $allParsedFiles = array(); + + // set to the parser that generated the current line when compiling + // so we know how to create error messages + protected $sourceParser = null; + protected $sourceLoc = null; + + static protected $nextImportId = 0; // uniquely identify imports + + // attempts to find the path of an import url, returns null for css files + protected function findImport($url) { + foreach ((array)$this->importDir as $dir) { + $full = $dir.(substr($dir, -1) != '/' ? '/' : '').$url; + if ($this->fileExists($file = $full.'.less') || $this->fileExists($file = $full)) { + return $file; + } + } + + return null; + } + + protected function fileExists($name) { + return is_file($name); + } + + static public function compressList($items, $delim) { + if (!isset($items[1]) && isset($items[0])) return $items[0]; + else return array('list', $delim, $items); + } + + static public function preg_quote($what) { + return preg_quote($what, '/'); + } + + protected function tryImport($importPath, $parentBlock, $out) { + if ($importPath[0] == "function" && $importPath[1] == "url") { + $importPath = $this->flattenList($importPath[2]); + } + + $str = $this->coerceString($importPath); + if ($str === null) return false; + + $url = $this->compileValue($this->lib_e($str)); + + // don't import if it ends in css + if (substr_compare($url, '.css', -4, 4) === 0) return false; + + $realPath = $this->findImport($url); + + if ($realPath === null) return false; + + if ($this->importDisabled) { + return array(false, "/* import disabled */"); + } + + if (isset($this->allParsedFiles[realpath($realPath)])) { + return array(false, null); + } + + $this->addParsedFile($realPath); + $parser = $this->makeParser($realPath); + $root = $parser->parse(file_get_contents($realPath)); + + // set the parents of all the block props + foreach ($root->props as $prop) { + if ($prop[0] == "block") { + $prop[1]->parent = $parentBlock; + } + } + + // copy mixins into scope, set their parents + // bring blocks from import into current block + // TODO: need to mark the source parser these came from this file + foreach ($root->children as $childName => $child) { + if (isset($parentBlock->children[$childName])) { + $parentBlock->children[$childName] = array_merge( + $parentBlock->children[$childName], + $child); + } else { + $parentBlock->children[$childName] = $child; + } + } + + $pi = pathinfo($realPath); + $dir = $pi["dirname"]; + + list($top, $bottom) = $this->sortProps($root->props, true); + $this->compileImportedProps($top, $parentBlock, $out, $parser, $dir); + + return array(true, $bottom, $parser, $dir); + } + + protected function compileImportedProps($props, $block, $out, $sourceParser, $importDir) { + $oldSourceParser = $this->sourceParser; + + $oldImport = $this->importDir; + + // TODO: this is because the importDir api is stupid + $this->importDir = (array)$this->importDir; + array_unshift($this->importDir, $importDir); + + foreach ($props as $prop) { + $this->compileProp($prop, $block, $out); + } + + $this->importDir = $oldImport; + $this->sourceParser = $oldSourceParser; + } + + /** + * Recursively compiles a block. + * + * A block is analogous to a CSS block in most cases. A single LESS document + * is encapsulated in a block when parsed, but it does not have parent tags + * so all of it's children appear on the root level when compiled. + * + * Blocks are made up of props and children. + * + * Props are property instructions, array tuples which describe an action + * to be taken, eg. write a property, set a variable, mixin a block. + * + * The children of a block are just all the blocks that are defined within. + * This is used to look up mixins when performing a mixin. + * + * Compiling the block involves pushing a fresh environment on the stack, + * and iterating through the props, compiling each one. + * + * See lessc::compileProp() + * + */ + protected function compileBlock($block) { + switch ($block->type) { + case "root": + $this->compileRoot($block); + break; + case null: + $this->compileCSSBlock($block); + break; + case "media": + $this->compileMedia($block); + break; + case "directive": + $name = "@" . $block->name; + if (!empty($block->value)) { + $name .= " " . $this->compileValue($this->reduce($block->value)); + } + + $this->compileNestedBlock($block, array($name)); + break; + default: + $this->throwError("unknown block type: $block->type\n"); + } + } + + protected function compileCSSBlock($block) { + $env = $this->pushEnv(); + + $selectors = $this->compileSelectors($block->tags); + $env->selectors = $this->multiplySelectors($selectors); + $out = $this->makeOutputBlock(null, $env->selectors); + + $this->scope->children[] = $out; + $this->compileProps($block, $out); + + $block->scope = $env; // mixins carry scope with them! + $this->popEnv(); + } + + protected function compileMedia($media) { + $env = $this->pushEnv($media); + $parentScope = $this->mediaParent($this->scope); + + $query = $this->compileMediaQuery($this->multiplyMedia($env)); + + $this->scope = $this->makeOutputBlock($media->type, array($query)); + $parentScope->children[] = $this->scope; + + $this->compileProps($media, $this->scope); + + if (count($this->scope->lines) > 0) { + $orphanSelelectors = $this->findClosestSelectors(); + if (!is_null($orphanSelelectors)) { + $orphan = $this->makeOutputBlock(null, $orphanSelelectors); + $orphan->lines = $this->scope->lines; + array_unshift($this->scope->children, $orphan); + $this->scope->lines = array(); + } + } + + $this->scope = $this->scope->parent; + $this->popEnv(); + } + + protected function mediaParent($scope) { + while (!empty($scope->parent)) { + if (!empty($scope->type) && $scope->type != "media") { + break; + } + $scope = $scope->parent; + } + + return $scope; + } + + protected function compileNestedBlock($block, $selectors) { + $this->pushEnv($block); + $this->scope = $this->makeOutputBlock($block->type, $selectors); + $this->scope->parent->children[] = $this->scope; + + $this->compileProps($block, $this->scope); + + $this->scope = $this->scope->parent; + $this->popEnv(); + } + + protected function compileRoot($root) { + $this->pushEnv(); + $this->scope = $this->makeOutputBlock($root->type); + $this->compileProps($root, $this->scope); + $this->popEnv(); + } + + protected function compileProps($block, $out) { + foreach ($this->sortProps($block->props) as $prop) { + $this->compileProp($prop, $block, $out); + } + $out->lines = $this->deduplicate($out->lines); + } + + /** + * Deduplicate lines in a block. Comments are not deduplicated. If a + * duplicate rule is detected, the comments immediately preceding each + * occurence are consolidated. + */ + protected function deduplicate($lines) { + $unique = array(); + $comments = array(); + + foreach($lines as $line) { + if (strpos($line, '/*') === 0) { + $comments[] = $line; + continue; + } + if (!in_array($line, $unique)) { + $unique[] = $line; + } + array_splice($unique, array_search($line, $unique), 0, $comments); + $comments = array(); + } + return array_merge($unique, $comments); + } + + protected function sortProps($props, $split = false) { + $vars = array(); + $imports = array(); + $other = array(); + $stack = array(); + + foreach ($props as $prop) { + switch ($prop[0]) { + case "comment": + $stack[] = $prop; + break; + case "assign": + $stack[] = $prop; + if (isset($prop[1][0]) && $prop[1][0] == $this->vPrefix) { + $vars = array_merge($vars, $stack); + } else { + $other = array_merge($other, $stack); + } + $stack = array(); + break; + case "import": + $id = self::$nextImportId++; + $prop[] = $id; + $stack[] = $prop; + $imports = array_merge($imports, $stack); + $other[] = array("import_mixin", $id); + $stack = array(); + break; + default: + $stack[] = $prop; + $other = array_merge($other, $stack); + $stack = array(); + break; + } + } + $other = array_merge($other, $stack); + + if ($split) { + return array(array_merge($imports, $vars), $other); + } else { + return array_merge($imports, $vars, $other); + } + } + + protected function compileMediaQuery($queries) { + $compiledQueries = array(); + foreach ($queries as $query) { + $parts = array(); + foreach ($query as $q) { + switch ($q[0]) { + case "mediaType": + $parts[] = implode(" ", array_slice($q, 1)); + break; + case "mediaExp": + if (isset($q[2])) { + $parts[] = "($q[1]: " . + $this->compileValue($this->reduce($q[2])) . ")"; + } else { + $parts[] = "($q[1])"; + } + break; + case "variable": + $parts[] = $this->compileValue($this->reduce($q)); + break; + } + } + + if (count($parts) > 0) { + $compiledQueries[] = implode(" and ", $parts); + } + } + + $out = "@media"; + if (!empty($parts)) { + $out .= " " . + implode($this->formatter->selectorSeparator, $compiledQueries); + } + return $out; + } + + protected function multiplyMedia($env, $childQueries = null) { + if (is_null($env) || + !empty($env->block->type) && $env->block->type != "media") + { + return $childQueries; + } + + // plain old block, skip + if (empty($env->block->type)) { + return $this->multiplyMedia($env->parent, $childQueries); + } + + $out = array(); + $queries = $env->block->queries; + if (is_null($childQueries)) { + $out = $queries; + } else { + foreach ($queries as $parent) { + foreach ($childQueries as $child) { + $out[] = array_merge($parent, $child); + } + } + } + + return $this->multiplyMedia($env->parent, $out); + } + + protected function expandParentSelectors(&$tag, $replace) { + $parts = explode("$&$", $tag); + $count = 0; + foreach ($parts as &$part) { + $part = str_replace($this->parentSelector, $replace, $part, $c); + $count += $c; + } + $tag = implode($this->parentSelector, $parts); + return $count; + } + + protected function findClosestSelectors() { + $env = $this->env; + $selectors = null; + while ($env !== null) { + if (isset($env->selectors)) { + $selectors = $env->selectors; + break; + } + $env = $env->parent; + } + + return $selectors; + } + + + // multiply $selectors against the nearest selectors in env + protected function multiplySelectors($selectors) { + // find parent selectors + + $parentSelectors = $this->findClosestSelectors(); + if (is_null($parentSelectors)) { + // kill parent reference in top level selector + foreach ($selectors as &$s) { + $this->expandParentSelectors($s, ""); + } + + return $selectors; + } + + $out = array(); + foreach ($parentSelectors as $parent) { + foreach ($selectors as $child) { + $count = $this->expandParentSelectors($child, $parent); + + // don't prepend the parent tag if & was used + if ($count > 0) { + $out[] = trim($child); + } else { + $out[] = trim($parent . ' ' . $child); + } + } + } + + return $out; + } + + // reduces selector expressions + protected function compileSelectors($selectors) { + $out = array(); + + foreach ($selectors as $s) { + if (is_array($s)) { + list(, $value) = $s; + $out[] = trim($this->compileValue($this->reduce($value))); + } else { + $out[] = $s; + } + } + + return $out; + } + + protected function eq($left, $right) { + return $left == $right; + } + + protected function patternMatch($block, $orderedArgs, $keywordArgs) { + // match the guards if it has them + // any one of the groups must have all its guards pass for a match + if (!empty($block->guards)) { + $groupPassed = false; + foreach ($block->guards as $guardGroup) { + foreach ($guardGroup as $guard) { + $this->pushEnv(); + $this->zipSetArgs($block->args, $orderedArgs, $keywordArgs); + + $negate = false; + if ($guard[0] == "negate") { + $guard = $guard[1]; + $negate = true; + } + + $passed = $this->reduce($guard) == self::$TRUE; + if ($negate) $passed = !$passed; + + $this->popEnv(); + + if ($passed) { + $groupPassed = true; + } else { + $groupPassed = false; + break; + } + } + + if ($groupPassed) break; + } + + if (!$groupPassed) { + return false; + } + } + + if (empty($block->args)) { + return $block->isVararg || empty($orderedArgs) && empty($keywordArgs); + } + + $remainingArgs = $block->args; + if ($keywordArgs) { + $remainingArgs = array(); + foreach ($block->args as $arg) { + if ($arg[0] == "arg" && isset($keywordArgs[$arg[1]])) { + continue; + } + + $remainingArgs[] = $arg; + } + } + + $i = -1; // no args + // try to match by arity or by argument literal + foreach ($remainingArgs as $i => $arg) { + switch ($arg[0]) { + case "lit": + if (empty($orderedArgs[$i]) || !$this->eq($arg[1], $orderedArgs[$i])) { + return false; + } + break; + case "arg": + // no arg and no default value + if (!isset($orderedArgs[$i]) && !isset($arg[2])) { + return false; + } + break; + case "rest": + $i--; // rest can be empty + break 2; + } + } + + if ($block->isVararg) { + return true; // not having enough is handled above + } else { + $numMatched = $i + 1; + // greater than becuase default values always match + return $numMatched >= count($orderedArgs); + } + } + + protected function patternMatchAll($blocks, $orderedArgs, $keywordArgs, $skip=array()) { + $matches = null; + foreach ($blocks as $block) { + // skip seen blocks that don't have arguments + if (isset($skip[$block->id]) && !isset($block->args)) { + continue; + } + + if ($this->patternMatch($block, $orderedArgs, $keywordArgs)) { + $matches[] = $block; + } + } + + return $matches; + } + + // attempt to find blocks matched by path and args + protected function findBlocks($searchIn, $path, $orderedArgs, $keywordArgs, $seen=array()) { + if ($searchIn == null) return null; + if (isset($seen[$searchIn->id])) return null; + $seen[$searchIn->id] = true; + + $name = $path[0]; + + if (isset($searchIn->children[$name])) { + $blocks = $searchIn->children[$name]; + if (count($path) == 1) { + $matches = $this->patternMatchAll($blocks, $orderedArgs, $keywordArgs, $seen); + if (!empty($matches)) { + // This will return all blocks that match in the closest + // scope that has any matching block, like lessjs + return $matches; + } + } else { + $matches = array(); + foreach ($blocks as $subBlock) { + $subMatches = $this->findBlocks($subBlock, + array_slice($path, 1), $orderedArgs, $keywordArgs, $seen); + + if (!is_null($subMatches)) { + foreach ($subMatches as $sm) { + $matches[] = $sm; + } + } + } + + return count($matches) > 0 ? $matches : null; + } + } + if ($searchIn->parent === $searchIn) return null; + return $this->findBlocks($searchIn->parent, $path, $orderedArgs, $keywordArgs, $seen); + } + + // sets all argument names in $args to either the default value + // or the one passed in through $values + protected function zipSetArgs($args, $orderedValues, $keywordValues) { + $assignedValues = array(); + + $i = 0; + foreach ($args as $a) { + if ($a[0] == "arg") { + if (isset($keywordValues[$a[1]])) { + // has keyword arg + $value = $keywordValues[$a[1]]; + } elseif (isset($orderedValues[$i])) { + // has ordered arg + $value = $orderedValues[$i]; + $i++; + } elseif (isset($a[2])) { + // has default value + $value = $a[2]; + } else { + $this->throwError("Failed to assign arg " . $a[1]); + $value = null; // :( + } + + $value = $this->reduce($value); + $this->set($a[1], $value); + $assignedValues[] = $value; + } else { + // a lit + $i++; + } + } + + // check for a rest + $last = end($args); + if ($last[0] == "rest") { + $rest = array_slice($orderedValues, count($args) - 1); + $this->set($last[1], $this->reduce(array("list", " ", $rest))); + } + + // wow is this the only true use of PHP's + operator for arrays? + $this->env->arguments = $assignedValues + $orderedValues; + } + + // compile a prop and update $lines or $blocks appropriately + protected function compileProp($prop, $block, $out) { + // set error position context + $this->sourceLoc = isset($prop[-1]) ? $prop[-1] : -1; + + switch ($prop[0]) { + case 'assign': + list(, $name, $value) = $prop; + if ($name[0] == $this->vPrefix) { + $this->set($name, $value); + } else { + $out->lines[] = $this->formatter->property($name, + $this->compileValue($this->reduce($value))); + } + break; + case 'block': + list(, $child) = $prop; + $this->compileBlock($child); + break; + case 'mixin': + list(, $path, $args, $suffix) = $prop; + + $orderedArgs = array(); + $keywordArgs = array(); + foreach ((array)$args as $arg) { + $argval = null; + switch ($arg[0]) { + case "arg": + if (!isset($arg[2])) { + $orderedArgs[] = $this->reduce(array("variable", $arg[1])); + } else { + $keywordArgs[$arg[1]] = $this->reduce($arg[2]); + } + break; + + case "lit": + $orderedArgs[] = $this->reduce($arg[1]); + break; + default: + $this->throwError("Unknown arg type: " . $arg[0]); + } + } + + $mixins = $this->findBlocks($block, $path, $orderedArgs, $keywordArgs); + + if ($mixins === null) { + $this->throwError("{$prop[1][0]} is undefined"); + } + + foreach ($mixins as $mixin) { + if ($mixin === $block && !$orderedArgs) { + continue; + } + + $haveScope = false; + if (isset($mixin->parent->scope)) { + $haveScope = true; + $mixinParentEnv = $this->pushEnv(); + $mixinParentEnv->storeParent = $mixin->parent->scope; + } + + $haveArgs = false; + if (isset($mixin->args)) { + $haveArgs = true; + $this->pushEnv(); + $this->zipSetArgs($mixin->args, $orderedArgs, $keywordArgs); + } + + $oldParent = $mixin->parent; + if ($mixin != $block) $mixin->parent = $block; + + foreach ($this->sortProps($mixin->props) as $subProp) { + if ($suffix !== null && + $subProp[0] == "assign" && + is_string($subProp[1]) && + $subProp[1]{0} != $this->vPrefix) + { + $subProp[2] = array( + 'list', ' ', + array($subProp[2], array('keyword', $suffix)) + ); + } + + $this->compileProp($subProp, $mixin, $out); + } + + $mixin->parent = $oldParent; + + if ($haveArgs) $this->popEnv(); + if ($haveScope) $this->popEnv(); + } + + break; + case 'raw': + $out->lines[] = $prop[1]; + break; + case "directive": + list(, $name, $value) = $prop; + $out->lines[] = "@$name " . $this->compileValue($this->reduce($value)).';'; + break; + case "comment": + $out->lines[] = $prop[1]; + break; + case "import"; + list(, $importPath, $importId) = $prop; + $importPath = $this->reduce($importPath); + + if (!isset($this->env->imports)) { + $this->env->imports = array(); + } + + $result = $this->tryImport($importPath, $block, $out); + + $this->env->imports[$importId] = $result === false ? + array(false, "@import " . $this->compileValue($importPath).";") : + $result; + + break; + case "import_mixin": + list(,$importId) = $prop; + $import = $this->env->imports[$importId]; + if ($import[0] === false) { + if (isset($import[1])) { + $out->lines[] = $import[1]; + } + } else { + list(, $bottom, $parser, $importDir) = $import; + $this->compileImportedProps($bottom, $block, $out, $parser, $importDir); + } + + break; + default: + $this->throwError("unknown op: {$prop[0]}\n"); + } + } + + + /** + * Compiles a primitive value into a CSS property value. + * + * Values in lessphp are typed by being wrapped in arrays, their format is + * typically: + * + * array(type, contents [, additional_contents]*) + * + * The input is expected to be reduced. This function will not work on + * things like expressions and variables. + */ + public function compileValue($value) { + switch ($value[0]) { + case 'list': + // [1] - delimiter + // [2] - array of values + return implode($value[1], array_map(array($this, 'compileValue'), $value[2])); + case 'raw_color': + if (!empty($this->formatter->compressColors)) { + return $this->compileValue($this->coerceColor($value)); + } + return $value[1]; + case 'keyword': + // [1] - the keyword + return $value[1]; + case 'number': + list(, $num, $unit) = $value; + // [1] - the number + // [2] - the unit + if ($this->numberPrecision !== null) { + $num = round($num, $this->numberPrecision); + } + return $num . $unit; + case 'string': + // [1] - contents of string (includes quotes) + list(, $delim, $content) = $value; + foreach ($content as &$part) { + if (is_array($part)) { + $part = $this->compileValue($part); + } + } + return $delim . implode($content) . $delim; + case 'color': + // [1] - red component (either number or a %) + // [2] - green component + // [3] - blue component + // [4] - optional alpha component + list(, $r, $g, $b) = $value; + $r = round($r); + $g = round($g); + $b = round($b); + + if (count($value) == 5 && $value[4] != 1) { // rgba + return 'rgba('.$r.','.$g.','.$b.','.$value[4].')'; + } + + $h = sprintf("#%02x%02x%02x", $r, $g, $b); + + if (!empty($this->formatter->compressColors)) { + // Converting hex color to short notation (e.g. #003399 to #039) + if ($h[1] === $h[2] && $h[3] === $h[4] && $h[5] === $h[6]) { + $h = '#' . $h[1] . $h[3] . $h[5]; + } + } + + return $h; + + case 'function': + list(, $name, $args) = $value; + return $name.'('.$this->compileValue($args).')'; + default: // assumed to be unit + $this->throwError("unknown value type: $value[0]"); + } + } + + protected function lib_pow($args) { + list($base, $exp) = $this->assertArgs($args, 2, "pow"); + return pow($this->assertNumber($base), $this->assertNumber($exp)); + } + + protected function lib_pi() { + return pi(); + } + + protected function lib_mod($args) { + list($a, $b) = $this->assertArgs($args, 2, "mod"); + return $this->assertNumber($a) % $this->assertNumber($b); + } + + protected function lib_tan($num) { + return tan($this->assertNumber($num)); + } + + protected function lib_sin($num) { + return sin($this->assertNumber($num)); + } + + protected function lib_cos($num) { + return cos($this->assertNumber($num)); + } + + protected function lib_atan($num) { + $num = atan($this->assertNumber($num)); + return array("number", $num, "rad"); + } + + protected function lib_asin($num) { + $num = asin($this->assertNumber($num)); + return array("number", $num, "rad"); + } + + protected function lib_acos($num) { + $num = acos($this->assertNumber($num)); + return array("number", $num, "rad"); + } + + protected function lib_sqrt($num) { + return sqrt($this->assertNumber($num)); + } + + protected function lib_extract($value) { + list($list, $idx) = $this->assertArgs($value, 2, "extract"); + $idx = $this->assertNumber($idx); + // 1 indexed + if ($list[0] == "list" && isset($list[2][$idx - 1])) { + return $list[2][$idx - 1]; + } + } + + protected function lib_isnumber($value) { + return $this->toBool($value[0] == "number"); + } + + protected function lib_isstring($value) { + return $this->toBool($value[0] == "string"); + } + + protected function lib_iscolor($value) { + return $this->toBool($this->coerceColor($value)); + } + + protected function lib_iskeyword($value) { + return $this->toBool($value[0] == "keyword"); + } + + protected function lib_ispixel($value) { + return $this->toBool($value[0] == "number" && $value[2] == "px"); + } + + protected function lib_ispercentage($value) { + return $this->toBool($value[0] == "number" && $value[2] == "%"); + } + + protected function lib_isem($value) { + return $this->toBool($value[0] == "number" && $value[2] == "em"); + } + + protected function lib_isrem($value) { + return $this->toBool($value[0] == "number" && $value[2] == "rem"); + } + + protected function lib_rgbahex($color) { + $color = $this->coerceColor($color); + if (is_null($color)) + $this->throwError("color expected for rgbahex"); + + return sprintf("#%02x%02x%02x%02x", + isset($color[4]) ? $color[4]*255 : 255, + $color[1],$color[2], $color[3]); + } + + protected function lib_argb($color){ + return $this->lib_rgbahex($color); + } + + /** + * Given an url, decide whether to output a regular link or the base64-encoded contents of the file + * + * @param array $value either an argument list (two strings) or a single string + * @return string formatted url(), either as a link or base64-encoded + */ + protected function lib_data_uri($value) { + $mime = ($value[0] === 'list') ? $value[2][0][2] : null; + $url = ($value[0] === 'list') ? $value[2][1][2][0] : $value[2][0]; + + $fullpath = $this->findImport($url); + + if($fullpath && ($fsize = filesize($fullpath)) !== false) { + // IE8 can't handle data uris larger than 32KB + if($fsize/1024 < 32) { + if(is_null($mime)) { + if(class_exists('finfo')) { // php 5.3+ + $finfo = new finfo(FILEINFO_MIME); + $mime = explode('; ', $finfo->file($fullpath)); + $mime = $mime[0]; + } elseif(function_exists('mime_content_type')) { // PHP 5.2 + $mime = mime_content_type($fullpath); + } + } + + if(!is_null($mime)) // fallback if the mime type is still unknown + $url = sprintf('data:%s;base64,%s', $mime, base64_encode(file_get_contents($fullpath))); + } + } + + return 'url("'.$url.'")'; + } + + // utility func to unquote a string + protected function lib_e($arg) { + switch ($arg[0]) { + case "list": + $items = $arg[2]; + if (isset($items[0])) { + return $this->lib_e($items[0]); + } + $this->throwError("unrecognised input"); + case "string": + $arg[1] = ""; + return $arg; + case "keyword": + return $arg; + default: + return array("keyword", $this->compileValue($arg)); + } + } + + protected function lib__sprintf($args) { + if ($args[0] != "list") return $args; + $values = $args[2]; + $string = array_shift($values); + $template = $this->compileValue($this->lib_e($string)); + + $i = 0; + if (preg_match_all('/%[dsa]/', $template, $m)) { + foreach ($m[0] as $match) { + $val = isset($values[$i]) ? + $this->reduce($values[$i]) : array('keyword', ''); + + // lessjs compat, renders fully expanded color, not raw color + if ($color = $this->coerceColor($val)) { + $val = $color; + } + + $i++; + $rep = $this->compileValue($this->lib_e($val)); + $template = preg_replace('/'.self::preg_quote($match).'/', + $rep, $template, 1); + } + } + + $d = $string[0] == "string" ? $string[1] : '"'; + return array("string", $d, array($template)); + } + + protected function lib_floor($arg) { + $value = $this->assertNumber($arg); + return array("number", floor($value), $arg[2]); + } + + protected function lib_ceil($arg) { + $value = $this->assertNumber($arg); + return array("number", ceil($value), $arg[2]); + } + + protected function lib_round($arg) { + if($arg[0] != "list") { + $value = $this->assertNumber($arg); + return array("number", round($value), $arg[2]); + } else { + $value = $this->assertNumber($arg[2][0]); + $precision = $this->assertNumber($arg[2][1]); + return array("number", round($value, $precision), $arg[2][0][2]); + } + } + + protected function lib_unit($arg) { + if ($arg[0] == "list") { + list($number, $newUnit) = $arg[2]; + return array("number", $this->assertNumber($number), + $this->compileValue($this->lib_e($newUnit))); + } else { + return array("number", $this->assertNumber($arg), ""); + } + } + + /** + * Helper function to get arguments for color manipulation functions. + * takes a list that contains a color like thing and a percentage + */ + public function colorArgs($args) { + if ($args[0] != 'list' || count($args[2]) < 2) { + return array(array('color', 0, 0, 0), 0); + } + list($color, $delta) = $args[2]; + $color = $this->assertColor($color); + $delta = floatval($delta[1]); + + return array($color, $delta); + } + + protected function lib_darken($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[3] = $this->clamp($hsl[3] - $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_lighten($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[3] = $this->clamp($hsl[3] + $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_saturate($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[2] = $this->clamp($hsl[2] + $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_desaturate($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + $hsl[2] = $this->clamp($hsl[2] - $delta, 100); + return $this->toRGB($hsl); + } + + protected function lib_spin($args) { + list($color, $delta) = $this->colorArgs($args); + + $hsl = $this->toHSL($color); + + $hsl[1] = $hsl[1] + $delta % 360; + if ($hsl[1] < 0) $hsl[1] += 360; + + return $this->toRGB($hsl); + } + + protected function lib_fadeout($args) { + list($color, $delta) = $this->colorArgs($args); + $color[4] = $this->clamp((isset($color[4]) ? $color[4] : 1) - $delta/100); + return $color; + } + + protected function lib_fadein($args) { + list($color, $delta) = $this->colorArgs($args); + $color[4] = $this->clamp((isset($color[4]) ? $color[4] : 1) + $delta/100); + return $color; + } + + protected function lib_hue($color) { + $hsl = $this->toHSL($this->assertColor($color)); + return round($hsl[1]); + } + + protected function lib_saturation($color) { + $hsl = $this->toHSL($this->assertColor($color)); + return round($hsl[2]); + } + + protected function lib_lightness($color) { + $hsl = $this->toHSL($this->assertColor($color)); + return round($hsl[3]); + } + + // get the alpha of a color + // defaults to 1 for non-colors or colors without an alpha + protected function lib_alpha($value) { + if (!is_null($color = $this->coerceColor($value))) { + return isset($color[4]) ? $color[4] : 1; + } + } + + // set the alpha of the color + protected function lib_fade($args) { + list($color, $alpha) = $this->colorArgs($args); + $color[4] = $this->clamp($alpha / 100.0); + return $color; + } + + protected function lib_percentage($arg) { + $num = $this->assertNumber($arg); + return array("number", $num*100, "%"); + } + + // mixes two colors by weight + // mix(@color1, @color2, [@weight: 50%]); + // http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#mix-instance_method + protected function lib_mix($args) { + if ($args[0] != "list" || count($args[2]) < 2) + $this->throwError("mix expects (color1, color2, weight)"); + + list($first, $second) = $args[2]; + $first = $this->assertColor($first); + $second = $this->assertColor($second); + + $first_a = $this->lib_alpha($first); + $second_a = $this->lib_alpha($second); + + if (isset($args[2][2])) { + $weight = $args[2][2][1] / 100.0; + } else { + $weight = 0.5; + } + + $w = $weight * 2 - 1; + $a = $first_a - $second_a; + + $w1 = (($w * $a == -1 ? $w : ($w + $a)/(1 + $w * $a)) + 1) / 2.0; + $w2 = 1.0 - $w1; + + $new = array('color', + $w1 * $first[1] + $w2 * $second[1], + $w1 * $first[2] + $w2 * $second[2], + $w1 * $first[3] + $w2 * $second[3], + ); + + if ($first_a != 1.0 || $second_a != 1.0) { + $new[] = $first_a * $weight + $second_a * ($weight - 1); + } + + return $this->fixColor($new); + } + + protected function lib_contrast($args) { + $darkColor = array('color', 0, 0, 0); + $lightColor = array('color', 255, 255, 255); + $threshold = 0.43; + + if ( $args[0] == 'list' ) { + $inputColor = ( isset($args[2][0]) ) ? $this->assertColor($args[2][0]) : $lightColor; + $darkColor = ( isset($args[2][1]) ) ? $this->assertColor($args[2][1]) : $darkColor; + $lightColor = ( isset($args[2][2]) ) ? $this->assertColor($args[2][2]) : $lightColor; + $threshold = ( isset($args[2][3]) ) ? $this->assertNumber($args[2][3]) : $threshold; + } + else { + $inputColor = $this->assertColor($args); + } + + $inputColor = $this->coerceColor($inputColor); + $darkColor = $this->coerceColor($darkColor); + $lightColor = $this->coerceColor($lightColor); + + //Figure out which is actually light and dark! + if ( $this->lib_luma($darkColor) > $this->lib_luma($lightColor) ) { + $t = $lightColor; + $lightColor = $darkColor; + $darkColor = $t; + } + + $inputColor_alpha = $this->lib_alpha($inputColor); + if ( ( $this->lib_luma($inputColor) * $inputColor_alpha) < $threshold) { + return $lightColor; + } + return $darkColor; + } + + protected function lib_luma($color) { + $color = $this->coerceColor($color); + return (0.2126 * $color[0] / 255) + (0.7152 * $color[1] / 255) + (0.0722 * $color[2] / 255); + } + + + public function assertColor($value, $error = "expected color value") { + $color = $this->coerceColor($value); + if (is_null($color)) $this->throwError($error); + return $color; + } + + public function assertNumber($value, $error = "expecting number") { + if ($value[0] == "number") return $value[1]; + $this->throwError($error); + } + + public function assertArgs($value, $expectedArgs, $name="") { + if ($expectedArgs == 1) { + return $value; + } else { + if ($value[0] !== "list" || $value[1] != ",") $this->throwError("expecting list"); + $values = $value[2]; + $numValues = count($values); + if ($expectedArgs != $numValues) { + if ($name) { + $name = $name . ": "; + } + + $this->throwError("${name}expecting $expectedArgs arguments, got $numValues"); + } + + return $values; + } + } + + protected function toHSL($color) { + if ($color[0] == 'hsl') return $color; + + $r = $color[1] / 255; + $g = $color[2] / 255; + $b = $color[3] / 255; + + $min = min($r, $g, $b); + $max = max($r, $g, $b); + + $L = ($min + $max) / 2; + if ($min == $max) { + $S = $H = 0; + } else { + if ($L < 0.5) + $S = ($max - $min)/($max + $min); + else + $S = ($max - $min)/(2.0 - $max - $min); + + if ($r == $max) $H = ($g - $b)/($max - $min); + elseif ($g == $max) $H = 2.0 + ($b - $r)/($max - $min); + elseif ($b == $max) $H = 4.0 + ($r - $g)/($max - $min); + + } + + $out = array('hsl', + ($H < 0 ? $H + 6 : $H)*60, + $S*100, + $L*100, + ); + + if (count($color) > 4) $out[] = $color[4]; // copy alpha + return $out; + } + + protected function toRGB_helper($comp, $temp1, $temp2) { + if ($comp < 0) $comp += 1.0; + elseif ($comp > 1) $comp -= 1.0; + + if (6 * $comp < 1) return $temp1 + ($temp2 - $temp1) * 6 * $comp; + if (2 * $comp < 1) return $temp2; + if (3 * $comp < 2) return $temp1 + ($temp2 - $temp1)*((2/3) - $comp) * 6; + + return $temp1; + } + + /** + * Converts a hsl array into a color value in rgb. + * Expects H to be in range of 0 to 360, S and L in 0 to 100 + */ + protected function toRGB($color) { + if ($color[0] == 'color') return $color; + + $H = $color[1] / 360; + $S = $color[2] / 100; + $L = $color[3] / 100; + + if ($S == 0) { + $r = $g = $b = $L; + } else { + $temp2 = $L < 0.5 ? + $L*(1.0 + $S) : + $L + $S - $L * $S; + + $temp1 = 2.0 * $L - $temp2; + + $r = $this->toRGB_helper($H + 1/3, $temp1, $temp2); + $g = $this->toRGB_helper($H, $temp1, $temp2); + $b = $this->toRGB_helper($H - 1/3, $temp1, $temp2); + } + + // $out = array('color', round($r*255), round($g*255), round($b*255)); + $out = array('color', $r*255, $g*255, $b*255); + if (count($color) > 4) $out[] = $color[4]; // copy alpha + return $out; + } + + protected function clamp($v, $max = 1, $min = 0) { + return min($max, max($min, $v)); + } + + /** + * Convert the rgb, rgba, hsl color literals of function type + * as returned by the parser into values of color type. + */ + protected function funcToColor($func) { + $fname = $func[1]; + if ($func[2][0] != 'list') return false; // need a list of arguments + $rawComponents = $func[2][2]; + + if ($fname == 'hsl' || $fname == 'hsla') { + $hsl = array('hsl'); + $i = 0; + foreach ($rawComponents as $c) { + $val = $this->reduce($c); + $val = isset($val[1]) ? floatval($val[1]) : 0; + + if ($i == 0) $clamp = 360; + elseif ($i < 3) $clamp = 100; + else $clamp = 1; + + $hsl[] = $this->clamp($val, $clamp); + $i++; + } + + while (count($hsl) < 4) $hsl[] = 0; + return $this->toRGB($hsl); + + } elseif ($fname == 'rgb' || $fname == 'rgba') { + $components = array(); + $i = 1; + foreach ($rawComponents as $c) { + $c = $this->reduce($c); + if ($i < 4) { + if ($c[0] == "number" && $c[2] == "%") { + $components[] = 255 * ($c[1] / 100); + } else { + $components[] = floatval($c[1]); + } + } elseif ($i == 4) { + if ($c[0] == "number" && $c[2] == "%") { + $components[] = 1.0 * ($c[1] / 100); + } else { + $components[] = floatval($c[1]); + } + } else break; + + $i++; + } + while (count($components) < 3) $components[] = 0; + array_unshift($components, 'color'); + return $this->fixColor($components); + } + + return false; + } + + protected function reduce($value, $forExpression = false) { + switch ($value[0]) { + case "interpolate": + $reduced = $this->reduce($value[1]); + $var = $this->compileValue($reduced); + $res = $this->reduce(array("variable", $this->vPrefix . $var)); + + if ($res[0] == "raw_color") { + $res = $this->coerceColor($res); + } + + if (empty($value[2])) $res = $this->lib_e($res); + + return $res; + case "variable": + $key = $value[1]; + if (is_array($key)) { + $key = $this->reduce($key); + $key = $this->vPrefix . $this->compileValue($this->lib_e($key)); + } + + $seen =& $this->env->seenNames; + + if (!empty($seen[$key])) { + $this->throwError("infinite loop detected: $key"); + } + + $seen[$key] = true; + $out = $this->reduce($this->get($key)); + $seen[$key] = false; + return $out; + case "list": + foreach ($value[2] as &$item) { + $item = $this->reduce($item, $forExpression); + } + return $value; + case "expression": + return $this->evaluate($value); + case "string": + foreach ($value[2] as &$part) { + if (is_array($part)) { + $strip = $part[0] == "variable"; + $part = $this->reduce($part); + if ($strip) $part = $this->lib_e($part); + } + } + return $value; + case "escape": + list(,$inner) = $value; + return $this->lib_e($this->reduce($inner)); + case "function": + $color = $this->funcToColor($value); + if ($color) return $color; + + list(, $name, $args) = $value; + if ($name == "%") $name = "_sprintf"; + + $f = isset($this->libFunctions[$name]) ? + $this->libFunctions[$name] : array($this, 'lib_'.str_replace('-', '_', $name)); + + if (is_callable($f)) { + if ($args[0] == 'list') + $args = self::compressList($args[2], $args[1]); + + $ret = call_user_func($f, $this->reduce($args, true), $this); + + if (is_null($ret)) { + return array("string", "", array( + $name, "(", $args, ")" + )); + } + + // convert to a typed value if the result is a php primitive + if (is_numeric($ret)) $ret = array('number', $ret, ""); + elseif (!is_array($ret)) $ret = array('keyword', $ret); + + return $ret; + } + + // plain function, reduce args + $value[2] = $this->reduce($value[2]); + return $value; + case "unary": + list(, $op, $exp) = $value; + $exp = $this->reduce($exp); + + if ($exp[0] == "number") { + switch ($op) { + case "+": + return $exp; + case "-": + $exp[1] *= -1; + return $exp; + } + } + return array("string", "", array($op, $exp)); + } + + if ($forExpression) { + switch ($value[0]) { + case "keyword": + if ($color = $this->coerceColor($value)) { + return $color; + } + break; + case "raw_color": + return $this->coerceColor($value); + } + } + + return $value; + } + + + // coerce a value for use in color operation + protected function coerceColor($value) { + switch($value[0]) { + case 'color': return $value; + case 'raw_color': + $c = array("color", 0, 0, 0); + $colorStr = substr($value[1], 1); + $num = hexdec($colorStr); + $width = strlen($colorStr) == 3 ? 16 : 256; + + for ($i = 3; $i > 0; $i--) { // 3 2 1 + $t = $num % $width; + $num /= $width; + + $c[$i] = $t * (256/$width) + $t * floor(16/$width); + } + + return $c; + case 'keyword': + $name = $value[1]; + if (isset(self::$cssColors[$name])) { + $rgba = explode(',', self::$cssColors[$name]); + + if(isset($rgba[3])) + return array('color', $rgba[0], $rgba[1], $rgba[2], $rgba[3]); + + return array('color', $rgba[0], $rgba[1], $rgba[2]); + } + return null; + } + } + + // make something string like into a string + protected function coerceString($value) { + switch ($value[0]) { + case "string": + return $value; + case "keyword": + return array("string", "", array($value[1])); + } + return null; + } + + // turn list of length 1 into value type + protected function flattenList($value) { + if ($value[0] == "list" && count($value[2]) == 1) { + return $this->flattenList($value[2][0]); + } + return $value; + } + + public function toBool($a) { + if ($a) return self::$TRUE; + else return self::$FALSE; + } + + // evaluate an expression + protected function evaluate($exp) { + list(, $op, $left, $right, $whiteBefore, $whiteAfter) = $exp; + + $left = $this->reduce($left, true); + $right = $this->reduce($right, true); + + if ($leftColor = $this->coerceColor($left)) { + $left = $leftColor; + } + + if ($rightColor = $this->coerceColor($right)) { + $right = $rightColor; + } + + $ltype = $left[0]; + $rtype = $right[0]; + + // operators that work on all types + if ($op == "and") { + return $this->toBool($left == self::$TRUE && $right == self::$TRUE); + } + + if ($op == "=") { + return $this->toBool($this->eq($left, $right) ); + } + + if ($op == "+" && !is_null($str = $this->stringConcatenate($left, $right))) { + return $str; + } + + // type based operators + $fname = "op_${ltype}_${rtype}"; + if (is_callable(array($this, $fname))) { + $out = $this->$fname($op, $left, $right); + if (!is_null($out)) return $out; + } + + // make the expression look it did before being parsed + $paddedOp = $op; + if ($whiteBefore) $paddedOp = " " . $paddedOp; + if ($whiteAfter) $paddedOp .= " "; + + return array("string", "", array($left, $paddedOp, $right)); + } + + protected function stringConcatenate($left, $right) { + if ($strLeft = $this->coerceString($left)) { + if ($right[0] == "string") { + $right[1] = ""; + } + $strLeft[2][] = $right; + return $strLeft; + } + + if ($strRight = $this->coerceString($right)) { + array_unshift($strRight[2], $left); + return $strRight; + } + } + + + // make sure a color's components don't go out of bounds + protected function fixColor($c) { + foreach (range(1, 3) as $i) { + if ($c[$i] < 0) $c[$i] = 0; + if ($c[$i] > 255) $c[$i] = 255; + } + + return $c; + } + + protected function op_number_color($op, $lft, $rgt) { + if ($op == '+' || $op == '*') { + return $this->op_color_number($op, $rgt, $lft); + } + } + + protected function op_color_number($op, $lft, $rgt) { + if ($rgt[0] == '%') $rgt[1] /= 100; + + return $this->op_color_color($op, $lft, + array_fill(1, count($lft) - 1, $rgt[1])); + } + + protected function op_color_color($op, $left, $right) { + $out = array('color'); + $max = count($left) > count($right) ? count($left) : count($right); + foreach (range(1, $max - 1) as $i) { + $lval = isset($left[$i]) ? $left[$i] : 0; + $rval = isset($right[$i]) ? $right[$i] : 0; + switch ($op) { + case '+': + $out[] = $lval + $rval; + break; + case '-': + $out[] = $lval - $rval; + break; + case '*': + $out[] = $lval * $rval; + break; + case '%': + $out[] = $lval % $rval; + break; + case '/': + if ($rval == 0) $this->throwError("evaluate error: can't divide by zero"); + $out[] = $lval / $rval; + break; + default: + $this->throwError('evaluate error: color op number failed on op '.$op); + } + } + return $this->fixColor($out); + } + + function lib_red($color){ + $color = $this->coerceColor($color); + if (is_null($color)) { + $this->throwError('color expected for red()'); + } + + return $color[1]; + } + + function lib_green($color){ + $color = $this->coerceColor($color); + if (is_null($color)) { + $this->throwError('color expected for green()'); + } + + return $color[2]; + } + + function lib_blue($color){ + $color = $this->coerceColor($color); + if (is_null($color)) { + $this->throwError('color expected for blue()'); + } + + return $color[3]; + } + + + // operator on two numbers + protected function op_number_number($op, $left, $right) { + $unit = empty($left[2]) ? $right[2] : $left[2]; + + $value = 0; + switch ($op) { + case '+': + $value = $left[1] + $right[1]; + break; + case '*': + $value = $left[1] * $right[1]; + break; + case '-': + $value = $left[1] - $right[1]; + break; + case '%': + $value = $left[1] % $right[1]; + break; + case '/': + if ($right[1] == 0) $this->throwError('parse error: divide by zero'); + $value = $left[1] / $right[1]; + break; + case '<': + return $this->toBool($left[1] < $right[1]); + case '>': + return $this->toBool($left[1] > $right[1]); + case '>=': + return $this->toBool($left[1] >= $right[1]); + case '=<': + return $this->toBool($left[1] <= $right[1]); + default: + $this->throwError('parse error: unknown number operator: '.$op); + } + + return array("number", $value, $unit); + } + + + /* environment functions */ + + protected function makeOutputBlock($type, $selectors = null) { + $b = new stdclass; + $b->lines = array(); + $b->children = array(); + $b->selectors = $selectors; + $b->type = $type; + $b->parent = $this->scope; + return $b; + } + + // the state of execution + protected function pushEnv($block = null) { + $e = new stdclass; + $e->parent = $this->env; + $e->store = array(); + $e->block = $block; + + $this->env = $e; + return $e; + } + + // pop something off the stack + protected function popEnv() { + $old = $this->env; + $this->env = $this->env->parent; + return $old; + } + + // set something in the current env + protected function set($name, $value) { + $this->env->store[$name] = $value; + } + + + // get the highest occurrence entry for a name + protected function get($name) { + $current = $this->env; + + $isArguments = $name == $this->vPrefix . 'arguments'; + while ($current) { + if ($isArguments && isset($current->arguments)) { + return array('list', ' ', $current->arguments); + } + + if (isset($current->store[$name])) + return $current->store[$name]; + else { + $current = isset($current->storeParent) ? + $current->storeParent : $current->parent; + } + } + + $this->throwError("variable $name is undefined"); + } + + // inject array of unparsed strings into environment as variables + protected function injectVariables($args) { + $this->pushEnv(); + $parser = new lessc_parser($this, __METHOD__); + foreach ($args as $name => $strValue) { + if ($name{0} != '@') $name = '@'.$name; + $parser->count = 0; + $parser->buffer = (string)$strValue; + if (!$parser->propertyValue($value)) { + throw new Exception("failed to parse passed in variable $name: $strValue"); + } + + $this->set($name, $value); + } + } + + /** + * Initialize any static state, can initialize parser for a file + * $opts isn't used yet + */ + public function __construct($fname = null) { + if ($fname !== null) { + // used for deprecated parse method + $this->_parseFile = $fname; + } + } + + public function compile($string, $name = null) { + $locale = setlocale(LC_NUMERIC, 0); + setlocale(LC_NUMERIC, "C"); + + $this->parser = $this->makeParser($name); + $root = $this->parser->parse($string); + + $this->env = null; + $this->scope = null; + + $this->formatter = $this->newFormatter(); + + if (!empty($this->registeredVars)) { + $this->injectVariables($this->registeredVars); + } + + $this->sourceParser = $this->parser; // used for error messages + $this->compileBlock($root); + + ob_start(); + $this->formatter->block($this->scope); + $out = ob_get_clean(); + setlocale(LC_NUMERIC, $locale); + return $out; + } + + public function compileFile($fname, $outFname = null) { + if (!is_readable($fname)) { + throw new Exception('load error: failed to find '.$fname); + } + + $pi = pathinfo($fname); + + $oldImport = $this->importDir; + + $this->importDir = (array)$this->importDir; + $this->importDir[] = $pi['dirname'].'/'; + + $this->addParsedFile($fname); + + $out = $this->compile(file_get_contents($fname), $fname); + + $this->importDir = $oldImport; + + if ($outFname !== null) { + return file_put_contents($outFname, $out); + } + + return $out; + } + + // compile only if changed input has changed or output doesn't exist + public function checkedCompile($in, $out) { + if (!is_file($out) || filemtime($in) > filemtime($out)) { + $this->compileFile($in, $out); + return true; + } + return false; + } + + /** + * Execute lessphp on a .less file or a lessphp cache structure + * + * The lessphp cache structure contains information about a specific + * less file having been parsed. It can be used as a hint for future + * calls to determine whether or not a rebuild is required. + * + * The cache structure contains two important keys that may be used + * externally: + * + * compiled: The final compiled CSS + * updated: The time (in seconds) the CSS was last compiled + * + * The cache structure is a plain-ol' PHP associative array and can + * be serialized and unserialized without a hitch. + * + * @param mixed $in Input + * @param bool $force Force rebuild? + * @return array lessphp cache structure + */ + public function cachedCompile($in, $force = false) { + // assume no root + $root = null; + + if (is_string($in)) { + $root = $in; + } elseif (is_array($in) and isset($in['root'])) { + if ($force or ! isset($in['files'])) { + // If we are forcing a recompile or if for some reason the + // structure does not contain any file information we should + // specify the root to trigger a rebuild. + $root = $in['root']; + } elseif (isset($in['files']) and is_array($in['files'])) { + foreach ($in['files'] as $fname => $ftime ) { + if (!file_exists($fname) or filemtime($fname) > $ftime) { + // One of the files we knew about previously has changed + // so we should look at our incoming root again. + $root = $in['root']; + break; + } + } + } + } else { + // TODO: Throw an exception? We got neither a string nor something + // that looks like a compatible lessphp cache structure. + return null; + } + + if ($root !== null) { + // If we have a root value which means we should rebuild. + $out = array(); + $out['root'] = $root; + $out['compiled'] = $this->compileFile($root); + $out['files'] = $this->allParsedFiles(); + $out['updated'] = time(); + return $out; + } else { + // No changes, pass back the structure + // we were given initially. + return $in; + } + + } + + // parse and compile buffer + // This is deprecated + public function parse($str = null, $initialVariables = null) { + if (is_array($str)) { + $initialVariables = $str; + $str = null; + } + + $oldVars = $this->registeredVars; + if ($initialVariables !== null) { + $this->setVariables($initialVariables); + } + + if ($str == null) { + if (empty($this->_parseFile)) { + throw new exception("nothing to parse"); + } + + $out = $this->compileFile($this->_parseFile); + } else { + $out = $this->compile($str); + } + + $this->registeredVars = $oldVars; + return $out; + } + + protected function makeParser($name) { + $parser = new lessc_parser($this, $name); + $parser->writeComments = $this->preserveComments; + + return $parser; + } + + public function setFormatter($name) { + $this->formatterName = $name; + } + + protected function newFormatter() { + $className = "lessc_formatter_lessjs"; + if (!empty($this->formatterName)) { + if (!is_string($this->formatterName)) + return $this->formatterName; + $className = "lessc_formatter_$this->formatterName"; + } + + return new $className; + } + + public function setPreserveComments($preserve) { + $this->preserveComments = $preserve; + } + + public function registerFunction($name, $func) { + $this->libFunctions[$name] = $func; + } + + public function unregisterFunction($name) { + unset($this->libFunctions[$name]); + } + + public function setVariables($variables) { + $this->registeredVars = array_merge($this->registeredVars, $variables); + } + + public function unsetVariable($name) { + unset($this->registeredVars[$name]); + } + + public function setImportDir($dirs) { + $this->importDir = (array)$dirs; + } + + public function addImportDir($dir) { + $this->importDir = (array)$this->importDir; + $this->importDir[] = $dir; + } + + public function allParsedFiles() { + return $this->allParsedFiles; + } + + public function addParsedFile($file) { + $this->allParsedFiles[realpath($file)] = filemtime($file); + } + + /** + * Uses the current value of $this->count to show line and line number + */ + public function throwError($msg = null) { + if ($this->sourceLoc >= 0) { + $this->sourceParser->throwError($msg, $this->sourceLoc); + } + throw new exception($msg); + } + + // compile file $in to file $out if $in is newer than $out + // returns true when it compiles, false otherwise + public static function ccompile($in, $out, $less = null) { + if ($less === null) { + $less = new self; + } + return $less->checkedCompile($in, $out); + } + + public static function cexecute($in, $force = false, $less = null) { + if ($less === null) { + $less = new self; + } + return $less->cachedCompile($in, $force); + } + + static protected $cssColors = array( + 'aliceblue' => '240,248,255', + 'antiquewhite' => '250,235,215', + 'aqua' => '0,255,255', + 'aquamarine' => '127,255,212', + 'azure' => '240,255,255', + 'beige' => '245,245,220', + 'bisque' => '255,228,196', + 'black' => '0,0,0', + 'blanchedalmond' => '255,235,205', + 'blue' => '0,0,255', + 'blueviolet' => '138,43,226', + 'brown' => '165,42,42', + 'burlywood' => '222,184,135', + 'cadetblue' => '95,158,160', + 'chartreuse' => '127,255,0', + 'chocolate' => '210,105,30', + 'coral' => '255,127,80', + 'cornflowerblue' => '100,149,237', + 'cornsilk' => '255,248,220', + 'crimson' => '220,20,60', + 'cyan' => '0,255,255', + 'darkblue' => '0,0,139', + 'darkcyan' => '0,139,139', + 'darkgoldenrod' => '184,134,11', + 'darkgray' => '169,169,169', + 'darkgreen' => '0,100,0', + 'darkgrey' => '169,169,169', + 'darkkhaki' => '189,183,107', + 'darkmagenta' => '139,0,139', + 'darkolivegreen' => '85,107,47', + 'darkorange' => '255,140,0', + 'darkorchid' => '153,50,204', + 'darkred' => '139,0,0', + 'darksalmon' => '233,150,122', + 'darkseagreen' => '143,188,143', + 'darkslateblue' => '72,61,139', + 'darkslategray' => '47,79,79', + 'darkslategrey' => '47,79,79', + 'darkturquoise' => '0,206,209', + 'darkviolet' => '148,0,211', + 'deeppink' => '255,20,147', + 'deepskyblue' => '0,191,255', + 'dimgray' => '105,105,105', + 'dimgrey' => '105,105,105', + 'dodgerblue' => '30,144,255', + 'firebrick' => '178,34,34', + 'floralwhite' => '255,250,240', + 'forestgreen' => '34,139,34', + 'fuchsia' => '255,0,255', + 'gainsboro' => '220,220,220', + 'ghostwhite' => '248,248,255', + 'gold' => '255,215,0', + 'goldenrod' => '218,165,32', + 'gray' => '128,128,128', + 'green' => '0,128,0', + 'greenyellow' => '173,255,47', + 'grey' => '128,128,128', + 'honeydew' => '240,255,240', + 'hotpink' => '255,105,180', + 'indianred' => '205,92,92', + 'indigo' => '75,0,130', + 'ivory' => '255,255,240', + 'khaki' => '240,230,140', + 'lavender' => '230,230,250', + 'lavenderblush' => '255,240,245', + 'lawngreen' => '124,252,0', + 'lemonchiffon' => '255,250,205', + 'lightblue' => '173,216,230', + 'lightcoral' => '240,128,128', + 'lightcyan' => '224,255,255', + 'lightgoldenrodyellow' => '250,250,210', + 'lightgray' => '211,211,211', + 'lightgreen' => '144,238,144', + 'lightgrey' => '211,211,211', + 'lightpink' => '255,182,193', + 'lightsalmon' => '255,160,122', + 'lightseagreen' => '32,178,170', + 'lightskyblue' => '135,206,250', + 'lightslategray' => '119,136,153', + 'lightslategrey' => '119,136,153', + 'lightsteelblue' => '176,196,222', + 'lightyellow' => '255,255,224', + 'lime' => '0,255,0', + 'limegreen' => '50,205,50', + 'linen' => '250,240,230', + 'magenta' => '255,0,255', + 'maroon' => '128,0,0', + 'mediumaquamarine' => '102,205,170', + 'mediumblue' => '0,0,205', + 'mediumorchid' => '186,85,211', + 'mediumpurple' => '147,112,219', + 'mediumseagreen' => '60,179,113', + 'mediumslateblue' => '123,104,238', + 'mediumspringgreen' => '0,250,154', + 'mediumturquoise' => '72,209,204', + 'mediumvioletred' => '199,21,133', + 'midnightblue' => '25,25,112', + 'mintcream' => '245,255,250', + 'mistyrose' => '255,228,225', + 'moccasin' => '255,228,181', + 'navajowhite' => '255,222,173', + 'navy' => '0,0,128', + 'oldlace' => '253,245,230', + 'olive' => '128,128,0', + 'olivedrab' => '107,142,35', + 'orange' => '255,165,0', + 'orangered' => '255,69,0', + 'orchid' => '218,112,214', + 'palegoldenrod' => '238,232,170', + 'palegreen' => '152,251,152', + 'paleturquoise' => '175,238,238', + 'palevioletred' => '219,112,147', + 'papayawhip' => '255,239,213', + 'peachpuff' => '255,218,185', + 'peru' => '205,133,63', + 'pink' => '255,192,203', + 'plum' => '221,160,221', + 'powderblue' => '176,224,230', + 'purple' => '128,0,128', + 'red' => '255,0,0', + 'rosybrown' => '188,143,143', + 'royalblue' => '65,105,225', + 'saddlebrown' => '139,69,19', + 'salmon' => '250,128,114', + 'sandybrown' => '244,164,96', + 'seagreen' => '46,139,87', + 'seashell' => '255,245,238', + 'sienna' => '160,82,45', + 'silver' => '192,192,192', + 'skyblue' => '135,206,235', + 'slateblue' => '106,90,205', + 'slategray' => '112,128,144', + 'slategrey' => '112,128,144', + 'snow' => '255,250,250', + 'springgreen' => '0,255,127', + 'steelblue' => '70,130,180', + 'tan' => '210,180,140', + 'teal' => '0,128,128', + 'thistle' => '216,191,216', + 'tomato' => '255,99,71', + 'transparent' => '0,0,0,0', + 'turquoise' => '64,224,208', + 'violet' => '238,130,238', + 'wheat' => '245,222,179', + 'white' => '255,255,255', + 'whitesmoke' => '245,245,245', + 'yellow' => '255,255,0', + 'yellowgreen' => '154,205,50' + ); +} + +// responsible for taking a string of LESS code and converting it into a +// syntax tree +class lessc_parser { + static protected $nextBlockId = 0; // used to uniquely identify blocks + + static protected $precedence = array( + '=<' => 0, + '>=' => 0, + '=' => 0, + '<' => 0, + '>' => 0, + + '+' => 1, + '-' => 1, + '*' => 2, + '/' => 2, + '%' => 2, + ); + + static protected $whitePattern; + static protected $commentMulti; + + static protected $commentSingle = "//"; + static protected $commentMultiLeft = "/*"; + static protected $commentMultiRight = "*/"; + + // regex string to match any of the operators + static protected $operatorString; + + // these properties will supress division unless it's inside parenthases + static protected $supressDivisionProps = + array('/border-radius$/i', '/^font$/i'); + + protected $blockDirectives = array("font-face", "keyframes", "page", "-moz-document", "viewport", "-moz-viewport", "-o-viewport", "-ms-viewport"); + protected $lineDirectives = array("charset"); + + /** + * if we are in parens we can be more liberal with whitespace around + * operators because it must evaluate to a single value and thus is less + * ambiguous. + * + * Consider: + * property1: 10 -5; // is two numbers, 10 and -5 + * property2: (10 -5); // should evaluate to 5 + */ + protected $inParens = false; + + // caches preg escaped literals + static protected $literalCache = array(); + + public function __construct($lessc, $sourceName = null) { + $this->eatWhiteDefault = true; + // reference to less needed for vPrefix, mPrefix, and parentSelector + $this->lessc = $lessc; + + $this->sourceName = $sourceName; // name used for error messages + + $this->writeComments = false; + + if (!self::$operatorString) { + self::$operatorString = + '('.implode('|', array_map(array('lessc', 'preg_quote'), + array_keys(self::$precedence))).')'; + + $commentSingle = lessc::preg_quote(self::$commentSingle); + $commentMultiLeft = lessc::preg_quote(self::$commentMultiLeft); + $commentMultiRight = lessc::preg_quote(self::$commentMultiRight); + + self::$commentMulti = $commentMultiLeft.'.*?'.$commentMultiRight; + self::$whitePattern = '/'.$commentSingle.'[^\n]*\s*|('.self::$commentMulti.')\s*|\s+/Ais'; + } + } + + public function parse($buffer) { + $this->count = 0; + $this->line = 1; + + $this->env = null; // block stack + $this->buffer = $this->writeComments ? $buffer : $this->removeComments($buffer); + $this->pushSpecialBlock("root"); + $this->eatWhiteDefault = true; + $this->seenComments = array(); + + // trim whitespace on head + // if (preg_match('/^\s+/', $this->buffer, $m)) { + // $this->line += substr_count($m[0], "\n"); + // $this->buffer = ltrim($this->buffer); + // } + $this->whitespace(); + + // parse the entire file + while (false !== $this->parseChunk()); + + if ($this->count != strlen($this->buffer)) + $this->throwError(); + + // TODO report where the block was opened + if ( !property_exists($this->env, 'parent') || !is_null($this->env->parent) ) + throw new exception('parse error: unclosed block'); + + return $this->env; + } + + /** + * Parse a single chunk off the head of the buffer and append it to the + * current parse environment. + * Returns false when the buffer is empty, or when there is an error. + * + * This function is called repeatedly until the entire document is + * parsed. + * + * This parser is most similar to a recursive descent parser. Single + * functions represent discrete grammatical rules for the language, and + * they are able to capture the text that represents those rules. + * + * Consider the function lessc::keyword(). (all parse functions are + * structured the same) + * + * The function takes a single reference argument. When calling the + * function it will attempt to match a keyword on the head of the buffer. + * If it is successful, it will place the keyword in the referenced + * argument, advance the position in the buffer, and return true. If it + * fails then it won't advance the buffer and it will return false. + * + * All of these parse functions are powered by lessc::match(), which behaves + * the same way, but takes a literal regular expression. Sometimes it is + * more convenient to use match instead of creating a new function. + * + * Because of the format of the functions, to parse an entire string of + * grammatical rules, you can chain them together using &&. + * + * But, if some of the rules in the chain succeed before one fails, then + * the buffer position will be left at an invalid state. In order to + * avoid this, lessc::seek() is used to remember and set buffer positions. + * + * Before parsing a chain, use $s = $this->seek() to remember the current + * position into $s. Then if a chain fails, use $this->seek($s) to + * go back where we started. + */ + protected function parseChunk() { + if (empty($this->buffer)) return false; + $s = $this->seek(); + + if ($this->whitespace()) { + return true; + } + + // setting a property + if ($this->keyword($key) && $this->assign() && + $this->propertyValue($value, $key) && $this->end()) + { + $this->append(array('assign', $key, $value), $s); + return true; + } else { + $this->seek($s); + } + + + // look for special css blocks + if ($this->literal('@', false)) { + $this->count--; + + // media + if ($this->literal('@media')) { + if (($this->mediaQueryList($mediaQueries) || true) + && $this->literal('{')) + { + $media = $this->pushSpecialBlock("media"); + $media->queries = is_null($mediaQueries) ? array() : $mediaQueries; + return true; + } else { + $this->seek($s); + return false; + } + } + + if ($this->literal("@", false) && $this->keyword($dirName)) { + if ($this->isDirective($dirName, $this->blockDirectives)) { + if (($this->openString("{", $dirValue, null, array(";")) || true) && + $this->literal("{")) + { + $dir = $this->pushSpecialBlock("directive"); + $dir->name = $dirName; + if (isset($dirValue)) $dir->value = $dirValue; + return true; + } + } elseif ($this->isDirective($dirName, $this->lineDirectives)) { + if ($this->propertyValue($dirValue) && $this->end()) { + $this->append(array("directive", $dirName, $dirValue)); + return true; + } + } + } + + $this->seek($s); + } + + // setting a variable + if ($this->variable($var) && $this->assign() && + $this->propertyValue($value) && $this->end()) + { + $this->append(array('assign', $var, $value), $s); + return true; + } else { + $this->seek($s); + } + + if ($this->import($importValue)) { + $this->append($importValue, $s); + return true; + } + + // opening parametric mixin + if ($this->tag($tag, true) && $this->argumentDef($args, $isVararg) && + ($this->guards($guards) || true) && + $this->literal('{')) + { + $block = $this->pushBlock($this->fixTags(array($tag))); + $block->args = $args; + $block->isVararg = $isVararg; + if (!empty($guards)) $block->guards = $guards; + return true; + } else { + $this->seek($s); + } + + // opening a simple block + if ($this->tags($tags) && $this->literal('{', false)) { + $tags = $this->fixTags($tags); + $this->pushBlock($tags); + return true; + } else { + $this->seek($s); + } + + // closing a block + if ($this->literal('}', false)) { + try { + $block = $this->pop(); + } catch (exception $e) { + $this->seek($s); + $this->throwError($e->getMessage()); + } + + $hidden = false; + if (is_null($block->type)) { + $hidden = true; + if (!isset($block->args)) { + foreach ($block->tags as $tag) { + if (!is_string($tag) || $tag{0} != $this->lessc->mPrefix) { + $hidden = false; + break; + } + } + } + + foreach ($block->tags as $tag) { + if (is_string($tag)) { + $this->env->children[$tag][] = $block; + } + } + } + + if (!$hidden) { + $this->append(array('block', $block), $s); + } + + // this is done here so comments aren't bundled into he block that + // was just closed + $this->whitespace(); + return true; + } + + // mixin + if ($this->mixinTags($tags) && + ($this->argumentDef($argv, $isVararg) || true) && + ($this->keyword($suffix) || true) && $this->end()) + { + $tags = $this->fixTags($tags); + $this->append(array('mixin', $tags, $argv, $suffix), $s); + return true; + } else { + $this->seek($s); + } + + // spare ; + if ($this->literal(';')) return true; + + return false; // got nothing, throw error + } + + protected function isDirective($dirname, $directives) { + // TODO: cache pattern in parser + $pattern = implode("|", + array_map(array("lessc", "preg_quote"), $directives)); + $pattern = '/^(-[a-z-]+-)?(' . $pattern . ')$/i'; + + return preg_match($pattern, $dirname); + } + + protected function fixTags($tags) { + // move @ tags out of variable namespace + foreach ($tags as &$tag) { + if ($tag{0} == $this->lessc->vPrefix) + $tag[0] = $this->lessc->mPrefix; + } + return $tags; + } + + // a list of expressions + protected function expressionList(&$exps) { + $values = array(); + + while ($this->expression($exp)) { + $values[] = $exp; + } + + if (count($values) == 0) return false; + + $exps = lessc::compressList($values, ' '); + return true; + } + + /** + * Attempt to consume an expression. + * @link http://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudo-code + */ + protected function expression(&$out) { + if ($this->value($lhs)) { + $out = $this->expHelper($lhs, 0); + + // look for / shorthand + if (!empty($this->env->supressedDivision)) { + unset($this->env->supressedDivision); + $s = $this->seek(); + if ($this->literal("/") && $this->value($rhs)) { + $out = array("list", "", + array($out, array("keyword", "/"), $rhs)); + } else { + $this->seek($s); + } + } + + return true; + } + return false; + } + + /** + * recursively parse infix equation with $lhs at precedence $minP + */ + protected function expHelper($lhs, $minP) { + $this->inExp = true; + $ss = $this->seek(); + + while (true) { + $whiteBefore = isset($this->buffer[$this->count - 1]) && + ctype_space($this->buffer[$this->count - 1]); + + // If there is whitespace before the operator, then we require + // whitespace after the operator for it to be an expression + $needWhite = $whiteBefore && !$this->inParens; + + if ($this->match(self::$operatorString.($needWhite ? '\s' : ''), $m) && self::$precedence[$m[1]] >= $minP) { + if (!$this->inParens && isset($this->env->currentProperty) && $m[1] == "/" && empty($this->env->supressedDivision)) { + foreach (self::$supressDivisionProps as $pattern) { + if (preg_match($pattern, $this->env->currentProperty)) { + $this->env->supressedDivision = true; + break 2; + } + } + } + + + $whiteAfter = isset($this->buffer[$this->count - 1]) && + ctype_space($this->buffer[$this->count - 1]); + + if (!$this->value($rhs)) break; + + // peek for next operator to see what to do with rhs + if ($this->peek(self::$operatorString, $next) && self::$precedence[$next[1]] > self::$precedence[$m[1]]) { + $rhs = $this->expHelper($rhs, self::$precedence[$next[1]]); + } + + $lhs = array('expression', $m[1], $lhs, $rhs, $whiteBefore, $whiteAfter); + $ss = $this->seek(); + + continue; + } + + break; + } + + $this->seek($ss); + + return $lhs; + } + + // consume a list of values for a property + public function propertyValue(&$value, $keyName = null) { + $values = array(); + + if ($keyName !== null) $this->env->currentProperty = $keyName; + + $s = null; + while ($this->expressionList($v)) { + $values[] = $v; + $s = $this->seek(); + if (!$this->literal(',')) break; + } + + if ($s) $this->seek($s); + + if ($keyName !== null) unset($this->env->currentProperty); + + if (count($values) == 0) return false; + + $value = lessc::compressList($values, ', '); + return true; + } + + protected function parenValue(&$out) { + $s = $this->seek(); + + // speed shortcut + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] != "(") { + return false; + } + + $inParens = $this->inParens; + if ($this->literal("(") && + ($this->inParens = true) && $this->expression($exp) && + $this->literal(")")) + { + $out = $exp; + $this->inParens = $inParens; + return true; + } else { + $this->inParens = $inParens; + $this->seek($s); + } + + return false; + } + + // a single value + protected function value(&$value) { + $s = $this->seek(); + + // speed shortcut + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] == "-") { + // negation + if ($this->literal("-", false) && + (($this->variable($inner) && $inner = array("variable", $inner)) || + $this->unit($inner) || + $this->parenValue($inner))) + { + $value = array("unary", "-", $inner); + return true; + } else { + $this->seek($s); + } + } + + if ($this->parenValue($value)) return true; + if ($this->unit($value)) return true; + if ($this->color($value)) return true; + if ($this->func($value)) return true; + if ($this->string($value)) return true; + + if ($this->keyword($word)) { + $value = array('keyword', $word); + return true; + } + + // try a variable + if ($this->variable($var)) { + $value = array('variable', $var); + return true; + } + + // unquote string (should this work on any type? + if ($this->literal("~") && $this->string($str)) { + $value = array("escape", $str); + return true; + } else { + $this->seek($s); + } + + // css hack: \0 + if ($this->literal('\\') && $this->match('([0-9]+)', $m)) { + $value = array('keyword', '\\'.$m[1]); + return true; + } else { + $this->seek($s); + } + + return false; + } + + // an import statement + protected function import(&$out) { + if (!$this->literal('@import')) return false; + + // @import "something.css" media; + // @import url("something.css") media; + // @import url(something.css) media; + + if ($this->propertyValue($value)) { + $out = array("import", $value); + return true; + } + } + + protected function mediaQueryList(&$out) { + if ($this->genericList($list, "mediaQuery", ",", false)) { + $out = $list[2]; + return true; + } + return false; + } + + protected function mediaQuery(&$out) { + $s = $this->seek(); + + $expressions = null; + $parts = array(); + + if (($this->literal("only") && ($only = true) || $this->literal("not") && ($not = true) || true) && $this->keyword($mediaType)) { + $prop = array("mediaType"); + if (isset($only)) $prop[] = "only"; + if (isset($not)) $prop[] = "not"; + $prop[] = $mediaType; + $parts[] = $prop; + } else { + $this->seek($s); + } + + + if (!empty($mediaType) && !$this->literal("and")) { + // ~ + } else { + $this->genericList($expressions, "mediaExpression", "and", false); + if (is_array($expressions)) $parts = array_merge($parts, $expressions[2]); + } + + if (count($parts) == 0) { + $this->seek($s); + return false; + } + + $out = $parts; + return true; + } + + protected function mediaExpression(&$out) { + $s = $this->seek(); + $value = null; + if ($this->literal("(") && + $this->keyword($feature) && + ($this->literal(":") && $this->expression($value) || true) && + $this->literal(")")) + { + $out = array("mediaExp", $feature); + if ($value) $out[] = $value; + return true; + } elseif ($this->variable($variable)) { + $out = array('variable', $variable); + return true; + } + + $this->seek($s); + return false; + } + + // an unbounded string stopped by $end + protected function openString($end, &$out, $nestingOpen=null, $rejectStrs = null) { + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = false; + + $stop = array("'", '"', "@{", $end); + $stop = array_map(array("lessc", "preg_quote"), $stop); + // $stop[] = self::$commentMulti; + + if (!is_null($rejectStrs)) { + $stop = array_merge($stop, $rejectStrs); + } + + $patt = '(.*?)('.implode("|", $stop).')'; + + $nestingLevel = 0; + + $content = array(); + while ($this->match($patt, $m, false)) { + if (!empty($m[1])) { + $content[] = $m[1]; + if ($nestingOpen) { + $nestingLevel += substr_count($m[1], $nestingOpen); + } + } + + $tok = $m[2]; + + $this->count-= strlen($tok); + if ($tok == $end) { + if ($nestingLevel == 0) { + break; + } else { + $nestingLevel--; + } + } + + if (($tok == "'" || $tok == '"') && $this->string($str)) { + $content[] = $str; + continue; + } + + if ($tok == "@{" && $this->interpolation($inter)) { + $content[] = $inter; + continue; + } + + if (!empty($rejectStrs) && in_array($tok, $rejectStrs)) { + break; + } + + $content[] = $tok; + $this->count+= strlen($tok); + } + + $this->eatWhiteDefault = $oldWhite; + + if (count($content) == 0) return false; + + // trim the end + if (is_string(end($content))) { + $content[count($content) - 1] = rtrim(end($content)); + } + + $out = array("string", "", $content); + return true; + } + + protected function string(&$out) { + $s = $this->seek(); + if ($this->literal('"', false)) { + $delim = '"'; + } elseif ($this->literal("'", false)) { + $delim = "'"; + } else { + return false; + } + + $content = array(); + + // look for either ending delim , escape, or string interpolation + $patt = '([^\n]*?)(@\{|\\\\|' . + lessc::preg_quote($delim).')'; + + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = false; + + while ($this->match($patt, $m, false)) { + $content[] = $m[1]; + if ($m[2] == "@{") { + $this->count -= strlen($m[2]); + if ($this->interpolation($inter, false)) { + $content[] = $inter; + } else { + $this->count += strlen($m[2]); + $content[] = "@{"; // ignore it + } + } elseif ($m[2] == '\\') { + $content[] = $m[2]; + if ($this->literal($delim, false)) { + $content[] = $delim; + } + } else { + $this->count -= strlen($delim); + break; // delim + } + } + + $this->eatWhiteDefault = $oldWhite; + + if ($this->literal($delim)) { + $out = array("string", $delim, $content); + return true; + } + + $this->seek($s); + return false; + } + + protected function interpolation(&$out) { + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = true; + + $s = $this->seek(); + if ($this->literal("@{") && + $this->openString("}", $interp, null, array("'", '"', ";")) && + $this->literal("}", false)) + { + $out = array("interpolate", $interp); + $this->eatWhiteDefault = $oldWhite; + if ($this->eatWhiteDefault) $this->whitespace(); + return true; + } + + $this->eatWhiteDefault = $oldWhite; + $this->seek($s); + return false; + } + + protected function unit(&$unit) { + // speed shortcut + if (isset($this->buffer[$this->count])) { + $char = $this->buffer[$this->count]; + if (!ctype_digit($char) && $char != ".") return false; + } + + if ($this->match('([0-9]+(?:\.[0-9]*)?|\.[0-9]+)([%a-zA-Z]+)?', $m)) { + $unit = array("number", $m[1], empty($m[2]) ? "" : $m[2]); + return true; + } + return false; + } + + // a # color + protected function color(&$out) { + if ($this->match('(#(?:[0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{3}))', $m)) { + if (strlen($m[1]) > 7) { + $out = array("string", "", array($m[1])); + } else { + $out = array("raw_color", $m[1]); + } + return true; + } + + return false; + } + + // consume an argument definition list surrounded by () + // each argument is a variable name with optional value + // or at the end a ... or a variable named followed by ... + // arguments are separated by , unless a ; is in the list, then ; is the + // delimiter. + protected function argumentDef(&$args, &$isVararg) { + $s = $this->seek(); + if (!$this->literal('(')) return false; + + $values = array(); + $delim = ","; + $method = "expressionList"; + + $isVararg = false; + while (true) { + if ($this->literal("...")) { + $isVararg = true; + break; + } + + if ($this->$method($value)) { + if ($value[0] == "variable") { + $arg = array("arg", $value[1]); + $ss = $this->seek(); + + if ($this->assign() && $this->$method($rhs)) { + $arg[] = $rhs; + } else { + $this->seek($ss); + if ($this->literal("...")) { + $arg[0] = "rest"; + $isVararg = true; + } + } + + $values[] = $arg; + if ($isVararg) break; + continue; + } else { + $values[] = array("lit", $value); + } + } + + + if (!$this->literal($delim)) { + if ($delim == "," && $this->literal(";")) { + // found new delim, convert existing args + $delim = ";"; + $method = "propertyValue"; + + // transform arg list + if (isset($values[1])) { // 2 items + $newList = array(); + foreach ($values as $i => $arg) { + switch($arg[0]) { + case "arg": + if ($i) { + $this->throwError("Cannot mix ; and , as delimiter types"); + } + $newList[] = $arg[2]; + break; + case "lit": + $newList[] = $arg[1]; + break; + case "rest": + $this->throwError("Unexpected rest before semicolon"); + } + } + + $newList = array("list", ", ", $newList); + + switch ($values[0][0]) { + case "arg": + $newArg = array("arg", $values[0][1], $newList); + break; + case "lit": + $newArg = array("lit", $newList); + break; + } + + } elseif ($values) { // 1 item + $newArg = $values[0]; + } + + if ($newArg) { + $values = array($newArg); + } + } else { + break; + } + } + } + + if (!$this->literal(')')) { + $this->seek($s); + return false; + } + + $args = $values; + + return true; + } + + // consume a list of tags + // this accepts a hanging delimiter + protected function tags(&$tags, $simple = false, $delim = ',') { + $tags = array(); + while ($this->tag($tt, $simple)) { + $tags[] = $tt; + if (!$this->literal($delim)) break; + } + if (count($tags) == 0) return false; + + return true; + } + + // list of tags of specifying mixin path + // optionally separated by > (lazy, accepts extra >) + protected function mixinTags(&$tags) { + $tags = array(); + while ($this->tag($tt, true)) { + $tags[] = $tt; + $this->literal(">"); + } + + if (count($tags) == 0) return false; + + return true; + } + + // a bracketed value (contained within in a tag definition) + protected function tagBracket(&$parts, &$hasExpression) { + // speed shortcut + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] != "[") { + return false; + } + + $s = $this->seek(); + + $hasInterpolation = false; + + if ($this->literal("[", false)) { + $attrParts = array("["); + // keyword, string, operator + while (true) { + if ($this->literal("]", false)) { + $this->count--; + break; // get out early + } + + if ($this->match('\s+', $m)) { + $attrParts[] = " "; + continue; + } + if ($this->string($str)) { + // escape parent selector, (yuck) + foreach ($str[2] as &$chunk) { + $chunk = str_replace($this->lessc->parentSelector, "$&$", $chunk); + } + + $attrParts[] = $str; + $hasInterpolation = true; + continue; + } + + if ($this->keyword($word)) { + $attrParts[] = $word; + continue; + } + + if ($this->interpolation($inter, false)) { + $attrParts[] = $inter; + $hasInterpolation = true; + continue; + } + + // operator, handles attr namespace too + if ($this->match('[|-~\$\*\^=]+', $m)) { + $attrParts[] = $m[0]; + continue; + } + + break; + } + + if ($this->literal("]", false)) { + $attrParts[] = "]"; + foreach ($attrParts as $part) { + $parts[] = $part; + } + $hasExpression = $hasExpression || $hasInterpolation; + return true; + } + $this->seek($s); + } + + $this->seek($s); + return false; + } + + // a space separated list of selectors + protected function tag(&$tag, $simple = false) { + if ($simple) + $chars = '^@,:;{}\][>\(\) "\''; + else + $chars = '^@,;{}["\''; + + $s = $this->seek(); + + $hasExpression = false; + $parts = array(); + while ($this->tagBracket($parts, $hasExpression)); + + $oldWhite = $this->eatWhiteDefault; + $this->eatWhiteDefault = false; + + while (true) { + if ($this->match('(['.$chars.'0-9]['.$chars.']*)', $m)) { + $parts[] = $m[1]; + if ($simple) break; + + while ($this->tagBracket($parts, $hasExpression)); + continue; + } + + if (isset($this->buffer[$this->count]) && $this->buffer[$this->count] == "@") { + if ($this->interpolation($interp)) { + $hasExpression = true; + $interp[2] = true; // don't unescape + $parts[] = $interp; + continue; + } + + if ($this->literal("@")) { + $parts[] = "@"; + continue; + } + } + + if ($this->unit($unit)) { // for keyframes + $parts[] = $unit[1]; + $parts[] = $unit[2]; + continue; + } + + break; + } + + $this->eatWhiteDefault = $oldWhite; + if (!$parts) { + $this->seek($s); + return false; + } + + if ($hasExpression) { + $tag = array("exp", array("string", "", $parts)); + } else { + $tag = trim(implode($parts)); + } + + $this->whitespace(); + return true; + } + + // a css function + protected function func(&$func) { + $s = $this->seek(); + + if ($this->match('(%|[\w\-_][\w\-_:\.]+|[\w_])', $m) && $this->literal('(')) { + $fname = $m[1]; + + $sPreArgs = $this->seek(); + + $args = array(); + while (true) { + $ss = $this->seek(); + // this ugly nonsense is for ie filter properties + if ($this->keyword($name) && $this->literal('=') && $this->expressionList($value)) { + $args[] = array("string", "", array($name, "=", $value)); + } else { + $this->seek($ss); + if ($this->expressionList($value)) { + $args[] = $value; + } + } + + if (!$this->literal(',')) break; + } + $args = array('list', ',', $args); + + if ($this->literal(')')) { + $func = array('function', $fname, $args); + return true; + } elseif ($fname == 'url') { + // couldn't parse and in url? treat as string + $this->seek($sPreArgs); + if ($this->openString(")", $string) && $this->literal(")")) { + $func = array('function', $fname, $string); + return true; + } + } + } + + $this->seek($s); + return false; + } + + // consume a less variable + protected function variable(&$name) { + $s = $this->seek(); + if ($this->literal($this->lessc->vPrefix, false) && + ($this->variable($sub) || $this->keyword($name))) + { + if (!empty($sub)) { + $name = array('variable', $sub); + } else { + $name = $this->lessc->vPrefix.$name; + } + return true; + } + + $name = null; + $this->seek($s); + return false; + } + + /** + * Consume an assignment operator + * Can optionally take a name that will be set to the current property name + */ + protected function assign($name = null) { + if ($name) $this->currentProperty = $name; + return $this->literal(':') || $this->literal('='); + } + + // consume a keyword + protected function keyword(&$word) { + if ($this->match('([\w_\-\*!"][\w\-_"]*)', $m)) { + $word = $m[1]; + return true; + } + return false; + } + + // consume an end of statement delimiter + protected function end() { + if ($this->literal(';', false)) { + return true; + } elseif ($this->count == strlen($this->buffer) || $this->buffer[$this->count] == '}') { + // if there is end of file or a closing block next then we don't need a ; + return true; + } + return false; + } + + protected function guards(&$guards) { + $s = $this->seek(); + + if (!$this->literal("when")) { + $this->seek($s); + return false; + } + + $guards = array(); + + while ($this->guardGroup($g)) { + $guards[] = $g; + if (!$this->literal(",")) break; + } + + if (count($guards) == 0) { + $guards = null; + $this->seek($s); + return false; + } + + return true; + } + + // a bunch of guards that are and'd together + // TODO rename to guardGroup + protected function guardGroup(&$guardGroup) { + $s = $this->seek(); + $guardGroup = array(); + while ($this->guard($guard)) { + $guardGroup[] = $guard; + if (!$this->literal("and")) break; + } + + if (count($guardGroup) == 0) { + $guardGroup = null; + $this->seek($s); + return false; + } + + return true; + } + + protected function guard(&$guard) { + $s = $this->seek(); + $negate = $this->literal("not"); + + if ($this->literal("(") && $this->expression($exp) && $this->literal(")")) { + $guard = $exp; + if ($negate) $guard = array("negate", $guard); + return true; + } + + $this->seek($s); + return false; + } + + /* raw parsing functions */ + + protected function literal($what, $eatWhitespace = null) { + if ($eatWhitespace === null) $eatWhitespace = $this->eatWhiteDefault; + + // shortcut on single letter + if (!isset($what[1]) && isset($this->buffer[$this->count])) { + if ($this->buffer[$this->count] == $what) { + if (!$eatWhitespace) { + $this->count++; + return true; + } + // goes below... + } else { + return false; + } + } + + if (!isset(self::$literalCache[$what])) { + self::$literalCache[$what] = lessc::preg_quote($what); + } + + return $this->match(self::$literalCache[$what], $m, $eatWhitespace); + } + + protected function genericList(&$out, $parseItem, $delim="", $flatten=true) { + $s = $this->seek(); + $items = array(); + while ($this->$parseItem($value)) { + $items[] = $value; + if ($delim) { + if (!$this->literal($delim)) break; + } + } + + if (count($items) == 0) { + $this->seek($s); + return false; + } + + if ($flatten && count($items) == 1) { + $out = $items[0]; + } else { + $out = array("list", $delim, $items); + } + + return true; + } + + + // advance counter to next occurrence of $what + // $until - don't include $what in advance + // $allowNewline, if string, will be used as valid char set + protected function to($what, &$out, $until = false, $allowNewline = false) { + if (is_string($allowNewline)) { + $validChars = $allowNewline; + } else { + $validChars = $allowNewline ? "." : "[^\n]"; + } + if (!$this->match('('.$validChars.'*?)'.lessc::preg_quote($what), $m, !$until)) return false; + if ($until) $this->count -= strlen($what); // give back $what + $out = $m[1]; + return true; + } + + // try to match something on head of buffer + protected function match($regex, &$out, $eatWhitespace = null) { + if ($eatWhitespace === null) $eatWhitespace = $this->eatWhiteDefault; + + $r = '/'.$regex.($eatWhitespace && !$this->writeComments ? '\s*' : '').'/Ais'; + if (preg_match($r, $this->buffer, $out, null, $this->count)) { + $this->count += strlen($out[0]); + if ($eatWhitespace && $this->writeComments) $this->whitespace(); + return true; + } + return false; + } + + // match some whitespace + protected function whitespace() { + if ($this->writeComments) { + $gotWhite = false; + while (preg_match(self::$whitePattern, $this->buffer, $m, null, $this->count)) { + if (isset($m[1]) && empty($this->seenComments[$this->count])) { + $this->append(array("comment", $m[1])); + $this->seenComments[$this->count] = true; + } + $this->count += strlen($m[0]); + $gotWhite = true; + } + return $gotWhite; + } else { + $this->match("", $m); + return strlen($m[0]) > 0; + } + } + + // match something without consuming it + protected function peek($regex, &$out = null, $from=null) { + if (is_null($from)) $from = $this->count; + $r = '/'.$regex.'/Ais'; + $result = preg_match($r, $this->buffer, $out, null, $from); + + return $result; + } + + // seek to a spot in the buffer or return where we are on no argument + protected function seek($where = null) { + if ($where === null) return $this->count; + else $this->count = $where; + return true; + } + + /* misc functions */ + + public function throwError($msg = "parse error", $count = null) { + $count = is_null($count) ? $this->count : $count; + + $line = $this->line + + substr_count(substr($this->buffer, 0, $count), "\n"); + + if (!empty($this->sourceName)) { + $loc = "$this->sourceName on line $line"; + } else { + $loc = "line: $line"; + } + + // TODO this depends on $this->count + if ($this->peek("(.*?)(\n|$)", $m, $count)) { + throw new exception("$msg: failed at `$m[1]` $loc"); + } else { + throw new exception("$msg: $loc"); + } + } + + protected function pushBlock($selectors=null, $type=null) { + $b = new stdclass; + $b->parent = $this->env; + + $b->type = $type; + $b->id = self::$nextBlockId++; + + $b->isVararg = false; // TODO: kill me from here + $b->tags = $selectors; + + $b->props = array(); + $b->children = array(); + + $this->env = $b; + return $b; + } + + // push a block that doesn't multiply tags + protected function pushSpecialBlock($type) { + return $this->pushBlock(null, $type); + } + + // append a property to the current block + protected function append($prop, $pos = null) { + if ($pos !== null) $prop[-1] = $pos; + $this->env->props[] = $prop; + } + + // pop something off the stack + protected function pop() { + $old = $this->env; + $this->env = $this->env->parent; + return $old; + } + + // remove comments from $text + // todo: make it work for all functions, not just url + protected function removeComments($text) { + $look = array( + 'url(', '//', '/*', '"', "'" + ); + + $out = ''; + $min = null; + while (true) { + // find the next item + foreach ($look as $token) { + $pos = strpos($text, $token); + if ($pos !== false) { + if (!isset($min) || $pos < $min[1]) $min = array($token, $pos); + } + } + + if (is_null($min)) break; + + $count = $min[1]; + $skip = 0; + $newlines = 0; + switch ($min[0]) { + case 'url(': + if (preg_match('/url\(.*?\)/', $text, $m, 0, $count)) + $count += strlen($m[0]) - strlen($min[0]); + break; + case '"': + case "'": + if (preg_match('/'.$min[0].'.*?(?<!\\\\)'.$min[0].'/', $text, $m, 0, $count)) + $count += strlen($m[0]) - 1; + break; + case '//': + $skip = strpos($text, "\n", $count); + if ($skip === false) $skip = strlen($text) - $count; + else $skip -= $count; + break; + case '/*': + if (preg_match('/\/\*.*?\*\//s', $text, $m, 0, $count)) { + $skip = strlen($m[0]); + $newlines = substr_count($m[0], "\n"); + } + break; + } + + if ($skip == 0) $count += strlen($min[0]); + + $out .= substr($text, 0, $count).str_repeat("\n", $newlines); + $text = substr($text, $count + $skip); + + $min = null; + } + + return $out.$text; + } + +} + +class lessc_formatter_classic { + public $indentChar = " "; + + public $break = "\n"; + public $open = " {"; + public $close = "}"; + public $selectorSeparator = ", "; + public $assignSeparator = ":"; + + public $openSingle = " { "; + public $closeSingle = " }"; + + public $disableSingle = false; + public $breakSelectors = false; + + public $compressColors = false; + + public function __construct() { + $this->indentLevel = 0; + } + + public function indentStr($n = 0) { + return str_repeat($this->indentChar, max($this->indentLevel + $n, 0)); + } + + public function property($name, $value) { + return $name . $this->assignSeparator . $value . ";"; + } + + protected function isEmpty($block) { + if (empty($block->lines)) { + foreach ($block->children as $child) { + if (!$this->isEmpty($child)) return false; + } + + return true; + } + return false; + } + + public function block($block) { + if ($this->isEmpty($block)) return; + + $inner = $pre = $this->indentStr(); + + $isSingle = !$this->disableSingle && + is_null($block->type) && count($block->lines) == 1; + + if (!empty($block->selectors)) { + $this->indentLevel++; + + if ($this->breakSelectors) { + $selectorSeparator = $this->selectorSeparator . $this->break . $pre; + } else { + $selectorSeparator = $this->selectorSeparator; + } + + echo $pre . + implode($selectorSeparator, $block->selectors); + if ($isSingle) { + echo $this->openSingle; + $inner = ""; + } else { + echo $this->open . $this->break; + $inner = $this->indentStr(); + } + + } + + if (!empty($block->lines)) { + $glue = $this->break.$inner; + echo $inner . implode($glue, $block->lines); + if (!$isSingle && !empty($block->children)) { + echo $this->break; + } + } + + foreach ($block->children as $child) { + $this->block($child); + } + + if (!empty($block->selectors)) { + if (!$isSingle && empty($block->children)) echo $this->break; + + if ($isSingle) { + echo $this->closeSingle . $this->break; + } else { + echo $pre . $this->close . $this->break; + } + + $this->indentLevel--; + } + } +} + +class lessc_formatter_compressed extends lessc_formatter_classic { + public $disableSingle = true; + public $open = "{"; + public $selectorSeparator = ","; + public $assignSeparator = ":"; + public $break = ""; + public $compressColors = true; + + public function indentStr($n = 0) { + return ""; + } +} + +class lessc_formatter_lessjs extends lessc_formatter_classic { + public $disableSingle = true; + public $breakSelectors = true; + public $assignSeparator = ": "; + public $selectorSeparator = ","; +} diff --git a/panels/clock/biber/background.svg b/panels/clock/biber/background.svg new file mode 100755 index 0000000000000000000000000000000000000000..10be5be8e84a5bf5592312a4c43308e20c64d3b6 --- /dev/null +++ b/panels/clock/biber/background.svg @@ -0,0 +1,61 @@ +<svg data-clock="analog" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full" width="100%" height="100%" viewBox="0 0 200 200"> + +<!-- hour stroke (DIN 41091.4) --> +<symbol id="hourStrokeDIN41091.4"> +<rect x="97" y="0" width="6" height="7"></rect> +</symbol> + +<!-- minute stroke (DIN 41091.4) --> +<symbol id="minuteStrokeDIN41091.4"> +<rect x="98.75" y="0" width="2.5" height="7"></rect> +</symbol> + +<!-- five minutes strokes (DIN 41091.4) --> +<symbol id="fiveMinutesStrokesDIN41091.4"> +<use xlink:href="#hourStrokeDIN41091.4"></use> +<use xlink:href="#minuteStrokeDIN41091.4" transform="rotate( 6, 100, 100)"></use> +<use xlink:href="#minuteStrokeDIN41091.4" transform="rotate(12, 100, 100)"></use> +<use xlink:href="#minuteStrokeDIN41091.4" transform="rotate(18, 100, 100)"></use> +<use xlink:href="#minuteStrokeDIN41091.4" transform="rotate(24, 100, 100)"></use> +</symbol> + +<!-- quarter strokes (DIN 41091.4) --> +<symbol id="quarterStrokesDIN41091.4"> +<use xlink:href="#fiveMinutesStrokesDIN41091.4"></use> +<use xlink:href="#fiveMinutesStrokesDIN41091.4" transform="rotate(30, 100, 100)"></use> +<use xlink:href="#fiveMinutesStrokesDIN41091.4" transform="rotate(60, 100, 100)"></use> +</symbol> + +<!-- visible dial circle --> +<clippath id="dialCircle"> +<circle cx="100" cy="100" r="100"></circle> +</clippath> +<!-- clock --> +<g id="clock" clip-path="url(#dialCircle)" visibility="visible"> + + + +<!-- dial --> +<g id="dial"> + <use xlink:href="#quarterStrokesDIN41091.4" style="stroke:none"></use> + <use xlink:href="#quarterStrokesDIN41091.4" style="stroke:none" transform="rotate( 90, 100, 100)"></use> + <use xlink:href="#quarterStrokesDIN41091.4" style="stroke:none" transform="rotate(180, 100, 100)"></use> + <use xlink:href="#quarterStrokesDIN41091.4" style="stroke:none" transform="rotate(270, 100, 100)"></use> + <g text-anchor="middle" letter-spacing="-2" font-family="sans-serif" font-size="24px" style="stroke:none"> + <text x="100" y="30">12</text> + <text x="143" y="41">1</text> + <text x="171" y="70">2</text> + <text x="182" y="109">3</text> + <text x="171" y="147">4</text> + <text x="142" y="176">5</text> + <text x="100" y="188">6</text> + <text x="60" y="176">7</text> + <text x="30" y="147">8</text> + <text x="18" y="109">9</text> + <text x="34" y="70">10</text> + <text x="61" y="41">11</text> +</g> +</g> + +</g> +</svg> diff --git a/panels/clock/biber/biber.svg b/panels/clock/biber/biber.svg new file mode 100755 index 0000000000000000000000000000000000000000..56ce17b7a858a37d9d3d370e9eea6dacee719c79 --- /dev/null +++ b/panels/clock/biber/biber.svg @@ -0,0 +1,1731 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="569pt" + height="280pt" + viewBox="0 0 569 280" + version="1.1" + id="svg2" + sodipodi:version="0.32" + inkscape:version="0.45" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + sodipodi:docbase="/mnt/gremien/fsr/Logo/Vector/bieber" + sodipodi:docname="biber_color_569x280.svg" + sodipodi:modified="true"> + <metadata + id="metadata847"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + inkscape:window-height="588" + inkscape:window-width="855" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + inkscape:zoom="1.08" + inkscape:cx="355.625" + inkscape:cy="175" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg2" /> + <defs + id="defs4"> + <clipPath + id="clip0"> + <rect + width="569" + height="280" + id="rect7" /> + </clipPath> + </defs> + <g + id="g3417"> + <path + style="fill:none;stroke:#fdfdfd;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 0,0 L 569,0 L 569,280 L 0,280 L 0,0 z " + id="path10" /> + <path + style="fill:none;stroke:#1c1c1c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 273.57756,6.807938 C 283.87553,12.169098 292.66553,20.600281 298.11464,30.866302 C 290.03627,24.901382 281.43431,19.674438 272.57936,14.942062 C 273.07037,12.251709 273.3868,9.535828 273.57756,6.807938 z " + id="path14" /> + <path + style="fill:#1c1c1c;fill-rule:nonzero;stroke:none" + d="M 273.57756,6.807938 C 283.87553,12.169098 292.66553,20.600281 298.11464,30.866302 C 290.03627,24.901382 281.43431,19.674438 272.57936,14.942062 C 273.07037,12.251709 273.3868,9.535828 273.57756,6.807938 z " + id="path16" /> + <path + style="fill:none;stroke:#2e2e2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 214.76708,23.763382 C 218.91559,18.057861 224.11855,12.902725 230.56091,9.857117 C 231.14705,12.413467 231.61971,14.997421 231.89838,17.607071 C 226.65822,19.766068 221.40086,22.273926 217.33073,26.31546 C 214.34772,29.116486 212.08408,32.5923 209.00034,35.289352 C 209.8893,31.013184 212.41402,27.354263 214.76708,23.763382 z " + id="path18" /> + <path + style="fill:#2e2e2e;fill-rule:nonzero;stroke:none" + d="M 214.76708,23.763382 C 218.91559,18.057861 224.11855,12.902725 230.56091,9.857117 C 231.14705,12.413467 231.61971,14.997421 231.89838,17.607071 C 226.65822,19.766068 221.40086,22.273926 217.33073,26.31546 C 214.34772,29.116486 212.08408,32.5923 209.00034,35.289352 C 209.8893,31.013184 212.41402,27.354263 214.76708,23.763382 z " + id="path20" /> + <path + style="fill:none;stroke:#4a3a21;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 250.32512,29.567932 C 252.44279,31.220459 253.93381,33.478409 255.17033,35.831757 C 248.45058,36.951981 241.85565,39.073349 236.11638,42.814835 C 239.54452,43.88327 243.13063,44.434113 246.48524,45.736557 C 250.79712,47.7005 252.92094,52.265488 254.9567,56.26004 C 251.89111,53.250931 249.26936,49.427444 245.02589,47.992706 C 240.99921,46.470245 236.96101,44.899445 232.74901,43.971756 C 230.2307,43.155701 227.99731,44.87056 225.867,45.929901 C 222.92534,47.626648 219.58102,48.72261 217.01953,51.009064 C 214.42311,54.130554 213.18025,58.121567 212.23288,62.005371 C 211.43831,61.298935 210.64801,60.591492 209.86195,59.883041 C 205.30949,55.331253 199.9368,51.619446 193.77235,49.62767 C 191.23517,57.989868 192.71374,67.290955 197.22206,74.707062 C 199.3331,78.253204 203.11053,80.269836 205.68474,83.38765 C 206.35452,85.37381 206.24661,87.517426 206.42424,89.584717 C 201.96864,89.089142 196.614,88.509445 193.54056,92.556519 C 190.11209,95.242065 191.61713,99.619843 191.64374,103.26717 C 191.84882,106.66754 190.7056,110.6371 193.44966,113.32904 C 196.16248,116.14825 195.94931,120.23032 197.31886,123.65283 C 201.30022,128.17786 205.96532,132.90028 212.34813,133.38348 C 210.30762,133.91118 208.27328,134.44971 206.23662,134.97881 C 203.9154,132.37802 201.25351,130.11594 198.30777,128.25697 C 194.92874,126.38458 194.76865,122.13356 193.90192,118.80858 C 193.77928,118.19127 193.53401,116.95665 193.41139,116.33934 C 192.25481,115.87942 191.10251,115.42023 189.95116,114.96069 C 189.66994,115.89639 189.3911,116.83356 189.11465,117.77219 C 184.82559,118.117 180.42236,117.90984 176.24934,119.07324 C 173.71584,120.49179 172.05943,123.02013 169.8475,124.85429 C 167.59552,127.04889 164.63257,128.63525 162.98469,131.37723 C 163.07848,132.71964 163.76807,133.92864 164.21234,135.18059 C 161.01933,140.29378 163.43405,146.3105 162.50044,151.88701 C 163.56236,152.22368 164.62608,152.5628 165.69293,152.90205 C 165.82361,155.4135 165.98302,157.92525 166.22852,160.43097 C 168.77495,161.86395 170.51474,164.21736 171.94537,166.7038 C 175.67241,167.25797 179.1906,168.81433 181.5945,171.81398 C 178.10832,172.07835 174.59601,171.92464 171.15608,171.3067 C 170.27136,167.33897 168.04979,163.78897 164.18221,162.19507 C 164.07211,161.0529 163.98274,159.91133 163.91406,158.77037 C 163.95184,157.52994 164.03278,156.29387 164.15689,155.06218 C 163.06914,155.28526 161.98299,155.50825 160.89848,155.73117 C 160.82136,152.80176 161.01044,149.87685 161.03827,146.95143 C 161.1693,144.77231 158.91438,142.92743 159.78889,140.75742 C 160.43826,138.7514 161.59326,136.96927 162.72508,135.21002 C 161.55766,134.86113 160.3949,134.50531 159.23682,134.14258 C 161.27161,129.72716 165.02028,126.61877 168.73752,123.67415 C 170.18657,122.09898 170.24054,119.39807 172.55421,118.61429 C 177.19907,116.05724 182.6942,116.80376 187.78111,116.76471 C 187.4693,115.55731 187.14673,114.35446 186.83212,113.15213 C 187.62038,113.04579 189.19688,112.83315 189.98512,112.72681 C 189.49866,109.17049 189.45689,105.54221 190.39737,102.05304 C 189.49536,101.34172 188.59796,100.62889 187.70514,99.91452 C 189.62146,93.147675 195.13617,86.835297 202.71831,87.21312 C 203.12268,86.014572 203.53973,84.820633 203.9695,83.631302 C 196.35936,78.784119 191.48248,70.06279 191.2946,61.052444 C 191.23994,56.744217 190.99965,52.347687 192.20006,48.155945 C 199.75143,48.512817 205.98224,53.75647 210.93143,59.035202 C 212.21318,56.976028 212.99701,54.67009 212.4798,52.236252 C 215.21555,49.488464 218.57736,47.557144 222.07817,45.954971 C 223.75252,45.441727 224.11914,43.598206 224.88159,42.245773 C 228.21202,42.150131 231.54623,42.56044 234.87393,42.319183 C 236.20854,41.110443 237.18249,39.571854 238.46231,38.309555 C 240.97243,37.59877 243.61223,37.729919 246.19635,37.639648 C 245.87303,36.367599 245.56049,35.093811 245.27164,33.815979 C 247.51276,34.456329 249.72487,35.186859 251.96205,35.8573 C 251.43121,33.755493 250.7906,31.684143 250.32512,29.567932 z " + id="path22" /> + <path + style="fill:#4a3a21;fill-rule:nonzero;stroke:none" + d="M 250.32512,29.567932 C 252.44279,31.220459 253.93381,33.478409 255.17033,35.831757 C 248.45058,36.951981 241.85565,39.073349 236.11638,42.814835 C 239.54452,43.88327 243.13063,44.434113 246.48524,45.736557 C 250.79712,47.7005 252.92094,52.265488 254.9567,56.26004 C 251.89111,53.250931 249.26936,49.427444 245.02589,47.992706 C 240.99921,46.470245 236.96101,44.899445 232.74901,43.971756 C 230.2307,43.155701 227.99731,44.87056 225.867,45.929901 C 222.92534,47.626648 219.58102,48.72261 217.01953,51.009064 C 214.42311,54.130554 213.18025,58.121567 212.23288,62.005371 C 211.43831,61.298935 210.64801,60.591492 209.86195,59.883041 C 205.30949,55.331253 199.9368,51.619446 193.77235,49.62767 C 191.23517,57.989868 192.71374,67.290955 197.22206,74.707062 C 199.3331,78.253204 203.11053,80.269836 205.68474,83.38765 C 206.35452,85.37381 206.24661,87.517426 206.42424,89.584717 C 201.96864,89.089142 196.614,88.509445 193.54056,92.556519 C 190.11209,95.242065 191.61713,99.619843 191.64374,103.26717 C 191.84882,106.66754 190.7056,110.6371 193.44966,113.32904 C 196.16248,116.14825 195.94931,120.23032 197.31886,123.65283 C 201.30022,128.17786 205.96532,132.90028 212.34813,133.38348 C 210.30762,133.91118 208.27328,134.44971 206.23662,134.97881 C 203.9154,132.37802 201.25351,130.11594 198.30777,128.25697 C 194.92874,126.38458 194.76865,122.13356 193.90192,118.80858 C 193.77928,118.19127 193.53401,116.95665 193.41139,116.33934 C 192.25481,115.87942 191.10251,115.42023 189.95116,114.96069 C 189.66994,115.89639 189.3911,116.83356 189.11465,117.77219 C 184.82559,118.117 180.42236,117.90984 176.24934,119.07324 C 173.71584,120.49179 172.05943,123.02013 169.8475,124.85429 C 167.59552,127.04889 164.63257,128.63525 162.98469,131.37723 C 163.07848,132.71964 163.76807,133.92864 164.21234,135.18059 C 161.01933,140.29378 163.43405,146.3105 162.50044,151.88701 C 163.56236,152.22368 164.62608,152.5628 165.69293,152.90205 C 165.82361,155.4135 165.98302,157.92525 166.22852,160.43097 C 168.77495,161.86395 170.51474,164.21736 171.94537,166.7038 C 175.67241,167.25797 179.1906,168.81433 181.5945,171.81398 C 178.10832,172.07835 174.59601,171.92464 171.15608,171.3067 C 170.27136,167.33897 168.04979,163.78897 164.18221,162.19507 C 164.07211,161.0529 163.98274,159.91133 163.91406,158.77037 C 163.95184,157.52994 164.03278,156.29387 164.15689,155.06218 C 163.06914,155.28526 161.98299,155.50825 160.89848,155.73117 C 160.82136,152.80176 161.01044,149.87685 161.03827,146.95143 C 161.1693,144.77231 158.91438,142.92743 159.78889,140.75742 C 160.43826,138.7514 161.59326,136.96927 162.72508,135.21002 C 161.55766,134.86113 160.3949,134.50531 159.23682,134.14258 C 161.27161,129.72716 165.02028,126.61877 168.73752,123.67415 C 170.18657,122.09898 170.24054,119.39807 172.55421,118.61429 C 177.19907,116.05724 182.6942,116.80376 187.78111,116.76471 C 187.4693,115.55731 187.14673,114.35446 186.83212,113.15213 C 187.62038,113.04579 189.19688,112.83315 189.98512,112.72681 C 189.49866,109.17049 189.45689,105.54221 190.39737,102.05304 C 189.49536,101.34172 188.59796,100.62889 187.70514,99.91452 C 189.62146,93.147675 195.13617,86.835297 202.71831,87.21312 C 203.12268,86.014572 203.53973,84.820633 203.9695,83.631302 C 196.35936,78.784119 191.48248,70.06279 191.2946,61.052444 C 191.23994,56.744217 190.99965,52.347687 192.20006,48.155945 C 199.75143,48.512817 205.98224,53.75647 210.93143,59.035202 C 212.21318,56.976028 212.99701,54.67009 212.4798,52.236252 C 215.21555,49.488464 218.57736,47.557144 222.07817,45.954971 C 223.75252,45.441727 224.11914,43.598206 224.88159,42.245773 C 228.21202,42.150131 231.54623,42.56044 234.87393,42.319183 C 236.20854,41.110443 237.18249,39.571854 238.46231,38.309555 C 240.97243,37.59877 243.61223,37.729919 246.19635,37.639648 C 245.87303,36.367599 245.56049,35.093811 245.27164,33.815979 C 247.51276,34.456329 249.72487,35.186859 251.96205,35.8573 C 251.43121,33.755493 250.7906,31.684143 250.32512,29.567932 z " + id="path24" /> + <path + style="fill:none;stroke:#3a3a35;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 256.30219,36.191971 C 257.17796,34.968307 258.11369,33.785294 259.09963,32.64476 C 259.17293,33.636139 259.31955,35.618912 259.39285,36.610306 C 263.01506,35.89241 266.72357,35.99707 270.36775,36.504547 C 269.25005,37.364822 268.09801,38.175232 266.9458,38.980896 C 267.29373,39.543243 267.98959,40.667938 268.33752,41.230286 C 267.37781,40.748032 266.42065,40.267776 265.46609,39.789536 C 265.73608,38.867188 266.01083,37.945724 266.28958,37.024887 C 262.93982,37.294281 259.49355,37.43335 256.30219,36.191971 z " + id="path26" /> + <path + style="fill:#3a3a35;fill-rule:nonzero;stroke:none" + d="M 256.30219,36.191971 C 257.17796,34.968307 258.11369,33.785294 259.09963,32.64476 C 259.17293,33.636139 259.31955,35.618912 259.39285,36.610306 C 263.01506,35.89241 266.72357,35.99707 270.36775,36.504547 C 269.25005,37.364822 268.09801,38.175232 266.9458,38.980896 C 267.29373,39.543243 267.98959,40.667938 268.33752,41.230286 C 267.37781,40.748032 266.42065,40.267776 265.46609,39.789536 C 265.73608,38.867188 266.01083,37.945724 266.28958,37.024887 C 262.93982,37.294281 259.49355,37.43335 256.30219,36.191971 z " + id="path28" /> + <path + style="fill:none;stroke:#a67526;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 236.11638,42.814835 C 241.85565,39.073349 248.45058,36.951981 255.17033,35.831757 C 255.45329,35.921814 256.01923,36.101913 256.30219,36.191971 C 259.49355,37.43335 262.93982,37.294281 266.28958,37.024887 C 266.01083,37.945724 265.73608,38.867188 265.46609,39.789536 C 266.42065,40.267776 267.37781,40.748032 268.33752,41.230286 L 269.21646,41.678574 C 264.4743,44.56134 260.21686,48.55806 258.5,53.987335 C 261.74908,51.048218 264.4277,47.448364 268.11478,45.016052 C 270.05365,43.717316 272.46921,44.597061 274.61783,44.631668 C 279.15001,45.149704 283.33748,42.143204 287.85704,42.859619 C 292.12935,44.084366 295.91316,46.529099 299.85214,48.52742 C 299.13734,49.947754 298.42903,51.36911 297.7269,52.793747 C 300.09978,56.580322 301.79315,60.73288 302.97232,65.035767 C 310.06348,58.627945 317.67429,51.435806 327.74963,50.751465 C 329.09219,57.195435 330.49872,64.621552 326.4817,70.434708 C 323.32214,75.592438 317.49942,77.829758 312.32803,80.367218 C 313.86949,78.783371 315.33035,77.098938 316.36317,75.128952 C 317.96823,72.157257 320.7209,70.079788 323.13975,67.809372 C 317.8864,69.411163 313.76254,73.088684 309.90128,76.822327 C 312.86809,69.768036 317.68903,63.821701 322.92415,58.334381 C 320.11352,59.500748 317.19554,60.854446 315.46977,63.491989 C 312.6543,67.50061 309.88275,71.669556 308.25555,76.318939 C 307.44633,80.363358 308.76462,84.457382 308.8865,88.521988 C 315.37344,89.93071 323.13516,90.964066 327.06374,97.020416 C 328.42233,100.50633 327.85252,104.41484 327.83653,108.07526 C 327.90291,110.17305 326.26074,111.65912 325.21631,113.2926 C 323.28648,115.74133 324.06183,119.09035 323.58249,121.96649 C 323.5083,125.51541 320.13675,127.58487 318.22244,130.20158 C 315.56908,134.30782 309.92354,133.30722 306.55182,136.51651 C 309.92564,136.19031 313.39572,135.89426 316.54961,134.55312 C 319.26602,133.04584 321.39481,130.69405 323.45648,128.41266 C 326.64059,124.98216 325.97414,119.90163 326.32925,115.60046 C 328.79309,117.41975 331.36246,119.09296 333.88094,120.84058 C 330.35503,129.49457 327.31921,138.44289 322.38971,146.43448 C 319.05411,151.94922 313.64716,155.65823 309.37152,160.35912 C 306.88962,163.1382 303.96983,165.49916 300.70192,167.29138 C 300.17123,165.73642 299.63789,164.18732 299.1931,162.61206 C 299.14056,161.24591 299.15492,159.88107 299.16861,158.51872 C 301.03809,158.2532 302.91138,157.98759 304.78674,157.72011 C 303.94031,153.26419 304.16402,148.32579 301.64668,144.38673 C 298.02354,140.41286 292.78601,138.49191 288.56596,135.25679 C 290.62677,129.64923 293.00471,124.15471 295.65366,118.80046 C 297.46864,115.40994 299.50018,111.82301 302.91031,109.80861 C 306.39174,108.05228 310.3835,107.89043 314.16334,107.21861 C 314.79605,104.9536 315.43671,102.69112 316.06586,100.42534 C 317.49005,100.71254 318.91547,101.00375 320.34706,101.29144 C 317.82318,99.026749 315.14296,96.950287 312.44939,94.89827 C 313.62886,98.31575 315.67964,102.58907 312.8427,105.76923 C 308.54045,107.50911 303.1517,107.06992 299.83293,110.81256 C 291.39075,119.37918 289.76411,131.91823 284.15576,142.12958 C 280.32263,147.52936 274.99646,153.09067 267.96382,153.4819 C 262.87071,153.89246 258.60258,150.53938 253.78462,149.64766 C 249.1768,149.9025 244.75124,152.53862 240.06375,151.33542 C 233.31328,149.58768 226.401,144.72458 225.47113,137.31467 C 224.20386,128.72813 225.07581,119.38243 220.16464,111.74063 C 217.41362,106.78636 211.48938,105.5829 207.18373,102.50371 C 206.0417,100.08792 207.03543,97.248032 207.18411,94.691589 C 205.51744,96.357452 203.8188,97.989517 202.11885,99.619858 C 204.69282,101.75415 207.23621,103.97365 210.20372,105.56033 C 213.5822,107.43424 217.3865,109.20578 219.27217,112.79713 C 223.66426,121.02243 223.73058,130.61586 223.83186,139.70834 C 222.44781,140.28683 221.06432,140.86209 219.70091,141.48024 C 217.42,142.6087 214.71291,143.80676 213.74252,146.35626 C 212.80026,148.93523 212.53185,151.69122 212.09547,154.38634 C 213.28058,154.84357 214.46825,155.30304 215.65848,155.76477 C 215.50363,157.86809 215.35356,159.97205 215.21464,162.07892 C 211.07871,162.68022 207.10394,160.65741 204.80968,157.23604 C 198.02603,147.51218 189.8094,138.10561 187.3269,126.18222 C 188.51439,123.00629 191.5006,121.02473 193.90192,118.80858 C 194.76865,122.13356 194.92874,126.38458 198.30777,128.25697 C 201.25351,130.11594 203.9154,132.37802 206.23662,134.97881 C 208.27328,134.44971 210.30762,133.91118 212.34813,133.38348 C 205.96532,132.90028 201.30022,128.17786 197.31886,123.65283 C 195.94931,120.23032 196.16248,116.14825 193.44966,113.32904 C 190.7056,110.6371 191.84882,106.66754 191.64374,103.26717 C 191.61713,99.619843 190.11209,95.242065 193.54056,92.556519 C 196.614,88.509445 201.96864,89.089142 206.42424,89.584717 C 206.24661,87.517426 206.35452,85.37381 205.68474,83.38765 C 203.11053,80.269836 199.3331,78.253204 197.22206,74.707062 C 192.71374,67.290955 191.23517,57.989868 193.77235,49.62767 C 199.9368,51.619446 205.30949,55.331253 209.86195,59.883041 C 210.11261,62.686401 210.38951,65.487823 210.70499,68.286087 C 211.25655,66.20282 211.7487,64.104935 212.23288,62.005371 C 213.18025,58.121567 214.42311,54.130554 217.01953,51.009064 C 219.58102,48.72261 222.92534,47.626648 225.867,45.929901 C 227.99731,44.87056 230.2307,43.155701 232.74901,43.971756 C 236.96101,44.899445 240.99921,46.470245 245.02589,47.992706 C 249.26936,49.427444 251.89111,53.250931 254.9567,56.26004 C 252.92094,52.265488 250.79712,47.7005 246.48524,45.736557 C 243.13063,44.434113 239.54452,43.88327 236.11638,42.814835 z " + id="path30" /> + <path + style="fill:#a67526;fill-rule:nonzero;stroke:none" + d="M 236.11638,42.814835 C 241.85565,39.073349 248.45058,36.951981 255.17033,35.831757 C 255.45329,35.921814 256.01923,36.101913 256.30219,36.191971 C 259.49355,37.43335 262.93982,37.294281 266.28958,37.024887 C 266.01083,37.945724 265.73608,38.867188 265.46609,39.789536 C 266.42065,40.267776 267.37781,40.748032 268.33752,41.230286 L 269.21646,41.678574 C 264.4743,44.56134 260.21686,48.55806 258.5,53.987335 C 261.74908,51.048218 264.4277,47.448364 268.11478,45.016052 C 270.05365,43.717316 272.46921,44.597061 274.61783,44.631668 C 279.15001,45.149704 283.33748,42.143204 287.85704,42.859619 C 292.12935,44.084366 295.91316,46.529099 299.85214,48.52742 C 299.13734,49.947754 298.42903,51.36911 297.7269,52.793747 C 300.09978,56.580322 301.79315,60.73288 302.97232,65.035767 C 310.06348,58.627945 317.67429,51.435806 327.74963,50.751465 C 329.09219,57.195435 330.49872,64.621552 326.4817,70.434708 C 323.32214,75.592438 317.49942,77.829758 312.32803,80.367218 C 313.86949,78.783371 315.33035,77.098938 316.36317,75.128952 C 317.96823,72.157257 320.7209,70.079788 323.13975,67.809372 C 317.8864,69.411163 313.76254,73.088684 309.90128,76.822327 C 312.86809,69.768036 317.68903,63.821701 322.92415,58.334381 C 320.11352,59.500748 317.19554,60.854446 315.46977,63.491989 C 312.6543,67.50061 309.88275,71.669556 308.25555,76.318939 C 307.44633,80.363358 308.76462,84.457382 308.8865,88.521988 C 315.37344,89.93071 323.13516,90.964066 327.06374,97.020416 C 328.42233,100.50633 327.85252,104.41484 327.83653,108.07526 C 327.90291,110.17305 326.26074,111.65912 325.21631,113.2926 C 323.28648,115.74133 324.06183,119.09035 323.58249,121.96649 C 323.5083,125.51541 320.13675,127.58487 318.22244,130.20158 C 315.56908,134.30782 309.92354,133.30722 306.55182,136.51651 C 309.92564,136.19031 313.39572,135.89426 316.54961,134.55312 C 319.26602,133.04584 321.39481,130.69405 323.45648,128.41266 C 326.64059,124.98216 325.97414,119.90163 326.32925,115.60046 C 328.79309,117.41975 331.36246,119.09296 333.88094,120.84058 C 330.35503,129.49457 327.31921,138.44289 322.38971,146.43448 C 319.05411,151.94922 313.64716,155.65823 309.37152,160.35912 C 306.88962,163.1382 303.96983,165.49916 300.70192,167.29138 C 300.17123,165.73642 299.63789,164.18732 299.1931,162.61206 C 299.14056,161.24591 299.15492,159.88107 299.16861,158.51872 C 301.03809,158.2532 302.91138,157.98759 304.78674,157.72011 C 303.94031,153.26419 304.16402,148.32579 301.64668,144.38673 C 298.02354,140.41286 292.78601,138.49191 288.56596,135.25679 C 290.62677,129.64923 293.00471,124.15471 295.65366,118.80046 C 297.46864,115.40994 299.50018,111.82301 302.91031,109.80861 C 306.39174,108.05228 310.3835,107.89043 314.16334,107.21861 C 314.79605,104.9536 315.43671,102.69112 316.06586,100.42534 C 317.49005,100.71254 318.91547,101.00375 320.34706,101.29144 C 317.82318,99.026749 315.14296,96.950287 312.44939,94.89827 C 313.62886,98.31575 315.67964,102.58907 312.8427,105.76923 C 308.54045,107.50911 303.1517,107.06992 299.83293,110.81256 C 291.39075,119.37918 289.76411,131.91823 284.15576,142.12958 C 280.32263,147.52936 274.99646,153.09067 267.96382,153.4819 C 262.87071,153.89246 258.60258,150.53938 253.78462,149.64766 C 249.1768,149.9025 244.75124,152.53862 240.06375,151.33542 C 233.31328,149.58768 226.401,144.72458 225.47113,137.31467 C 224.20386,128.72813 225.07581,119.38243 220.16464,111.74063 C 217.41362,106.78636 211.48938,105.5829 207.18373,102.50371 C 206.0417,100.08792 207.03543,97.248032 207.18411,94.691589 C 205.51744,96.357452 203.8188,97.989517 202.11885,99.619858 C 204.69282,101.75415 207.23621,103.97365 210.20372,105.56033 C 213.5822,107.43424 217.3865,109.20578 219.27217,112.79713 C 223.66426,121.02243 223.73058,130.61586 223.83186,139.70834 C 222.44781,140.28683 221.06432,140.86209 219.70091,141.48024 C 217.42,142.6087 214.71291,143.80676 213.74252,146.35626 C 212.80026,148.93523 212.53185,151.69122 212.09547,154.38634 C 213.28058,154.84357 214.46825,155.30304 215.65848,155.76477 C 215.50363,157.86809 215.35356,159.97205 215.21464,162.07892 C 211.07871,162.68022 207.10394,160.65741 204.80968,157.23604 C 198.02603,147.51218 189.8094,138.10561 187.3269,126.18222 C 188.51439,123.00629 191.5006,121.02473 193.90192,118.80858 C 194.76865,122.13356 194.92874,126.38458 198.30777,128.25697 C 201.25351,130.11594 203.9154,132.37802 206.23662,134.97881 C 208.27328,134.44971 210.30762,133.91118 212.34813,133.38348 C 205.96532,132.90028 201.30022,128.17786 197.31886,123.65283 C 195.94931,120.23032 196.16248,116.14825 193.44966,113.32904 C 190.7056,110.6371 191.84882,106.66754 191.64374,103.26717 C 191.61713,99.619843 190.11209,95.242065 193.54056,92.556519 C 196.614,88.509445 201.96864,89.089142 206.42424,89.584717 C 206.24661,87.517426 206.35452,85.37381 205.68474,83.38765 C 203.11053,80.269836 199.3331,78.253204 197.22206,74.707062 C 192.71374,67.290955 191.23517,57.989868 193.77235,49.62767 C 199.9368,51.619446 205.30949,55.331253 209.86195,59.883041 C 210.11261,62.686401 210.38951,65.487823 210.70499,68.286087 C 211.25655,66.20282 211.7487,64.104935 212.23288,62.005371 C 213.18025,58.121567 214.42311,54.130554 217.01953,51.009064 C 219.58102,48.72261 222.92534,47.626648 225.867,45.929901 C 227.99731,44.87056 230.2307,43.155701 232.74901,43.971756 C 236.96101,44.899445 240.99921,46.470245 245.02589,47.992706 C 249.26936,49.427444 251.89111,53.250931 254.9567,56.26004 C 252.92094,52.265488 250.79712,47.7005 246.48524,45.736557 C 243.13063,44.434113 239.54452,43.88327 236.11638,42.814835 z " + id="path32" /> + <path + style="fill:none;stroke:#594523;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 269.21646,41.678574 C 271.77235,41.08139 274.56644,40.67981 275.85884,43.525436 C 281.58435,40.986328 288.00745,40.192902 294.16818,41.377151 C 295.25308,45.348862 300.4592,45.257675 302.40175,48.687286 C 304.05209,50.71579 300.92897,51.651062 299.70406,52.690674 C 301.62375,55.394913 303.17834,58.326889 304.66673,61.285568 C 311.08797,55.20079 318.58015,50.071838 327.36504,48.187271 C 331.04422,52.515289 330.86687,58.580063 330.75699,63.927216 C 329.34346,73.96347 319.77782,80.612411 310.31014,82.11438 C 310.94662,83.312897 311.58742,84.511322 312.22026,85.717194 C 311.47005,86.391602 310.72374,87.067123 309.98135,87.743774 C 315.44615,87.797684 320.99089,89.306046 325.41136,92.596146 C 328.15713,94.740921 329.52891,98.052887 331.20299,101.00485 C 328.09373,103.53926 329.69833,107.39973 330.18918,110.72356 C 330.72624,112.44719 332.04242,113.80325 332.88005,115.39331 C 342.31265,115.2809 352.46831,120.20958 356.76108,128.89687 C 355.83987,129.64172 354.92248,130.38741 354.00891,131.1339 C 354.56537,131.65482 355.11629,132.18761 355.66165,132.73227 C 357.16693,130.28897 359.26709,128.24362 360.67236,125.75291 C 365.3076,110.82303 372.61764,95.991669 384.84389,85.828064 C 395.16478,78.93364 407.19527,72.531708 420.00674,73.898819 C 428.1185,75.862244 435.65311,80.722198 440.12468,87.87439 C 446.35278,97.506256 450.70625,108.76623 459.86148,116.16995 C 466.58292,122.31113 476.17239,124.08227 485.00583,123.62076 C 490.29871,123.93788 495.86145,122.67227 500.92227,124.69786 C 499.33951,128.59265 497.6721,132.58446 494.62646,135.5899 C 495.27852,132.44766 496.10275,129.34499 497.07181,126.28586 C 487.58778,128.34508 478.87527,132.81442 469.49237,135.20947 C 458.78912,135.16322 447.40807,132.11136 439.90538,124.06694 C 430.76082,114.28391 424.02306,101.8159 412.07872,94.992172 C 406.98285,91.659683 401.27881,88.475967 394.96022,89.028702 C 387.25533,89.174103 380.9315,94.803101 377.26448,101.17824 C 371.88377,110.18678 369.64204,120.79575 363.3876,129.3273 C 360.97638,132.52882 358.91055,135.994 357.61952,139.8051 C 361.70879,136.24333 365.41589,131.92859 370.79861,130.30598 C 366.02949,134.12819 361.07962,138.23496 358.84773,144.13298 C 358.94865,145.53542 359.13034,146.93095 359.39282,148.31957 C 358.41751,148.7415 357.44406,149.15912 356.47246,149.57243 C 356.49605,150.08679 356.54321,151.11552 356.56679,151.62988 C 356.57065,156.1084 353.93968,159.91531 351.86081,163.68384 C 347.62047,166.228 344.58847,170.67516 339.67586,172.04472 C 338.96304,172.14478 337.53744,172.34485 336.82463,172.4449 C 339.92284,168.42732 344.64133,166.32013 348.41386,163.07822 C 350.36859,161.48689 350.98955,158.94142 351.8369,156.68837 C 352.61787,156.12604 353.4053,155.56848 354.1992,155.01573 C 356.12521,147.09485 357.99934,137.07208 351.47557,130.69287 C 352.28171,129.35916 353.09309,128.02878 353.91151,126.70082 C 350.15334,123.1194 345.97415,119.70164 340.85803,118.34203 C 335.94331,117.02928 330.86313,116.21567 326.23419,114.00647 C 326.25797,114.40497 326.30548,115.20197 326.32925,115.60046 C 325.97414,119.90163 326.64059,124.98216 323.45648,128.41266 C 321.39481,130.69405 319.26602,133.04584 316.54961,134.55312 C 313.39572,135.89426 309.92564,136.19031 306.55182,136.51651 C 309.92354,133.30722 315.56908,134.30782 318.22244,130.20158 C 320.13675,127.58487 323.5083,125.51541 323.58249,121.96649 C 324.06183,119.09035 323.28648,115.74133 325.21631,113.2926 C 326.26074,111.65912 327.90291,110.17305 327.83653,108.07526 C 327.85252,104.41484 328.42233,100.50633 327.06374,97.020416 C 323.13516,90.964066 315.37344,89.93071 308.8865,88.521988 C 308.76462,84.457382 307.44633,80.363358 308.25555,76.318939 C 309.88275,71.669556 312.6543,67.50061 315.46977,63.491989 C 317.19554,60.854446 320.11352,59.500748 322.92415,58.334381 C 317.68903,63.821701 312.86809,69.768036 309.90128,76.822327 C 313.76254,73.088684 317.8864,69.411163 323.13975,67.809372 C 320.7209,70.079788 317.96823,72.157257 316.36317,75.128952 C 315.33035,77.098938 313.86949,78.783371 312.32803,80.367218 C 317.49942,77.829758 323.32214,75.592438 326.4817,70.434708 C 330.49872,64.621552 329.09219,57.195435 327.74963,50.751465 C 317.67429,51.435806 310.06348,58.627945 302.97232,65.035767 C 301.79315,60.73288 300.09978,56.580322 297.7269,52.793747 C 298.42903,51.36911 299.13734,49.947754 299.85214,48.52742 C 295.91316,46.529099 292.12935,44.084366 287.85704,42.859619 C 283.33748,42.143204 279.15001,45.149704 274.61783,44.631668 C 272.46921,44.597061 270.05365,43.717316 268.11478,45.016052 C 264.4277,47.448364 261.74908,51.048218 258.5,53.987335 C 260.21686,48.55806 264.4743,44.56134 269.21646,41.678574 z " + id="path34" /> + <path + style="fill:#594523;fill-rule:nonzero;stroke:none" + d="M 269.21646,41.678574 C 271.77235,41.08139 274.56644,40.67981 275.85884,43.525436 C 281.58435,40.986328 288.00745,40.192902 294.16818,41.377151 C 295.25308,45.348862 300.4592,45.257675 302.40175,48.687286 C 304.05209,50.71579 300.92897,51.651062 299.70406,52.690674 C 301.62375,55.394913 303.17834,58.326889 304.66673,61.285568 C 311.08797,55.20079 318.58015,50.071838 327.36504,48.187271 C 331.04422,52.515289 330.86687,58.580063 330.75699,63.927216 C 329.34346,73.96347 319.77782,80.612411 310.31014,82.11438 C 310.94662,83.312897 311.58742,84.511322 312.22026,85.717194 C 311.47005,86.391602 310.72374,87.067123 309.98135,87.743774 C 315.44615,87.797684 320.99089,89.306046 325.41136,92.596146 C 328.15713,94.740921 329.52891,98.052887 331.20299,101.00485 C 328.09373,103.53926 329.69833,107.39973 330.18918,110.72356 C 330.72624,112.44719 332.04242,113.80325 332.88005,115.39331 C 342.31265,115.2809 352.46831,120.20958 356.76108,128.89687 C 355.83987,129.64172 354.92248,130.38741 354.00891,131.1339 C 354.56537,131.65482 355.11629,132.18761 355.66165,132.73227 C 357.16693,130.28897 359.26709,128.24362 360.67236,125.75291 C 365.3076,110.82303 372.61764,95.991669 384.84389,85.828064 C 395.16478,78.93364 407.19527,72.531708 420.00674,73.898819 C 428.1185,75.862244 435.65311,80.722198 440.12468,87.87439 C 446.35278,97.506256 450.70625,108.76623 459.86148,116.16995 C 466.58292,122.31113 476.17239,124.08227 485.00583,123.62076 C 490.29871,123.93788 495.86145,122.67227 500.92227,124.69786 C 499.33951,128.59265 497.6721,132.58446 494.62646,135.5899 C 495.27852,132.44766 496.10275,129.34499 497.07181,126.28586 C 487.58778,128.34508 478.87527,132.81442 469.49237,135.20947 C 458.78912,135.16322 447.40807,132.11136 439.90538,124.06694 C 430.76082,114.28391 424.02306,101.8159 412.07872,94.992172 C 406.98285,91.659683 401.27881,88.475967 394.96022,89.028702 C 387.25533,89.174103 380.9315,94.803101 377.26448,101.17824 C 371.88377,110.18678 369.64204,120.79575 363.3876,129.3273 C 360.97638,132.52882 358.91055,135.994 357.61952,139.8051 C 361.70879,136.24333 365.41589,131.92859 370.79861,130.30598 C 366.02949,134.12819 361.07962,138.23496 358.84773,144.13298 C 358.94865,145.53542 359.13034,146.93095 359.39282,148.31957 C 358.41751,148.7415 357.44406,149.15912 356.47246,149.57243 C 356.49605,150.08679 356.54321,151.11552 356.56679,151.62988 C 356.57065,156.1084 353.93968,159.91531 351.86081,163.68384 C 347.62047,166.228 344.58847,170.67516 339.67586,172.04472 C 338.96304,172.14478 337.53744,172.34485 336.82463,172.4449 C 339.92284,168.42732 344.64133,166.32013 348.41386,163.07822 C 350.36859,161.48689 350.98955,158.94142 351.8369,156.68837 C 352.61787,156.12604 353.4053,155.56848 354.1992,155.01573 C 356.12521,147.09485 357.99934,137.07208 351.47557,130.69287 C 352.28171,129.35916 353.09309,128.02878 353.91151,126.70082 C 350.15334,123.1194 345.97415,119.70164 340.85803,118.34203 C 335.94331,117.02928 330.86313,116.21567 326.23419,114.00647 C 326.25797,114.40497 326.30548,115.20197 326.32925,115.60046 C 325.97414,119.90163 326.64059,124.98216 323.45648,128.41266 C 321.39481,130.69405 319.26602,133.04584 316.54961,134.55312 C 313.39572,135.89426 309.92564,136.19031 306.55182,136.51651 C 309.92354,133.30722 315.56908,134.30782 318.22244,130.20158 C 320.13675,127.58487 323.5083,125.51541 323.58249,121.96649 C 324.06183,119.09035 323.28648,115.74133 325.21631,113.2926 C 326.26074,111.65912 327.90291,110.17305 327.83653,108.07526 C 327.85252,104.41484 328.42233,100.50633 327.06374,97.020416 C 323.13516,90.964066 315.37344,89.93071 308.8865,88.521988 C 308.76462,84.457382 307.44633,80.363358 308.25555,76.318939 C 309.88275,71.669556 312.6543,67.50061 315.46977,63.491989 C 317.19554,60.854446 320.11352,59.500748 322.92415,58.334381 C 317.68903,63.821701 312.86809,69.768036 309.90128,76.822327 C 313.76254,73.088684 317.8864,69.411163 323.13975,67.809372 C 320.7209,70.079788 317.96823,72.157257 316.36317,75.128952 C 315.33035,77.098938 313.86949,78.783371 312.32803,80.367218 C 317.49942,77.829758 323.32214,75.592438 326.4817,70.434708 C 330.49872,64.621552 329.09219,57.195435 327.74963,50.751465 C 317.67429,51.435806 310.06348,58.627945 302.97232,65.035767 C 301.79315,60.73288 300.09978,56.580322 297.7269,52.793747 C 298.42903,51.36911 299.13734,49.947754 299.85214,48.52742 C 295.91316,46.529099 292.12935,44.084366 287.85704,42.859619 C 283.33748,42.143204 279.15001,45.149704 274.61783,44.631668 C 272.46921,44.597061 270.05365,43.717316 268.11478,45.016052 C 264.4277,47.448364 261.74908,51.048218 258.5,53.987335 C 260.21686,48.55806 264.4743,44.56134 269.21646,41.678574 z " + id="path36" /> + <path + style="fill:none;stroke:#3f3521;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 199.01724,56.677094 C 206.28006,61.235214 207.18361,70.865448 206.98048,78.648163 C 205.17265,77.51149 203.40771,76.314362 201.67925,75.066238 C 203.14838,71.588959 201.38725,68.15831 200.16174,64.923004 C 201.84032,66.893326 203.46471,68.909866 205.14072,70.885162 C 204.57899,65.591064 201.61516,61.153809 199.01724,56.677094 z " + id="path38" /> + <path + style="fill:#3f3521;fill-rule:nonzero;stroke:none" + d="M 199.01724,56.677094 C 206.28006,61.235214 207.18361,70.865448 206.98048,78.648163 C 205.17265,77.51149 203.40771,76.314362 201.67925,75.066238 C 203.14838,71.588959 201.38725,68.15831 200.16174,64.923004 C 201.84032,66.893326 203.46471,68.909866 205.14072,70.885162 C 204.57899,65.591064 201.61516,61.153809 199.01724,56.677094 z " + id="path40" /> + <path + style="fill:none;stroke:#fdfdfd;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 229.54298,57.549973 C 234.25581,56.679535 239.39778,56.923203 243.64327,59.347885 C 250.54446,63.099442 254.90581,70.390701 256.33945,77.971527 C 256.77869,80.84967 256.81065,83.7836 256.5,86.677811 C 256.06924,88.691284 255.58485,90.693069 255.1421,92.704514 C 251.46661,102.32828 241.75467,110.31711 231.0002,108.58856 C 222.6201,106.62512 215.82594,99.786453 213.31096,91.640228 C 211.89314,87.586853 212.00554,83.219788 212.23926,78.994324 C 213.19217,69.371262 219.92239,59.985947 229.54298,57.549973 z " + id="path42" /> + <path + style="fill:#fdfdfd;fill-rule:nonzero;stroke:none" + d="M 229.54298,57.549973 C 234.25581,56.679535 239.39778,56.923203 243.64327,59.347885 C 250.54446,63.099442 254.90581,70.390701 256.33945,77.971527 C 256.77869,80.84967 256.81065,83.7836 256.5,86.677811 C 256.06924,88.691284 255.58485,90.693069 255.1421,92.704514 C 251.46661,102.32828 241.75467,110.31711 231.0002,108.58856 C 222.6201,106.62512 215.82594,99.786453 213.31096,91.640228 C 211.89314,87.586853 212.00554,83.219788 212.23926,78.994324 C 213.19217,69.371262 219.92239,59.985947 229.54298,57.549973 z " + id="path44" /> + <path + style="fill:none;stroke:#fdfdfd;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 271.26254,59.256958 C 277.77843,55.344681 286.51749,55.855026 292.59551,60.39473 C 301.50075,66.732742 305.07123,78.490112 303.49405,89.017715 C 302.19209,98.84259 295.46036,108.11618 285.88692,111.24371 C 280.64136,111.89085 274.98383,111.66444 270.47969,108.57989 C 266.17145,105.96516 263.03525,101.79643 260.98167,97.255127 C 259.98294,94.685013 259.25499,92.023895 258.46641,89.387283 C 258.06407,85.982269 257.98273,82.52298 258.49809,79.126144 C 259.87039,71.177292 264.08369,63.341522 271.26254,59.256958 z " + id="path46" /> + <path + style="fill:#fdfdfd;fill-rule:nonzero;stroke:none" + d="M 271.26254,59.256958 C 277.77843,55.344681 286.51749,55.855026 292.59551,60.39473 C 301.50075,66.732742 305.07123,78.490112 303.49405,89.017715 C 302.19209,98.84259 295.46036,108.11618 285.88692,111.24371 C 280.64136,111.89085 274.98383,111.66444 270.47969,108.57989 C 266.17145,105.96516 263.03525,101.79643 260.98167,97.255127 C 259.98294,94.685013 259.25499,92.023895 258.46641,89.387283 C 258.06407,85.982269 257.98273,82.52298 258.49809,79.126144 C 259.87039,71.177292 264.08369,63.341522 271.26254,59.256958 z " + id="path48" /> + <path + style="fill:none;stroke:#111111;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 209.86195,59.883041 C 210.64801,60.591492 211.43831,61.298935 212.23288,62.005371 C 211.7487,64.104935 211.25655,66.20282 210.70499,68.286087 C 210.38951,65.487823 210.11261,62.686401 209.86195,59.883041 z " + id="path50" /> + <path + style="fill:#111111;fill-rule:nonzero;stroke:none" + d="M 209.86195,59.883041 C 210.64801,60.591492 211.43831,61.298935 212.23288,62.005371 C 211.7487,64.104935 211.25655,66.20282 210.70499,68.286087 C 210.38951,65.487823 210.11261,62.686401 209.86195,59.883041 z " + id="path52" /> + <path + style="fill:none;stroke:#7f611c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 401.58554,78.718781 C 410.15515,75.356689 420.45793,74.496307 428.66193,79.322845 C 433.43451,81.655212 437.12665,85.679657 439.6561,90.296295 C 445.42587,100.50256 451.00676,111.30342 460.24931,118.86058 C 467.27274,125.05074 477.16754,125.70433 486.05632,126.58357 C 478.35555,130.77063 469.4575,134.0024 460.59451,132.22675 C 453.77513,130.77669 446.84671,128.2204 441.84888,123.17369 C 435.7769,117.18162 430.6463,110.34641 425.2787,103.74312 C 418.94412,95.870895 410.06428,90.077087 400.31805,87.439667 C 392.88608,85.528275 385.4314,88.989563 379.76721,93.621582 C 385.10879,86.280777 393.47952,82.237091 401.58554,78.718781 z " + id="path54" /> + <path + style="fill:#7f611c;fill-rule:nonzero;stroke:none" + d="M 401.58554,78.718781 C 410.15515,75.356689 420.45793,74.496307 428.66193,79.322845 C 433.43451,81.655212 437.12665,85.679657 439.6561,90.296295 C 445.42587,100.50256 451.00676,111.30342 460.24931,118.86058 C 467.27274,125.05074 477.16754,125.70433 486.05632,126.58357 C 478.35555,130.77063 469.4575,134.0024 460.59451,132.22675 C 453.77513,130.77669 446.84671,128.2204 441.84888,123.17369 C 435.7769,117.18162 430.6463,110.34641 425.2787,103.74312 C 418.94412,95.870895 410.06428,90.077087 400.31805,87.439667 C 392.88608,85.528275 385.4314,88.989563 379.76721,93.621582 C 385.10879,86.280777 393.47952,82.237091 401.58554,78.718781 z " + id="path56" /> + <path + style="fill:none;stroke:#020202;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 234.56059,78.657669 C 236.75099,78.278244 239.39645,78.16571 240.9988,80.004791 C 245.26445,83.674377 245.22823,89.901657 244.19121,94.967728 C 243.01384,98.030685 240.69093,101.64787 237.00639,101.56956 C 233.92215,102.01678 231.57039,99.29509 230.17404,96.891083 C 227.06299,90.962952 228.18251,81.952026 234.56059,78.657669 z " + id="path58" /> + <path + style="fill:#020202;fill-rule:nonzero;stroke:none" + d="M 234.56059,78.657669 C 236.75099,78.278244 239.39645,78.16571 240.9988,80.004791 C 245.26445,83.674377 245.22823,89.901657 244.19121,94.967728 C 243.01384,98.030685 240.69093,101.64787 237.00639,101.56956 C 233.92215,102.01678 231.57039,99.29509 230.17404,96.891083 C 227.06299,90.962952 228.18251,81.952026 234.56059,78.657669 z " + id="path60" /> + <path + style="fill:none;stroke:#212121;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 256.33945,77.971527 C 257.05539,78.356094 257.77495,78.740967 258.49809,79.126144 C 257.98273,82.52298 258.06407,85.982269 258.46641,89.387283 C 257.8306,88.466034 257.16484,87.570847 256.5,86.677811 C 256.81065,83.7836 256.77869,80.84967 256.33945,77.971527 z " + id="path62" /> + <path + style="fill:#212121;fill-rule:nonzero;stroke:none" + d="M 256.33945,77.971527 C 257.05539,78.356094 257.77495,78.740967 258.49809,79.126144 C 257.98273,82.52298 258.06407,85.982269 258.46641,89.387283 C 257.8306,88.466034 257.16484,87.570847 256.5,86.677811 C 256.81065,83.7836 256.77869,80.84967 256.33945,77.971527 z " + id="path64" /> + <path + style="fill:none;stroke:#020202;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 276.38489,80.39679 C 278.66821,79.987396 281.45023,79.994629 283.03528,81.983185 C 288.23206,87.467285 287.90016,98.021652 281.45491,102.4131 C 277.2451,105.26887 272.56918,100.98637 271.11652,97.088806 C 269.28355,91.334473 270.11504,83.018234 276.38489,80.39679 z " + id="path66" /> + <path + style="fill:#020202;fill-rule:nonzero;stroke:none" + d="M 276.38489,80.39679 C 278.66821,79.987396 281.45023,79.994629 283.03528,81.983185 C 288.23206,87.467285 287.90016,98.021652 281.45491,102.4131 C 277.2451,105.26887 272.56918,100.98637 271.11652,97.088806 C 269.28355,91.334473 270.11504,83.018234 276.38489,80.39679 z " + id="path68" /> + <path + style="fill:none;stroke:#fafafa;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 235.42427,82.263382 C 238.23657,81.875 240.92001,83.969849 240.34801,86.979935 C 240.66202,89.991028 236.26463,92.242752 234.61708,89.368698 C 232.86856,87.106445 234.12927,84.370331 235.42427,82.263382 z " + id="path70" /> + <path + style="fill:#fafafa;fill-rule:nonzero;stroke:none" + d="M 235.42427,82.263382 C 238.23657,81.875 240.92001,83.969849 240.34801,86.979935 C 240.66202,89.991028 236.26463,92.242752 234.61708,89.368698 C 232.86856,87.106445 234.12927,84.370331 235.42427,82.263382 z " + id="path72" /> + <path + style="fill:none;stroke:#f8f8f8;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 277.49486,83.551163 C 282.96353,81.355682 283.62125,92.628815 278.23633,91.567383 C 274.73283,90.871902 274.51299,85.153091 277.49486,83.551163 z " + id="path74" /> + <path + style="fill:#f8f8f8;fill-rule:nonzero;stroke:none" + d="M 277.49486,83.551163 C 282.96353,81.355682 283.62125,92.628815 278.23633,91.567383 C 274.73283,90.871902 274.51299,85.153091 277.49486,83.551163 z " + id="path76" /> + <path + style="fill:none;stroke:#a67a26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 256.5,86.677811 C 257.16484,87.570847 257.8306,88.466034 258.46641,89.387283 C 259.25499,92.023895 259.98294,94.685013 260.98167,97.255127 C 259.6136,98.172531 258.24449,99.084488 256.8712,99.989182 C 256.28299,97.562683 255.6463,95.148483 255.1421,92.704514 C 255.58485,90.693069 256.06924,88.691284 256.5,86.677811 z " + id="path78" /> + <path + style="fill:#a67a26;fill-rule:nonzero;stroke:none" + d="M 256.5,86.677811 C 257.16484,87.570847 257.8306,88.466034 258.46641,89.387283 C 259.25499,92.023895 259.98294,94.685013 260.98167,97.255127 C 259.6136,98.172531 258.24449,99.084488 256.8712,99.989182 C 256.28299,97.562683 255.6463,95.148483 255.1421,92.704514 C 255.58485,90.693069 256.06924,88.691284 256.5,86.677811 z " + id="path80" /> + <path + style="fill:none;stroke:#78571e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 377.26448,101.17824 C 380.9315,94.803101 387.25533,89.174103 394.96022,89.028702 C 401.27881,88.475967 406.98285,91.659683 412.07872,94.992172 C 408.4212,93.984848 403.64947,91.053589 400.33926,94.264725 C 396.17984,98.093033 392.25473,102.22298 388.75221,106.66197 C 385.80684,110.70521 384.03671,116.29289 385.87259,121.13377 C 390.15048,124.91303 396.19493,125.78059 400.62784,129.33896 C 401.67156,130.49098 402.13432,132.02174 402.83734,133.38698 C 397.11813,130.66933 391.68233,126.49231 385.03416,126.62323 C 379.96461,126.07953 375.23283,128.13879 370.79861,130.30598 C 365.41589,131.92859 361.70879,136.24333 357.61952,139.8051 C 358.91055,135.994 360.97638,132.52882 363.3876,129.3273 C 369.64204,120.79575 371.88377,110.18678 377.26448,101.17824 z " + id="path82" /> + <path + style="fill:#78571e;fill-rule:nonzero;stroke:none" + d="M 377.26448,101.17824 C 380.9315,94.803101 387.25533,89.174103 394.96022,89.028702 C 401.27881,88.475967 406.98285,91.659683 412.07872,94.992172 C 408.4212,93.984848 403.64947,91.053589 400.33926,94.264725 C 396.17984,98.093033 392.25473,102.22298 388.75221,106.66197 C 385.80684,110.70521 384.03671,116.29289 385.87259,121.13377 C 390.15048,124.91303 396.19493,125.78059 400.62784,129.33896 C 401.67156,130.49098 402.13432,132.02174 402.83734,133.38698 C 397.11813,130.66933 391.68233,126.49231 385.03416,126.62323 C 379.96461,126.07953 375.23283,128.13879 370.79861,130.30598 C 365.41589,131.92859 361.70879,136.24333 357.61952,139.8051 C 358.91055,135.994 360.97638,132.52882 363.3876,129.3273 C 369.64204,120.79575 371.88377,110.18678 377.26448,101.17824 z " + id="path84" /> + <path + style="fill:none;stroke:#7f611c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 400.33926,94.264725 C 403.64947,91.053589 408.4212,93.984848 412.07872,94.992172 C 424.02306,101.8159 430.76082,114.28391 439.90538,124.06694 C 447.40807,132.11136 458.78912,135.16322 469.49237,135.20947 C 471.19214,135.30763 472.89003,135.47331 474.59377,135.63277 C 474.39207,142.22966 470.70404,148.46851 465.41422,152.28889 C 458.66203,156.02594 450.45906,155.95052 443.11581,154.23766 C 438.54791,153.11467 433.93973,152.16589 429.2655,151.63693 C 424.78981,149.87834 421.3015,146.24483 417.12466,143.88658 C 412.53798,140.17293 406.51244,138.11212 402.83734,133.38698 C 402.13432,132.02174 401.67156,130.49098 400.62784,129.33896 C 396.19493,125.78059 390.15048,124.91303 385.87259,121.13377 C 384.03671,116.29289 385.80684,110.70521 388.75221,106.66197 C 392.25473,102.22298 396.17984,98.093033 400.33926,94.264725 z " + id="path86" /> + <path + style="fill:#7f611c;fill-rule:nonzero;stroke:none" + d="M 400.33926,94.264725 C 403.64947,91.053589 408.4212,93.984848 412.07872,94.992172 C 424.02306,101.8159 430.76082,114.28391 439.90538,124.06694 C 447.40807,132.11136 458.78912,135.16322 469.49237,135.20947 C 471.19214,135.30763 472.89003,135.47331 474.59377,135.63277 C 474.39207,142.22966 470.70404,148.46851 465.41422,152.28889 C 458.66203,156.02594 450.45906,155.95052 443.11581,154.23766 C 438.54791,153.11467 433.93973,152.16589 429.2655,151.63693 C 424.78981,149.87834 421.3015,146.24483 417.12466,143.88658 C 412.53798,140.17293 406.51244,138.11212 402.83734,133.38698 C 402.13432,132.02174 401.67156,130.49098 400.62784,129.33896 C 396.19493,125.78059 390.15048,124.91303 385.87259,121.13377 C 384.03671,116.29289 385.80684,110.70521 388.75221,106.66197 C 392.25473,102.22298 396.17984,98.093033 400.33926,94.264725 z " + id="path88" /> + <path + style="fill:none;stroke:#5c4728;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 255.1421,92.704514 C 255.6463,95.148483 256.28299,97.562683 256.8712,99.989182 C 258.24449,99.084488 259.6136,98.172531 260.98167,97.255127 C 263.03525,101.79643 266.17145,105.96516 270.47969,108.57989 C 274.98383,111.66444 280.64136,111.89085 285.88692,111.24371 C 282.37839,113.46091 277.82886,111.70804 273.91272,111.78587 C 276.64414,115.3286 278.9659,119.55669 277.69406,124.17464 C 277.09949,121.29579 276.96286,118.19118 275.40102,115.62132 C 273.08873,112.1647 269.24644,110.16934 265.48175,108.68285 C 263.66785,108.05594 261.83389,107.49527 259.9814,107.01419 C 262.12071,107.13431 264.26543,107.15315 266.4135,107.16129 C 264.41786,104.87314 262.46251,101.71603 259.01971,101.78778 C 255.17006,101.22514 251.70872,103.235 248.62187,105.24951 C 252.1037,105.87923 255.59624,106.47351 259.10948,106.92528 C 254.92462,106.75246 250.73119,107.05289 246.601,107.71884 C 243.05664,108.30139 239.65491,109.56248 236.44209,111.14159 C 234.61942,110.30272 232.79529,109.47441 231.0002,108.58856 C 241.75467,110.31711 251.46661,102.32828 255.1421,92.704514 z " + id="path90" /> + <path + style="fill:#5c4728;fill-rule:nonzero;stroke:none" + d="M 255.1421,92.704514 C 255.6463,95.148483 256.28299,97.562683 256.8712,99.989182 C 258.24449,99.084488 259.6136,98.172531 260.98167,97.255127 C 263.03525,101.79643 266.17145,105.96516 270.47969,108.57989 C 274.98383,111.66444 280.64136,111.89085 285.88692,111.24371 C 282.37839,113.46091 277.82886,111.70804 273.91272,111.78587 C 276.64414,115.3286 278.9659,119.55669 277.69406,124.17464 C 277.09949,121.29579 276.96286,118.19118 275.40102,115.62132 C 273.08873,112.1647 269.24644,110.16934 265.48175,108.68285 C 263.66785,108.05594 261.83389,107.49527 259.9814,107.01419 C 262.12071,107.13431 264.26543,107.15315 266.4135,107.16129 C 264.41786,104.87314 262.46251,101.71603 259.01971,101.78778 C 255.17006,101.22514 251.70872,103.235 248.62187,105.24951 C 252.1037,105.87923 255.59624,106.47351 259.10948,106.92528 C 254.92462,106.75246 250.73119,107.05289 246.601,107.71884 C 243.05664,108.30139 239.65491,109.56248 236.44209,111.14159 C 234.61942,110.30272 232.79529,109.47441 231.0002,108.58856 C 241.75467,110.31711 251.46661,102.32828 255.1421,92.704514 z " + id="path92" /> + <path + style="fill:none;stroke:#281c11;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 202.11885,99.619858 C 203.8188,97.989517 205.51744,96.357452 207.18411,94.691589 C 207.03543,97.248032 206.0417,100.08792 207.18373,102.50371 C 211.48938,105.5829 217.41362,106.78636 220.16464,111.74063 C 225.07581,119.38243 224.20386,128.72813 225.47113,137.31467 C 226.401,144.72458 233.31328,149.58768 240.06375,151.33542 C 244.75124,152.53862 249.1768,149.9025 253.78462,149.64766 C 258.60258,150.53938 262.87071,153.89246 267.96382,153.4819 C 274.99646,153.09067 280.32263,147.52936 284.15576,142.12958 C 289.76411,131.91823 291.39075,119.37918 299.83293,110.81256 C 303.1517,107.06992 308.54045,107.50911 312.8427,105.76923 C 315.67964,102.58907 313.62886,98.31575 312.44939,94.89827 C 315.14296,96.950287 317.82318,99.026749 320.34706,101.29144 C 318.91547,101.00375 317.49005,100.71254 316.06586,100.42534 C 315.43671,102.69112 314.79605,104.9536 314.16334,107.21861 C 310.3835,107.89043 306.39174,108.05228 302.91031,109.80861 C 299.50018,111.82301 297.46864,115.40994 295.65366,118.80046 C 293.00471,124.15471 290.62677,129.64923 288.56596,135.25679 C 288.16647,136.35893 287.78514,137.46793 287.36935,138.56497 C 284.47337,145.85474 278.14246,151.06567 271.53998,154.92285 C 271.62941,161.37022 270.73012,167.75983 270.39012,174.18576 C 277.12991,174.21591 283.89616,174.60773 290.62166,174.00082 C 292.51901,173.21863 294.34717,172.27797 296.19933,171.39009 C 300.81245,168.97688 306.15041,169.60509 311.11278,168.5999 C 314.01727,168.28545 317.03378,167.11057 319.93216,167.98262 C 321.74458,169.59067 322.45169,172.04095 323.56895,174.12517 C 323.13641,174.14059 322.27132,174.17145 321.83878,174.18687 C 320.98651,172.58757 320.26938,170.91168 319.22903,169.42813 C 317.35434,168.14067 315.00018,169.1338 313.25883,170.1471 C 310.73737,171.57764 310.84402,174.86978 310.06828,177.31186 C 313.64796,178.63071 317.18819,177.60886 320.04935,175.27351 C 323.10684,175.62375 326.176,175.91869 329.26036,175.95372 C 325.04111,176.20818 320.94432,177.29231 317.05449,178.90927 C 314.13205,180.1535 310.94957,179.21024 307.93027,179.00743 C 304.04074,178.50545 300.01634,179.07114 296.24454,177.78683 C 292.93224,176.72849 289.4613,176.33267 285.99612,176.41499 C 279.7411,176.56355 273.21504,175.57332 267.2833,178.10974 C 259.91995,180.66527 251.743,180.12567 244.35239,177.95764 C 236.44566,175.56409 228.06987,176.7291 219.9418,176.41139 C 214.80949,176.06787 210.31857,180.50569 205.17119,178.43745 C 205.55478,181.10068 205.85069,183.77635 206.09065,186.45908 C 203.54057,186.9042 200.99083,187.34499 198.45804,187.8662 C 200.63879,188.33109 202.84293,188.69394 205.06915,188.88632 C 206.91304,191.06958 208.44992,193.48524 209.80278,196.00146 C 208.54704,198.95497 208.01356,203.26221 204.32588,204.15607 C 199.38263,205.42169 194.2131,204.70796 189.18535,204.50189 C 189.1918,201.35994 189.36832,198.22212 189.71919,195.10217 C 191.94307,195.50481 194.19128,195.76648 196.44229,195.99629 C 193.59558,192.95845 190.06053,189.66238 190.8466,185.04486 C 191.63037,183.42067 192.55098,181.87022 193.46423,180.3183 C 191.42943,179.36548 189.36218,178.40741 187.65309,176.92354 C 187.62651,176.6253 187.57338,176.02884 187.54681,175.73062 C 189.18652,176.74788 190.83447,177.75337 192.48979,178.75592 C 195.13603,175.59473 196.0249,169.96106 192.01945,167.47444 C 189.00829,167.62376 188.11708,170.67116 187.52576,173.10525 C 187.01288,172.50299 186.50127,171.90381 185.99092,171.30772 C 187.3934,169.56259 188.35094,166.47409 191.08102,166.67958 C 196.71053,166.83929 202.24773,168.58452 207.91397,167.97565 C 210.31287,167.94771 212.82796,167.27309 215.16884,168.01666 C 217.93408,169.9202 219.76654,173.31071 223.33432,173.87715 C 223.76309,173.9708 224.62065,174.15808 225.04942,174.25172 C 230.0256,174.39926 235.00635,174.30563 239.98473,174.20685 C 237.54704,167.15094 237.37671,159.67288 237.29173,152.29266 C 232.69252,149.88037 228.92485,146.32121 225.37163,142.60278 C 224.17305,141.13699 222.21719,141.25169 220.51556,141.17134 L 219.70091,141.48024 C 221.06432,140.86209 222.44781,140.28683 223.83186,139.70834 C 223.73058,130.61586 223.66426,121.02243 219.27217,112.79713 C 217.3865,109.20578 213.5822,107.43424 210.20372,105.56033 C 207.23621,103.97365 204.69282,101.75415 202.11885,99.619858 z " + id="path94" /> + <path + style="fill:#281c11;fill-rule:nonzero;stroke:none" + d="M 202.11885,99.619858 C 203.8188,97.989517 205.51744,96.357452 207.18411,94.691589 C 207.03543,97.248032 206.0417,100.08792 207.18373,102.50371 C 211.48938,105.5829 217.41362,106.78636 220.16464,111.74063 C 225.07581,119.38243 224.20386,128.72813 225.47113,137.31467 C 226.401,144.72458 233.31328,149.58768 240.06375,151.33542 C 244.75124,152.53862 249.1768,149.9025 253.78462,149.64766 C 258.60258,150.53938 262.87071,153.89246 267.96382,153.4819 C 274.99646,153.09067 280.32263,147.52936 284.15576,142.12958 C 289.76411,131.91823 291.39075,119.37918 299.83293,110.81256 C 303.1517,107.06992 308.54045,107.50911 312.8427,105.76923 C 315.67964,102.58907 313.62886,98.31575 312.44939,94.89827 C 315.14296,96.950287 317.82318,99.026749 320.34706,101.29144 C 318.91547,101.00375 317.49005,100.71254 316.06586,100.42534 C 315.43671,102.69112 314.79605,104.9536 314.16334,107.21861 C 310.3835,107.89043 306.39174,108.05228 302.91031,109.80861 C 299.50018,111.82301 297.46864,115.40994 295.65366,118.80046 C 293.00471,124.15471 290.62677,129.64923 288.56596,135.25679 C 288.16647,136.35893 287.78514,137.46793 287.36935,138.56497 C 284.47337,145.85474 278.14246,151.06567 271.53998,154.92285 C 271.62941,161.37022 270.73012,167.75983 270.39012,174.18576 C 277.12991,174.21591 283.89616,174.60773 290.62166,174.00082 C 292.51901,173.21863 294.34717,172.27797 296.19933,171.39009 C 300.81245,168.97688 306.15041,169.60509 311.11278,168.5999 C 314.01727,168.28545 317.03378,167.11057 319.93216,167.98262 C 321.74458,169.59067 322.45169,172.04095 323.56895,174.12517 C 323.13641,174.14059 322.27132,174.17145 321.83878,174.18687 C 320.98651,172.58757 320.26938,170.91168 319.22903,169.42813 C 317.35434,168.14067 315.00018,169.1338 313.25883,170.1471 C 310.73737,171.57764 310.84402,174.86978 310.06828,177.31186 C 313.64796,178.63071 317.18819,177.60886 320.04935,175.27351 C 323.10684,175.62375 326.176,175.91869 329.26036,175.95372 C 325.04111,176.20818 320.94432,177.29231 317.05449,178.90927 C 314.13205,180.1535 310.94957,179.21024 307.93027,179.00743 C 304.04074,178.50545 300.01634,179.07114 296.24454,177.78683 C 292.93224,176.72849 289.4613,176.33267 285.99612,176.41499 C 279.7411,176.56355 273.21504,175.57332 267.2833,178.10974 C 259.91995,180.66527 251.743,180.12567 244.35239,177.95764 C 236.44566,175.56409 228.06987,176.7291 219.9418,176.41139 C 214.80949,176.06787 210.31857,180.50569 205.17119,178.43745 C 205.55478,181.10068 205.85069,183.77635 206.09065,186.45908 C 203.54057,186.9042 200.99083,187.34499 198.45804,187.8662 C 200.63879,188.33109 202.84293,188.69394 205.06915,188.88632 C 206.91304,191.06958 208.44992,193.48524 209.80278,196.00146 C 208.54704,198.95497 208.01356,203.26221 204.32588,204.15607 C 199.38263,205.42169 194.2131,204.70796 189.18535,204.50189 C 189.1918,201.35994 189.36832,198.22212 189.71919,195.10217 C 191.94307,195.50481 194.19128,195.76648 196.44229,195.99629 C 193.59558,192.95845 190.06053,189.66238 190.8466,185.04486 C 191.63037,183.42067 192.55098,181.87022 193.46423,180.3183 C 191.42943,179.36548 189.36218,178.40741 187.65309,176.92354 C 187.62651,176.6253 187.57338,176.02884 187.54681,175.73062 C 189.18652,176.74788 190.83447,177.75337 192.48979,178.75592 C 195.13603,175.59473 196.0249,169.96106 192.01945,167.47444 C 189.00829,167.62376 188.11708,170.67116 187.52576,173.10525 C 187.01288,172.50299 186.50127,171.90381 185.99092,171.30772 C 187.3934,169.56259 188.35094,166.47409 191.08102,166.67958 C 196.71053,166.83929 202.24773,168.58452 207.91397,167.97565 C 210.31287,167.94771 212.82796,167.27309 215.16884,168.01666 C 217.93408,169.9202 219.76654,173.31071 223.33432,173.87715 C 223.76309,173.9708 224.62065,174.15808 225.04942,174.25172 C 230.0256,174.39926 235.00635,174.30563 239.98473,174.20685 C 237.54704,167.15094 237.37671,159.67288 237.29173,152.29266 C 232.69252,149.88037 228.92485,146.32121 225.37163,142.60278 C 224.17305,141.13699 222.21719,141.25169 220.51556,141.17134 L 219.70091,141.48024 C 221.06432,140.86209 222.44781,140.28683 223.83186,139.70834 C 223.73058,130.61586 223.66426,121.02243 219.27217,112.79713 C 217.3865,109.20578 213.5822,107.43424 210.20372,105.56033 C 207.23621,103.97365 204.69282,101.75415 202.11885,99.619858 z " + id="path96" /> + <path + style="fill:none;stroke:#a87d21;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 248.62187,105.24951 C 251.70872,103.235 255.17006,101.22514 259.01971,101.78778 C 262.46251,101.71603 264.41786,104.87314 266.4135,107.16129 C 264.26543,107.15315 262.12071,107.13431 259.9814,107.01419 L 259.10948,106.92528 C 255.59624,106.47351 252.1037,105.87923 248.62187,105.24951 z " + id="path98" /> + <path + style="fill:#a87d21;fill-rule:nonzero;stroke:none" + d="M 248.62187,105.24951 C 251.70872,103.235 255.17006,101.22514 259.01971,101.78778 C 262.46251,101.71603 264.41786,104.87314 266.4135,107.16129 C 264.26543,107.15315 262.12071,107.13431 259.9814,107.01419 L 259.10948,106.92528 C 255.59624,106.47351 252.1037,105.87923 248.62187,105.24951 z " + id="path100" /> + <path + style="fill:none;stroke:#d40000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 246.601,107.71884 C 250.73119,107.05289 254.92462,106.75246 259.10948,106.92528 L 259.9814,107.01419 C 261.83389,107.49527 263.66785,108.05594 265.48175,108.68285 C 267.95911,112.92439 270.31821,117.64777 269.62816,122.72089 C 269.41803,126.84746 266.97672,130.39078 264.07837,133.1557 C 257.57039,135.07825 250.4068,135.14656 243.90074,133.19192 C 241.88353,130.78976 239.9389,128.22621 238.87825,125.24364 C 237.58862,121.54555 238.69606,117.45303 240.58888,114.1721 C 239.48955,118.40356 244.34268,120.73471 247.90814,120.64217 C 251.97597,120.85251 257.23929,120.96866 259.54517,116.89432 C 260.37518,113.84656 257.41066,112.09016 255.18916,110.80083 C 252.51109,109.32143 249.58794,108.33702 246.601,107.71884 z " + id="path102" /> + <path + style="fill:#d40000;fill-rule:nonzero;stroke:none" + d="M 246.601,107.71884 C 250.73119,107.05289 254.92462,106.75246 259.10948,106.92528 L 259.9814,107.01419 C 261.83389,107.49527 263.66785,108.05594 265.48175,108.68285 C 267.95911,112.92439 270.31821,117.64777 269.62816,122.72089 C 269.41803,126.84746 266.97672,130.39078 264.07837,133.1557 C 257.57039,135.07825 250.4068,135.14656 243.90074,133.19192 C 241.88353,130.78976 239.9389,128.22621 238.87825,125.24364 C 237.58862,121.54555 238.69606,117.45303 240.58888,114.1721 C 239.48955,118.40356 244.34268,120.73471 247.90814,120.64217 C 251.97597,120.85251 257.23929,120.96866 259.54517,116.89432 C 260.37518,113.84656 257.41066,112.09016 255.18916,110.80083 C 252.51109,109.32143 249.58794,108.33702 246.601,107.71884 z " + id="path104" /> + <path + style="fill:none;stroke:#b80000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 236.44209,111.14159 C 239.65491,109.56248 243.05664,108.30139 246.601,107.71884 C 249.58794,108.33702 252.51109,109.32143 255.18916,110.80083 C 250.2462,110.3902 243.9922,109.7209 240.58888,114.1721 C 238.69606,117.45303 237.58862,121.54555 238.87825,125.24364 C 239.9389,128.22621 241.88353,130.78976 243.90074,133.19192 C 238.74023,131.85884 232.29578,129.8864 230.82373,124.02512 C 229.08812,118.99675 232.02519,113.61737 236.44209,111.14159 z " + id="path106" /> + <path + style="fill:#b80000;fill-rule:nonzero;stroke:none" + d="M 236.44209,111.14159 C 239.65491,109.56248 243.05664,108.30139 246.601,107.71884 C 249.58794,108.33702 252.51109,109.32143 255.18916,110.80083 C 250.2462,110.3902 243.9922,109.7209 240.58888,114.1721 C 238.69606,117.45303 237.58862,121.54555 238.87825,125.24364 C 239.9389,128.22621 241.88353,130.78976 243.90074,133.19192 C 238.74023,131.85884 232.29578,129.8864 230.82373,124.02512 C 229.08812,118.99675 232.02519,113.61737 236.44209,111.14159 z " + id="path108" /> + <path + style="fill:none;stroke:#b80000;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 265.48175,108.68285 C 269.24644,110.16934 273.08873,112.1647 275.40102,115.62132 C 276.96286,118.19118 277.09949,121.29579 277.69406,124.17464 C 274.1124,128.42886 269.6859,132.07935 264.07837,133.1557 C 266.97672,130.39078 269.41803,126.84746 269.62816,122.72089 C 270.31821,117.64777 267.95911,112.92439 265.48175,108.68285 z " + id="path110" /> + <path + style="fill:#b80000;fill-rule:nonzero;stroke:none" + d="M 265.48175,108.68285 C 269.24644,110.16934 273.08873,112.1647 275.40102,115.62132 C 276.96286,118.19118 277.09949,121.29579 277.69406,124.17464 C 274.1124,128.42886 269.6859,132.07935 264.07837,133.1557 C 266.97672,130.39078 269.41803,126.84746 269.62816,122.72089 C 270.31821,117.64777 267.95911,112.92439 265.48175,108.68285 z " + id="path112" /> + <path + style="fill:none;stroke:#fdfdfd;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 240.58888,114.1721 C 243.9922,109.7209 250.2462,110.3902 255.18916,110.80083 C 257.41066,112.09016 260.37518,113.84656 259.54517,116.89432 C 257.23929,120.96866 251.97597,120.85251 247.90814,120.64217 C 244.34268,120.73471 239.48955,118.40356 240.58888,114.1721 z " + id="path114" /> + <path + style="fill:#fdfdfd;fill-rule:nonzero;stroke:none" + d="M 240.58888,114.1721 C 243.9922,109.7209 250.2462,110.3902 255.18916,110.80083 C 257.41066,112.09016 260.37518,113.84656 259.54517,116.89432 C 257.23929,120.96866 251.97597,120.85251 247.90814,120.64217 C 244.34268,120.73471 239.48955,118.40356 240.58888,114.1721 z " + id="path116" /> + <path + style="fill:none;stroke:#9e6b2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 326.23419,114.00647 C 330.86313,116.21567 335.94331,117.02928 340.85803,118.34203 C 345.97415,119.70164 350.15334,123.1194 353.91151,126.70082 C 353.09309,128.02878 352.28171,129.35916 351.47557,130.69287 C 357.99934,137.07208 356.12521,147.09485 354.1992,155.01573 C 353.4053,155.56848 352.61787,156.12604 351.8369,156.68837 C 350.98955,158.94142 350.36859,161.48689 348.41386,163.07822 C 344.64133,166.32013 339.92284,168.42732 336.82463,172.4449 C 332.45151,173.31934 328.03616,174.0481 323.56895,174.12517 C 322.45169,172.04095 321.74458,169.59067 319.93216,167.98262 C 317.03378,167.11057 314.01727,168.28545 311.11278,168.5999 C 306.15041,169.60509 300.81245,168.97688 296.19933,171.39009 C 295.83493,169.73172 295.47974,168.07555 295.1283,166.41963 C 296.48119,165.14944 297.83333,163.87779 299.1931,162.61206 C 299.63789,164.18732 300.17123,165.73642 300.70192,167.29138 C 303.96983,165.49916 306.88962,163.1382 309.37152,160.35912 C 313.64716,155.65823 319.05411,151.94922 322.38971,146.43448 C 327.31921,138.44289 330.35503,129.49457 333.88094,120.84058 C 331.36246,119.09296 328.79309,117.41975 326.32925,115.60046 C 326.30548,115.20197 326.25797,114.40497 326.23419,114.00647 z " + id="path118" /> + <path + style="fill:#9e6b2b;fill-rule:nonzero;stroke:none" + d="M 326.23419,114.00647 C 330.86313,116.21567 335.94331,117.02928 340.85803,118.34203 C 345.97415,119.70164 350.15334,123.1194 353.91151,126.70082 C 353.09309,128.02878 352.28171,129.35916 351.47557,130.69287 C 357.99934,137.07208 356.12521,147.09485 354.1992,155.01573 C 353.4053,155.56848 352.61787,156.12604 351.8369,156.68837 C 350.98955,158.94142 350.36859,161.48689 348.41386,163.07822 C 344.64133,166.32013 339.92284,168.42732 336.82463,172.4449 C 332.45151,173.31934 328.03616,174.0481 323.56895,174.12517 C 322.45169,172.04095 321.74458,169.59067 319.93216,167.98262 C 317.03378,167.11057 314.01727,168.28545 311.11278,168.5999 C 306.15041,169.60509 300.81245,168.97688 296.19933,171.39009 C 295.83493,169.73172 295.47974,168.07555 295.1283,166.41963 C 296.48119,165.14944 297.83333,163.87779 299.1931,162.61206 C 299.63789,164.18732 300.17123,165.73642 300.70192,167.29138 C 303.96983,165.49916 306.88962,163.1382 309.37152,160.35912 C 313.64716,155.65823 319.05411,151.94922 322.38971,146.43448 C 327.31921,138.44289 330.35503,129.49457 333.88094,120.84058 C 331.36246,119.09296 328.79309,117.41975 326.32925,115.60046 C 326.30548,115.20197 326.25797,114.40497 326.23419,114.00647 z " + id="path120" /> + <path + style="fill:none;stroke:#9e6b2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 189.95116,114.96069 C 191.10251,115.42023 192.25481,115.87942 193.41139,116.33934 C 193.53401,116.95665 193.77928,118.19127 193.90192,118.80858 C 191.5006,121.02473 188.51439,123.00629 187.3269,126.18222 C 189.8094,138.10561 198.02603,147.51218 204.80968,157.23604 C 207.10394,160.65741 211.07871,162.68022 215.21464,162.07892 C 216.32397,162.01231 217.43538,161.9145 218.54826,161.82176 C 220.04651,165.87608 221.47775,169.96614 223.33432,173.87715 C 219.76654,173.31071 217.93408,169.9202 215.16884,168.01666 C 212.82796,167.27309 210.31287,167.94771 207.91397,167.97565 C 202.24773,168.58452 196.71053,166.83929 191.08102,166.67958 C 188.35094,166.47409 187.3934,169.56259 185.99092,171.30772 C 184.52824,171.51131 183.06296,171.69357 181.5945,171.81398 C 179.1906,168.81433 175.67241,167.25797 171.94537,166.7038 C 170.51474,164.21736 168.77495,161.86395 166.22852,160.43097 C 165.98302,157.92525 165.82361,155.4135 165.69293,152.90205 C 164.62608,152.5628 163.56236,152.22368 162.50044,151.88701 C 163.43405,146.3105 161.01933,140.29378 164.21234,135.18059 C 163.76807,133.92864 163.07848,132.71964 162.98469,131.37723 C 164.63257,128.63525 167.59552,127.04889 169.8475,124.85429 C 172.05943,123.02013 173.71584,120.49179 176.24934,119.07324 C 180.42236,117.90984 184.82559,118.117 189.11465,117.77219 C 189.3911,116.83356 189.66994,115.89639 189.95116,114.96069 z " + id="path122" /> + <path + style="fill:#9e6b2b;fill-rule:nonzero;stroke:none" + d="M 189.95116,114.96069 C 191.10251,115.42023 192.25481,115.87942 193.41139,116.33934 C 193.53401,116.95665 193.77928,118.19127 193.90192,118.80858 C 191.5006,121.02473 188.51439,123.00629 187.3269,126.18222 C 189.8094,138.10561 198.02603,147.51218 204.80968,157.23604 C 207.10394,160.65741 211.07871,162.68022 215.21464,162.07892 C 216.32397,162.01231 217.43538,161.9145 218.54826,161.82176 C 220.04651,165.87608 221.47775,169.96614 223.33432,173.87715 C 219.76654,173.31071 217.93408,169.9202 215.16884,168.01666 C 212.82796,167.27309 210.31287,167.94771 207.91397,167.97565 C 202.24773,168.58452 196.71053,166.83929 191.08102,166.67958 C 188.35094,166.47409 187.3934,169.56259 185.99092,171.30772 C 184.52824,171.51131 183.06296,171.69357 181.5945,171.81398 C 179.1906,168.81433 175.67241,167.25797 171.94537,166.7038 C 170.51474,164.21736 168.77495,161.86395 166.22852,160.43097 C 165.98302,157.92525 165.82361,155.4135 165.69293,152.90205 C 164.62608,152.5628 163.56236,152.22368 162.50044,151.88701 C 163.43405,146.3105 161.01933,140.29378 164.21234,135.18059 C 163.76807,133.92864 163.07848,132.71964 162.98469,131.37723 C 164.63257,128.63525 167.59552,127.04889 169.8475,124.85429 C 172.05943,123.02013 173.71584,120.49179 176.24934,119.07324 C 180.42236,117.90984 184.82559,118.117 189.11465,117.77219 C 189.3911,116.83356 189.66994,115.89639 189.95116,114.96069 z " + id="path124" /> + <path + style="fill:none;stroke:#236e30;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 105.36372,138.57774 C 102.83188,132.6772 106.47224,126.7236 108.02733,121.09357 C 110.57053,123.87846 114.02077,126.36313 114.82359,130.2675 C 115.28149,132.51657 115.61311,134.79036 115.94235,137.06287 C 117.1362,136.33504 118.32996,135.60707 119.52292,134.87663 C 118.063,137.29858 116.70947,139.78697 115.60438,142.3936 C 118.49722,142.93637 121.38768,143.51472 124.30778,143.90913 C 121.62485,144.40456 118.89372,144.4679 116.17572,144.51996 C 116.07817,145.02934 115.88306,146.04811 115.78551,146.55749 C 115.02361,145.28481 114.30438,143.98912 113.57291,142.70279 C 113.5031,143.59744 113.43797,144.49414 113.37753,145.39288 C 110.20821,143.85655 106.58385,142.18433 105.36372,138.57774 z " + id="path126" /> + <path + style="fill:#236e30;fill-rule:nonzero;stroke:none" + d="M 105.36372,138.57774 C 102.83188,132.6772 106.47224,126.7236 108.02733,121.09357 C 110.57053,123.87846 114.02077,126.36313 114.82359,130.2675 C 115.28149,132.51657 115.61311,134.79036 115.94235,137.06287 C 117.1362,136.33504 118.32996,135.60707 119.52292,134.87663 C 118.063,137.29858 116.70947,139.78697 115.60438,142.3936 C 118.49722,142.93637 121.38768,143.51472 124.30778,143.90913 C 121.62485,144.40456 118.89372,144.4679 116.17572,144.51996 C 116.07817,145.02934 115.88306,146.04811 115.78551,146.55749 C 115.02361,145.28481 114.30438,143.98912 113.57291,142.70279 C 113.5031,143.59744 113.43797,144.49414 113.37753,145.39288 C 110.20821,143.85655 106.58385,142.18433 105.36372,138.57774 z " + id="path128" /> + <path + style="fill:none;stroke:#755121;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 469.49237,135.20947 C 478.87527,132.81442 487.58778,128.34508 497.07181,126.28586 C 496.10275,129.34499 495.27852,132.44766 494.62646,135.5899 C 493.69359,140.28334 489.46489,143.17102 486.04872,146.07069 C 477.57243,152.26007 467.86404,158.0367 457.02647,157.9937 C 450.00328,158.55927 443.08283,156.99675 436.28455,155.4561 C 433.62604,154.88187 431.36009,153.2859 429.2655,151.63693 C 433.93973,152.16589 438.54791,153.11467 443.11581,154.23766 C 450.45906,155.95052 458.66203,156.02594 465.41422,152.28889 C 470.70404,148.46851 474.39207,142.22966 474.59377,135.63277 C 472.89003,135.47331 471.19214,135.30763 469.49237,135.20947 z " + id="path130" /> + <path + style="fill:#755121;fill-rule:nonzero;stroke:none" + d="M 469.49237,135.20947 C 478.87527,132.81442 487.58778,128.34508 497.07181,126.28586 C 496.10275,129.34499 495.27852,132.44766 494.62646,135.5899 C 493.69359,140.28334 489.46489,143.17102 486.04872,146.07069 C 477.57243,152.26007 467.86404,158.0367 457.02647,157.9937 C 450.00328,158.55927 443.08283,156.99675 436.28455,155.4561 C 433.62604,154.88187 431.36009,153.2859 429.2655,151.63693 C 433.93973,152.16589 438.54791,153.11467 443.11581,154.23766 C 450.45906,155.95052 458.66203,156.02594 465.41422,152.28889 C 470.70404,148.46851 474.39207,142.22966 474.59377,135.63277 C 472.89003,135.47331 471.19214,135.30763 469.49237,135.20947 z " + id="path132" /> + <path + style="fill:none;stroke:#3d8230;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 114.82359,130.2675 C 115.47397,130.85173 116.1266,131.43672 116.78149,132.02248 C 120.57587,130.51332 124.745,128.72952 128.80093,130.4901 C 126.99364,131.71979 125.15466,132.90135 123.28978,134.0408 C 128.18745,133.52814 133.11403,133.5542 138.0325,133.53342 C 137.80547,134.76831 137.59009,136.00638 137.33296,137.23845 C 135.58083,142.44983 128.91658,142.87698 124.30778,143.90913 C 121.38768,143.51472 118.49722,142.93637 115.60438,142.3936 C 116.70947,139.78697 118.063,137.29858 119.52292,134.87663 C 118.32996,135.60707 117.1362,136.33504 115.94235,137.06287 C 115.61311,134.79036 115.28149,132.51657 114.82359,130.2675 z " + id="path134" /> + <path + style="fill:#3d8230;fill-rule:nonzero;stroke:none" + d="M 114.82359,130.2675 C 115.47397,130.85173 116.1266,131.43672 116.78149,132.02248 C 120.57587,130.51332 124.745,128.72952 128.80093,130.4901 C 126.99364,131.71979 125.15466,132.90135 123.28978,134.0408 C 128.18745,133.52814 133.11403,133.5542 138.0325,133.53342 C 137.80547,134.76831 137.59009,136.00638 137.33296,137.23845 C 135.58083,142.44983 128.91658,142.87698 124.30778,143.90913 C 121.38768,143.51472 118.49722,142.93637 115.60438,142.3936 C 116.70947,139.78697 118.063,137.29858 119.52292,134.87663 C 118.32996,135.60707 117.1362,136.33504 115.94235,137.06287 C 115.61311,134.79036 115.28149,132.51657 114.82359,130.2675 z " + id="path136" /> + <path + style="fill:none;stroke:#2e2e2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 128.80093,130.4901 C 132.56564,132.62141 136.75053,132.56143 140.7899,131.29481 C 139.74289,133.33481 138.62364,135.34036 137.33296,137.23845 C 137.59009,136.00638 137.80547,134.76831 138.0325,133.53342 C 133.11403,133.5542 128.18745,133.52814 123.28978,134.0408 C 125.15466,132.90135 126.99364,131.71979 128.80093,130.4901 z " + id="path138" /> + <path + style="fill:#2e2e2e;fill-rule:nonzero;stroke:none" + d="M 128.80093,130.4901 C 132.56564,132.62141 136.75053,132.56143 140.7899,131.29481 C 139.74289,133.33481 138.62364,135.34036 137.33296,137.23845 C 137.59009,136.00638 137.80547,134.76831 138.0325,133.53342 C 133.11403,133.5542 128.18745,133.52814 123.28978,134.0408 C 125.15466,132.90135 126.99364,131.71979 128.80093,130.4901 z " + id="path140" /> + <path + style="fill:none;stroke:#785e28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 287.36935,138.56497 C 287.78514,137.46793 288.16647,136.35893 288.56596,135.25679 C 292.78601,138.49191 298.02354,140.41286 301.64668,144.38673 C 304.16402,148.32579 303.94031,153.26419 304.78674,157.72011 C 302.91138,157.98759 301.03809,158.2532 299.16861,158.51872 C 299.15492,159.88107 299.14056,161.24591 299.1931,162.61206 C 297.83333,163.87779 296.48119,165.14944 295.1283,166.41963 C 295.47974,168.07555 295.83493,169.73172 296.19933,171.39009 C 294.34717,172.27797 292.51901,173.21863 290.62166,174.00082 C 292.64101,168.29642 295.86642,163.10316 297.65149,157.30753 C 299.33498,156.73898 301.02348,156.18398 302.71816,155.6342 C 301.96883,154.319 301.15317,153.03479 300.57752,151.63608 C 299.89642,149.21222 302.17712,146.21725 299.87434,144.26953 C 296.50847,140.97359 291.59947,140.23698 287.36935,138.56497 z " + id="path142" /> + <path + style="fill:#785e28;fill-rule:nonzero;stroke:none" + d="M 287.36935,138.56497 C 287.78514,137.46793 288.16647,136.35893 288.56596,135.25679 C 292.78601,138.49191 298.02354,140.41286 301.64668,144.38673 C 304.16402,148.32579 303.94031,153.26419 304.78674,157.72011 C 302.91138,157.98759 301.03809,158.2532 299.16861,158.51872 C 299.15492,159.88107 299.14056,161.24591 299.1931,162.61206 C 297.83333,163.87779 296.48119,165.14944 295.1283,166.41963 C 295.47974,168.07555 295.83493,169.73172 296.19933,171.39009 C 294.34717,172.27797 292.51901,173.21863 290.62166,174.00082 C 292.64101,168.29642 295.86642,163.10316 297.65149,157.30753 C 299.33498,156.73898 301.02348,156.18398 302.71816,155.6342 C 301.96883,154.319 301.15317,153.03479 300.57752,151.63608 C 299.89642,149.21222 302.17712,146.21725 299.87434,144.26953 C 296.50847,140.97359 291.59947,140.23698 287.36935,138.56497 z " + id="path144" /> + <path + style="fill:none;stroke:#c59117;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 271.53998,154.92285 C 278.14246,151.06567 284.47337,145.85474 287.36935,138.56497 C 291.59947,140.23698 296.50847,140.97359 299.87434,144.26953 C 302.17712,146.21725 299.89642,149.21222 300.57752,151.63608 C 301.15317,153.03479 301.96883,154.319 302.71816,155.6342 C 301.02348,156.18398 299.33498,156.73898 297.65149,157.30753 C 295.86642,163.10316 292.64101,168.29642 290.62166,174.00082 C 283.89616,174.60773 277.12991,174.21591 270.39012,174.18576 C 270.73012,167.75983 271.62941,161.37022 271.53998,154.92285 z " + id="path146" /> + <path + style="fill:#c59117;fill-rule:nonzero;stroke:none" + d="M 271.53998,154.92285 C 278.14246,151.06567 284.47337,145.85474 287.36935,138.56497 C 291.59947,140.23698 296.50847,140.97359 299.87434,144.26953 C 302.17712,146.21725 299.89642,149.21222 300.57752,151.63608 C 301.15317,153.03479 301.96883,154.319 302.71816,155.6342 C 301.02348,156.18398 299.33498,156.73898 297.65149,157.30753 C 295.86642,163.10316 292.64101,168.29642 290.62166,174.00082 C 283.89616,174.60773 277.12991,174.21591 270.39012,174.18576 C 270.73012,167.75983 271.62941,161.37022 271.53998,154.92285 z " + id="path148" /> + <path + style="fill:none;stroke:#c28f17;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 220.51556,141.17134 C 222.21719,141.25169 224.17305,141.13699 225.37163,142.60278 C 228.92485,146.32121 232.69252,149.88037 237.29173,152.29266 C 237.37671,159.67288 237.54704,167.15094 239.98473,174.20685 C 235.00635,174.30563 230.0256,174.39926 225.04942,174.25172 C 225.17709,171.62924 225.33083,169.01085 225.50673,166.39363 C 224.09584,166.3744 222.68726,166.35753 221.28133,166.34116 C 221.31136,164.26611 221.3492,162.19307 221.39581,160.12102 C 220.07222,159.77931 218.74893,159.44092 217.42876,159.10548 C 217.76622,157.1873 218.11491,155.27182 218.46625,153.35792 C 217.10532,153.01932 215.74678,152.6844 214.39154,152.35013 C 215.6407,148.24078 217.40573,144.23045 220.51556,141.17134 z " + id="path150" /> + <path + style="fill:#c28f17;fill-rule:nonzero;stroke:none" + d="M 220.51556,141.17134 C 222.21719,141.25169 224.17305,141.13699 225.37163,142.60278 C 228.92485,146.32121 232.69252,149.88037 237.29173,152.29266 C 237.37671,159.67288 237.54704,167.15094 239.98473,174.20685 C 235.00635,174.30563 230.0256,174.39926 225.04942,174.25172 C 225.17709,171.62924 225.33083,169.01085 225.50673,166.39363 C 224.09584,166.3744 222.68726,166.35753 221.28133,166.34116 C 221.31136,164.26611 221.3492,162.19307 221.39581,160.12102 C 220.07222,159.77931 218.74893,159.44092 217.42876,159.10548 C 217.76622,157.1873 218.11491,155.27182 218.46625,153.35792 C 217.10532,153.01932 215.74678,152.6844 214.39154,152.35013 C 215.6407,148.24078 217.40573,144.23045 220.51556,141.17134 z " + id="path152" /> + <path + style="fill:none;stroke:#7a5c26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 213.74252,146.35626 C 214.71291,143.80676 217.42,142.6087 219.70091,141.48024 L 220.51556,141.17134 C 217.40573,144.23045 215.6407,148.24078 214.39154,152.35013 C 215.74678,152.6844 217.10532,153.01932 218.46625,153.35792 C 218.11491,155.27182 217.76622,157.1873 217.42876,159.10548 C 218.74893,159.44092 220.07222,159.77931 221.39581,160.12102 C 221.3492,162.19307 221.31136,164.26611 221.28133,166.34116 C 222.68726,166.35753 224.09584,166.3744 225.50673,166.39363 C 225.33083,169.01085 225.17709,171.62924 225.04942,174.25172 C 224.62065,174.15808 223.76309,173.9708 223.33432,173.87715 C 221.47775,169.96614 220.04651,165.87608 218.54826,161.82176 C 217.43538,161.9145 216.32397,162.01231 215.21464,162.07892 C 215.35356,159.97205 215.50363,157.86809 215.65848,155.76477 C 214.46825,155.30304 213.28058,154.84357 212.09547,154.38634 C 212.53185,151.69122 212.80026,148.93523 213.74252,146.35626 z " + id="path154" /> + <path + style="fill:#7a5c26;fill-rule:nonzero;stroke:none" + d="M 213.74252,146.35626 C 214.71291,143.80676 217.42,142.6087 219.70091,141.48024 L 220.51556,141.17134 C 217.40573,144.23045 215.6407,148.24078 214.39154,152.35013 C 215.74678,152.6844 217.10532,153.01932 218.46625,153.35792 C 218.11491,155.27182 217.76622,157.1873 217.42876,159.10548 C 218.74893,159.44092 220.07222,159.77931 221.39581,160.12102 C 221.3492,162.19307 221.31136,164.26611 221.28133,166.34116 C 222.68726,166.35753 224.09584,166.3744 225.50673,166.39363 C 225.33083,169.01085 225.17709,171.62924 225.04942,174.25172 C 224.62065,174.15808 223.76309,173.9708 223.33432,173.87715 C 221.47775,169.96614 220.04651,165.87608 218.54826,161.82176 C 217.43538,161.9145 216.32397,162.01231 215.21464,162.07892 C 215.35356,159.97205 215.50363,157.86809 215.65848,155.76477 C 214.46825,155.30304 213.28058,154.84357 212.09547,154.38634 C 212.53185,151.69122 212.80026,148.93523 213.74252,146.35626 z " + id="path156" /> + <path + style="fill:none;stroke:#1c1719;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 113.57291,142.70279 C 114.30438,143.98912 115.02361,145.28481 115.78551,146.55749 C 120.87651,156.30113 130.63191,162.35043 140.353,166.7249 C 144.99002,168.36397 150.06645,167.7007 154.68349,169.38516 C 156.54137,170.05955 158.5123,169.60763 160.4248,169.52377 C 164.03975,169.86046 167.57652,170.72231 171.15608,171.3067 C 174.59601,171.92464 178.10832,172.07835 181.5945,171.81398 C 183.06296,171.69357 184.52824,171.51131 185.99092,171.30772 C 186.50127,171.90381 187.01288,172.50299 187.52576,173.10525 C 187.53102,173.7616 187.54155,175.07428 187.54681,175.73062 C 187.57338,176.02884 187.62651,176.6253 187.65309,176.92354 C 184.65176,173.60933 179.94879,174.48712 175.9704,173.96439 C 166.29604,172.94031 156.58743,172.18567 147.01276,170.40964 C 142.06876,169.96419 137.43355,168.16565 133.05031,165.93111 C 127.91576,162.96626 123.52158,158.9189 118.48816,155.80016 C 119.79463,159.8613 121.77748,163.64751 123.95352,167.30295 C 121.35017,167.1328 118.75085,166.92461 116.15115,166.73492 C 108.63367,165.95943 101.13296,164.84926 93.554321,164.9574 C 81.167221,163.27423 68.9655,160.43915 56.569656,158.77423 C 49.369217,156.9025 41.960892,156.43805 34.568085,156.00711 C 28.898666,154.70483 23.383163,152.69356 17.63147,151.785 C 16.537811,151.48503 15.737244,152.33768 15.296585,153.22967 C 16.070053,157.74176 18.943115,161.90068 18.449829,166.60706 C 16.387787,168.94415 13.445251,170.235 11.179977,172.34552 C 11.212524,173.4633 11.482071,174.55482 11.745087,175.64035 C 16.213898,181.19347 22.419678,185.19116 26.078308,191.44173 C 26.103226,193.69081 26.161499,195.94006 26.221756,198.19214 C 22.868805,200.17013 19.499146,202.22031 16.787079,205.05521 C 18.580048,206.16786 20.379669,207.27342 22.156631,208.41606 C 21.204727,210.50534 20.780075,213.25487 18.487167,214.33781 C 15.934265,215.77116 13.141281,216.92242 11.130676,219.1382 C 10.216644,222.21829 10.617203,225.44859 11.120346,228.56282 C 11.187561,228.9726 11.321991,229.79215 11.389206,230.20192 C 14.858902,230.58261 18.353699,231.05156 21.648727,232.26031 C 22.957428,232.97226 24.225784,233.75879 25.508423,234.52086 C 26.565338,235.15225 27.645706,235.74423 28.749527,236.29677 C 34.186844,239.17801 40.374847,239.96767 46.407867,240.60077 C 51.920044,241.13162 57.273163,242.58466 62.655045,243.81676 C 76.13974,247.6107 90.18158,248.27075 104.00415,250.05057 C 110.55102,250.5504 117.14475,250.61264 123.62299,251.81737 C 134.89371,254.04009 146.39664,254.58595 157.74649,256.27832 C 164.65733,256.89566 171.61188,256.56479 178.52684,257.13132 C 180.69078,257.49753 182.78874,258.17036 184.95474,258.55115 L 185.07797,258.57385 C 183.91151,258.9939 182.75549,259.43822 181.60991,259.90684 C 173.56665,258.30339 165.37511,258.80695 157.23245,258.46092 C 147.98563,257.33626 138.76852,255.87697 129.47449,255.21455 C 124.72499,254.0462 119.89037,253.43935 114.99582,253.54436 C 107.68234,252.52828 100.27251,252.54215 93.04718,250.85092 C 79.21843,250.3262 65.630417,247.18422 52.325851,243.51953 C 47.153,241.87038 41.556656,243.222 36.427155,241.35629 C 31.241379,240.20209 26.341064,238.02278 22.004349,234.95567 C 18.595612,232.28099 14.077347,232.9003 10.040787,232.62073 C 8.807037,229.34689 8.950348,225.73303 7.440811,222.54837 C 6.559921,220.8382 8.642868,219.7491 9.312668,218.40109 C 10.134216,216.58545 10.785004,214.66876 12.008636,213.07007 C 13.794464,211.8837 15.860107,211.19478 17.737503,210.16843 C 16.279236,208.07539 13.216278,205.29862 15.93161,202.86838 C 18.035828,200.91742 20.458496,199.30655 22.344284,197.12793 C 23.956116,195.49681 22.771896,193.12344 22.291702,191.27286 C 21.884521,190.22005 21.4617,189.17598 21.023224,188.14064 C 20.362747,188.31847 19.041779,188.6741 18.381302,188.85193 C 18.084274,191.22378 17.787949,193.59654 17.504074,195.97322 C 17.010757,195.15169 16.51796,194.33244 16.02565,193.51546 C 14.298355,190.75177 12.912567,187.79991 11.346664,184.94798 C 12.077438,183.69969 12.818604,182.46194 13.589401,181.242 C 10.591995,179.41811 9.147141,176.13431 7.848785,173.03075 C 8.741776,170.59029 11.04834,169.15926 12.901413,167.50447 C 12.623001,165.8893 11.592346,164.09473 12.529938,162.51556 C 13.476471,161.2813 14.677505,160.28217 15.817581,159.23868 C 14.758865,158.51692 13.703278,157.79219 12.655991,157.05868 C 12.389297,154.02049 13.462036,151.23308 15.737839,149.2056 C 21.237411,149.72342 26.362747,152.15016 31.892212,152.48079 C 34.995026,152.6993 37.747818,154.66426 40.926117,154.39113 C 46.823746,153.93922 52.509003,155.6566 58.255356,156.66077 C 65.068558,158.18597 72.014694,158.97908 78.880829,160.22276 C 92.322449,163.54942 106.33254,162.97296 119.97375,165.00636 C 117.38495,161.04785 115.77875,156.58668 114.0233,152.22601 C 113.03308,150.08734 113.2979,147.67241 113.37753,145.39288 C 113.43797,144.49414 113.5031,143.59744 113.57291,142.70279 z " + id="path158" /> + <path + style="fill:#1c1719;fill-rule:nonzero;stroke:none" + d="M 113.57291,142.70279 C 114.30438,143.98912 115.02361,145.28481 115.78551,146.55749 C 120.87651,156.30113 130.63191,162.35043 140.353,166.7249 C 144.99002,168.36397 150.06645,167.7007 154.68349,169.38516 C 156.54137,170.05955 158.5123,169.60763 160.4248,169.52377 C 164.03975,169.86046 167.57652,170.72231 171.15608,171.3067 C 174.59601,171.92464 178.10832,172.07835 181.5945,171.81398 C 183.06296,171.69357 184.52824,171.51131 185.99092,171.30772 C 186.50127,171.90381 187.01288,172.50299 187.52576,173.10525 C 187.53102,173.7616 187.54155,175.07428 187.54681,175.73062 C 187.57338,176.02884 187.62651,176.6253 187.65309,176.92354 C 184.65176,173.60933 179.94879,174.48712 175.9704,173.96439 C 166.29604,172.94031 156.58743,172.18567 147.01276,170.40964 C 142.06876,169.96419 137.43355,168.16565 133.05031,165.93111 C 127.91576,162.96626 123.52158,158.9189 118.48816,155.80016 C 119.79463,159.8613 121.77748,163.64751 123.95352,167.30295 C 121.35017,167.1328 118.75085,166.92461 116.15115,166.73492 C 108.63367,165.95943 101.13296,164.84926 93.554321,164.9574 C 81.167221,163.27423 68.9655,160.43915 56.569656,158.77423 C 49.369217,156.9025 41.960892,156.43805 34.568085,156.00711 C 28.898666,154.70483 23.383163,152.69356 17.63147,151.785 C 16.537811,151.48503 15.737244,152.33768 15.296585,153.22967 C 16.070053,157.74176 18.943115,161.90068 18.449829,166.60706 C 16.387787,168.94415 13.445251,170.235 11.179977,172.34552 C 11.212524,173.4633 11.482071,174.55482 11.745087,175.64035 C 16.213898,181.19347 22.419678,185.19116 26.078308,191.44173 C 26.103226,193.69081 26.161499,195.94006 26.221756,198.19214 C 22.868805,200.17013 19.499146,202.22031 16.787079,205.05521 C 18.580048,206.16786 20.379669,207.27342 22.156631,208.41606 C 21.204727,210.50534 20.780075,213.25487 18.487167,214.33781 C 15.934265,215.77116 13.141281,216.92242 11.130676,219.1382 C 10.216644,222.21829 10.617203,225.44859 11.120346,228.56282 C 11.187561,228.9726 11.321991,229.79215 11.389206,230.20192 C 14.858902,230.58261 18.353699,231.05156 21.648727,232.26031 C 22.957428,232.97226 24.225784,233.75879 25.508423,234.52086 C 26.565338,235.15225 27.645706,235.74423 28.749527,236.29677 C 34.186844,239.17801 40.374847,239.96767 46.407867,240.60077 C 51.920044,241.13162 57.273163,242.58466 62.655045,243.81676 C 76.13974,247.6107 90.18158,248.27075 104.00415,250.05057 C 110.55102,250.5504 117.14475,250.61264 123.62299,251.81737 C 134.89371,254.04009 146.39664,254.58595 157.74649,256.27832 C 164.65733,256.89566 171.61188,256.56479 178.52684,257.13132 C 180.69078,257.49753 182.78874,258.17036 184.95474,258.55115 L 185.07797,258.57385 C 183.91151,258.9939 182.75549,259.43822 181.60991,259.90684 C 173.56665,258.30339 165.37511,258.80695 157.23245,258.46092 C 147.98563,257.33626 138.76852,255.87697 129.47449,255.21455 C 124.72499,254.0462 119.89037,253.43935 114.99582,253.54436 C 107.68234,252.52828 100.27251,252.54215 93.04718,250.85092 C 79.21843,250.3262 65.630417,247.18422 52.325851,243.51953 C 47.153,241.87038 41.556656,243.222 36.427155,241.35629 C 31.241379,240.20209 26.341064,238.02278 22.004349,234.95567 C 18.595612,232.28099 14.077347,232.9003 10.040787,232.62073 C 8.807037,229.34689 8.950348,225.73303 7.440811,222.54837 C 6.559921,220.8382 8.642868,219.7491 9.312668,218.40109 C 10.134216,216.58545 10.785004,214.66876 12.008636,213.07007 C 13.794464,211.8837 15.860107,211.19478 17.737503,210.16843 C 16.279236,208.07539 13.216278,205.29862 15.93161,202.86838 C 18.035828,200.91742 20.458496,199.30655 22.344284,197.12793 C 23.956116,195.49681 22.771896,193.12344 22.291702,191.27286 C 21.884521,190.22005 21.4617,189.17598 21.023224,188.14064 C 20.362747,188.31847 19.041779,188.6741 18.381302,188.85193 C 18.084274,191.22378 17.787949,193.59654 17.504074,195.97322 C 17.010757,195.15169 16.51796,194.33244 16.02565,193.51546 C 14.298355,190.75177 12.912567,187.79991 11.346664,184.94798 C 12.077438,183.69969 12.818604,182.46194 13.589401,181.242 C 10.591995,179.41811 9.147141,176.13431 7.848785,173.03075 C 8.741776,170.59029 11.04834,169.15926 12.901413,167.50447 C 12.623001,165.8893 11.592346,164.09473 12.529938,162.51556 C 13.476471,161.2813 14.677505,160.28217 15.817581,159.23868 C 14.758865,158.51692 13.703278,157.79219 12.655991,157.05868 C 12.389297,154.02049 13.462036,151.23308 15.737839,149.2056 C 21.237411,149.72342 26.362747,152.15016 31.892212,152.48079 C 34.995026,152.6993 37.747818,154.66426 40.926117,154.39113 C 46.823746,153.93922 52.509003,155.6566 58.255356,156.66077 C 65.068558,158.18597 72.014694,158.97908 78.880829,160.22276 C 92.322449,163.54942 106.33254,162.97296 119.97375,165.00636 C 117.38495,161.04785 115.77875,156.58668 114.0233,152.22601 C 113.03308,150.08734 113.2979,147.67241 113.37753,145.39288 C 113.43797,144.49414 113.5031,143.59744 113.57291,142.70279 z " + id="path160" /> + <path + style="fill:none;stroke:#f3bdcf;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 251.25655,150.39923 C 253.31781,150.37326 255.30223,150.90909 257.15491,151.79513 C 256.43487,153.85069 255.71999,155.91876 254.72629,157.86302 C 251.53751,157.31532 252.04778,152.81436 251.25655,150.39923 z " + id="path162" /> + <path + style="fill:#f3bdcf;fill-rule:nonzero;stroke:none" + d="M 251.25655,150.39923 C 253.31781,150.37326 255.30223,150.90909 257.15491,151.79513 C 256.43487,153.85069 255.71999,155.91876 254.72629,157.86302 C 251.53751,157.31532 252.04778,152.81436 251.25655,150.39923 z " + id="path164" /> + <path + style="fill:none;stroke:#7f4c2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 15.296585,153.22967 C 15.737244,152.33768 16.537811,151.48503 17.63147,151.785 C 23.383163,152.69356 28.898666,154.70483 34.568085,156.00711 C 30.331131,156.47685 26.110199,157.08624 21.863174,157.46716 C 22.143311,160.63796 22.447144,163.80759 22.78006,166.97531 C 21.193573,168.77411 19.613968,170.57951 18.018036,172.37201 C 19.240265,175.7227 20.677643,179.2704 23.900024,181.1871 C 27.579346,183.22156 31.335938,185.11736 34.951401,187.26921 C 34.573578,187.42349 33.817932,187.73202 33.440125,187.88631 C 28.628662,185.84325 23.791168,183.64255 19.737518,180.27986 C 17.370529,178.26639 14.657761,176.71571 11.745087,175.64035 C 11.482071,174.55482 11.212524,173.4633 11.179977,172.34552 C 13.445251,170.235 16.387787,168.94415 18.449829,166.60706 C 18.943115,161.90068 16.070053,157.74176 15.296585,153.22967 z " + id="path166" /> + <path + style="fill:#7f4c2b;fill-rule:nonzero;stroke:none" + d="M 15.296585,153.22967 C 15.737244,152.33768 16.537811,151.48503 17.63147,151.785 C 23.383163,152.69356 28.898666,154.70483 34.568085,156.00711 C 30.331131,156.47685 26.110199,157.08624 21.863174,157.46716 C 22.143311,160.63796 22.447144,163.80759 22.78006,166.97531 C 21.193573,168.77411 19.613968,170.57951 18.018036,172.37201 C 19.240265,175.7227 20.677643,179.2704 23.900024,181.1871 C 27.579346,183.22156 31.335938,185.11736 34.951401,187.26921 C 34.573578,187.42349 33.817932,187.73202 33.440125,187.88631 C 28.628662,185.84325 23.791168,183.64255 19.737518,180.27986 C 17.370529,178.26639 14.657761,176.71571 11.745087,175.64035 C 11.482071,174.55482 11.212524,173.4633 11.179977,172.34552 C 13.445251,170.235 16.387787,168.94415 18.449829,166.60706 C 18.943115,161.90068 16.070053,157.74176 15.296585,153.22967 z " + id="path168" /> + <path + style="fill:none;stroke:#7d5c1c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 356.56679,151.62988 C 360.7422,152.39061 362.3607,156.41077 363.44934,160.02179 C 362.73666,160.10934 361.31131,160.28447 360.59863,160.37204 C 362.01727,161.87656 363.21396,163.57175 364.19328,165.39711 C 363.48915,165.69153 362.0809,166.28036 361.37677,166.57478 C 361.57416,167.66429 361.76558,168.7554 361.95369,169.8528 C 354.52292,170.56297 347.14749,171.7885 339.67586,172.04472 C 344.58847,170.67516 347.62047,166.228 351.86081,163.68384 C 353.93968,159.91531 356.57065,156.1084 356.56679,151.62988 z " + id="path170" /> + <path + style="fill:#7d5c1c;fill-rule:nonzero;stroke:none" + d="M 356.56679,151.62988 C 360.7422,152.39061 362.3607,156.41077 363.44934,160.02179 C 362.73666,160.10934 361.31131,160.28447 360.59863,160.37204 C 362.01727,161.87656 363.21396,163.57175 364.19328,165.39711 C 363.48915,165.69153 362.0809,166.28036 361.37677,166.57478 C 361.57416,167.66429 361.76558,168.7554 361.95369,169.8528 C 354.52292,170.56297 347.14749,171.7885 339.67586,172.04472 C 344.58847,170.67516 347.62047,166.228 351.86081,163.68384 C 353.93968,159.91531 356.57065,156.1084 356.56679,151.62988 z " + id="path172" /> + <path + style="fill:none;stroke:#e8e8e8;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 238.64838,152.69789 C 242.5287,152.7337 246.42248,152.80223 250.28563,152.32904 C 251.15765,155.02866 252.29572,157.64381 253.89655,159.99901 C 250.63808,163.493 250.7097,168.60591 251.30788,173.04279 C 251.55994,175.41838 253.44589,177.05721 254.92871,178.7412 C 250.84723,178.20456 245.71834,178.78354 242.99718,175.03137 C 237.39261,169.02689 238.74953,160.20465 238.64838,152.69789 z " + id="path174" /> + <path + style="fill:#e8e8e8;fill-rule:nonzero;stroke:none" + d="M 238.64838,152.69789 C 242.5287,152.7337 246.42248,152.80223 250.28563,152.32904 C 251.15765,155.02866 252.29572,157.64381 253.89655,159.99901 C 250.63808,163.493 250.7097,168.60591 251.30788,173.04279 C 251.55994,175.41838 253.44589,177.05721 254.92871,178.7412 C 250.84723,178.20456 245.71834,178.78354 242.99718,175.03137 C 237.39261,169.02689 238.74953,160.20465 238.64838,152.69789 z " + id="path176" /> + <path + style="fill:none;stroke:#f5f5f5;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 258.16728,153.06381 C 262.14743,154.24112 266.25729,154.81959 270.41222,154.75349 C 270.32031,161.57373 270.90228,168.75613 268.18425,175.17676 C 265.45602,179.81381 259.4171,178.50209 254.92871,178.7412 C 253.44589,177.05721 251.55994,175.41838 251.30788,173.04279 C 250.7097,168.60591 250.63808,163.493 253.89655,159.99901 C 255.71478,157.94836 257.04308,155.5489 258.16728,153.06381 z " + id="path178" /> + <path + style="fill:#f5f5f5;fill-rule:nonzero;stroke:none" + d="M 258.16728,153.06381 C 262.14743,154.24112 266.25729,154.81959 270.41222,154.75349 C 270.32031,161.57373 270.90228,168.75613 268.18425,175.17676 C 265.45602,179.81381 259.4171,178.50209 254.92871,178.7412 C 253.44589,177.05721 251.55994,175.41838 251.30788,173.04279 C 250.7097,168.60591 250.63808,163.493 253.89655,159.99901 C 255.71478,157.94836 257.04308,155.5489 258.16728,153.06381 z " + id="path180" /> + <path + style="fill:none;stroke:#a65c28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 34.568085,156.00711 C 41.960892,156.43805 49.369217,156.9025 56.569656,158.77423 C 52.308655,159.66226 48.014175,160.37813 43.679245,160.78713 C 36.312836,161.32809 29.859467,165.25555 22.78006,166.97531 C 22.447144,163.80759 22.143311,160.63796 21.863174,157.46716 C 26.110199,157.08624 30.331131,156.47685 34.568085,156.00711 z " + id="path182" /> + <path + style="fill:#a65c28;fill-rule:nonzero;stroke:none" + d="M 34.568085,156.00711 C 41.960892,156.43805 49.369217,156.9025 56.569656,158.77423 C 52.308655,159.66226 48.014175,160.37813 43.679245,160.78713 C 36.312836,161.32809 29.859467,165.25555 22.78006,166.97531 C 22.447144,163.80759 22.143311,160.63796 21.863174,157.46716 C 26.110199,157.08624 30.331131,156.47685 34.568085,156.00711 z " + id="path184" /> + <path + style="fill:none;stroke:#a15726;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 118.48816,155.80016 C 123.52158,158.9189 127.91576,162.96626 133.05031,165.93111 C 130.99945,165.88606 128.95099,165.94299 126.9034,165.99136 C 127.20105,169.05441 127.2222,172.13721 127.01036,175.20825 C 131.99915,176.37636 136.893,178.22888 142.05266,178.47015 C 145.78941,178.47679 149.53801,178.22418 153.263,178.68098 C 150.57762,179.42757 146.76044,179.57689 145.6869,182.68025 C 143.88965,187.6144 143.93512,192.96007 143.24387,198.11191 C 142.61647,198.34495 141.99162,198.58247 141.36932,198.82448 C 139.99837,191.90718 138.49449,184.82822 135.60442,178.39381 C 132.62087,178.0777 129.61815,178.32603 126.63234,178.4478 C 125.52731,180.72777 124.39642,182.99585 123.31197,185.28732 C 123.04439,184.98755 122.50925,184.38798 122.24167,184.0882 C 122.56358,181.25702 123.0858,178.45526 123.60283,175.65685 C 121.49698,175.05685 119.38588,174.47536 117.26097,173.95619 C 113.96195,173.04346 110.71561,171.95519 107.48885,170.82114 C 110.21713,169.15057 113.064,167.63071 116.15115,166.73492 C 118.75085,166.92461 121.35017,167.1328 123.95352,167.30295 C 121.77748,163.64751 119.79463,159.8613 118.48816,155.80016 z " + id="path186" /> + <path + style="fill:#a15726;fill-rule:nonzero;stroke:none" + d="M 118.48816,155.80016 C 123.52158,158.9189 127.91576,162.96626 133.05031,165.93111 C 130.99945,165.88606 128.95099,165.94299 126.9034,165.99136 C 127.20105,169.05441 127.2222,172.13721 127.01036,175.20825 C 131.99915,176.37636 136.893,178.22888 142.05266,178.47015 C 145.78941,178.47679 149.53801,178.22418 153.263,178.68098 C 150.57762,179.42757 146.76044,179.57689 145.6869,182.68025 C 143.88965,187.6144 143.93512,192.96007 143.24387,198.11191 C 142.61647,198.34495 141.99162,198.58247 141.36932,198.82448 C 139.99837,191.90718 138.49449,184.82822 135.60442,178.39381 C 132.62087,178.0777 129.61815,178.32603 126.63234,178.4478 C 125.52731,180.72777 124.39642,182.99585 123.31197,185.28732 C 123.04439,184.98755 122.50925,184.38798 122.24167,184.0882 C 122.56358,181.25702 123.0858,178.45526 123.60283,175.65685 C 121.49698,175.05685 119.38588,174.47536 117.26097,173.95619 C 113.96195,173.04346 110.71561,171.95519 107.48885,170.82114 C 110.21713,169.15057 113.064,167.63071 116.15115,166.73492 C 118.75085,166.92461 121.35017,167.1328 123.95352,167.30295 C 121.77748,163.64751 119.79463,159.8613 118.48816,155.80016 z " + id="path188" /> + <path + style="fill:none;stroke:#b36628;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 43.679245,160.78713 C 48.014175,160.37813 52.308655,159.66226 56.569656,158.77423 C 68.9655,160.43915 81.167221,163.27423 93.554321,164.9574 C 89.119064,165.8743 84.64267,166.54903 80.141296,167.0369 C 74.926346,167.46501 69.899979,169.01218 65.174042,171.21617 C 65.117325,172.81587 65.060104,174.41832 65.0065,176.02272 C 63.687454,177.07713 62.415619,178.19255 61.215622,179.38306 C 50.267654,178.69402 39.398148,177.11008 28.447815,176.45329 C 28.765396,177.9808 29.082855,179.51117 29.40242,181.04239 C 27.567917,181.08694 25.733841,181.13501 23.900024,181.1871 C 20.677643,179.2704 19.240265,175.7227 18.018036,172.37201 C 19.613968,170.57951 21.193573,168.77411 22.78006,166.97531 C 29.859467,165.25555 36.312836,161.32809 43.679245,160.78713 z " + id="path190" /> + <path + style="fill:#b36628;fill-rule:nonzero;stroke:none" + d="M 43.679245,160.78713 C 48.014175,160.37813 52.308655,159.66226 56.569656,158.77423 C 68.9655,160.43915 81.167221,163.27423 93.554321,164.9574 C 89.119064,165.8743 84.64267,166.54903 80.141296,167.0369 C 74.926346,167.46501 69.899979,169.01218 65.174042,171.21617 C 65.117325,172.81587 65.060104,174.41832 65.0065,176.02272 C 63.687454,177.07713 62.415619,178.19255 61.215622,179.38306 C 50.267654,178.69402 39.398148,177.11008 28.447815,176.45329 C 28.765396,177.9808 29.082855,179.51117 29.40242,181.04239 C 27.567917,181.08694 25.733841,181.13501 23.900024,181.1871 C 20.677643,179.2704 19.240265,175.7227 18.018036,172.37201 C 19.613968,170.57951 21.193573,168.77411 22.78006,166.97531 C 29.859467,165.25555 36.312836,161.32809 43.679245,160.78713 z " + id="path192" /> + <path + style="fill:none;stroke:#78591c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 160.53334,161.48698 C 161.40422,160.30319 162.72638,159.5865 163.91406,158.77037 C 163.98274,159.91133 164.07211,161.0529 164.18221,162.19507 C 168.04979,163.78897 170.27136,167.33897 171.15608,171.3067 C 167.57652,170.72231 164.03975,169.86046 160.4248,169.52377 L 159.49181,169.41798 C 160.03723,166.79726 160.22096,164.13353 160.53334,161.48698 z " + id="path194" /> + <path + style="fill:#78591c;fill-rule:nonzero;stroke:none" + d="M 160.53334,161.48698 C 161.40422,160.30319 162.72638,159.5865 163.91406,158.77037 C 163.98274,159.91133 164.07211,161.0529 164.18221,162.19507 C 168.04979,163.78897 170.27136,167.33897 171.15608,171.3067 C 167.57652,170.72231 164.03975,169.86046 160.4248,169.52377 L 159.49181,169.41798 C 160.03723,166.79726 160.22096,164.13353 160.53334,161.48698 z " + id="path196" /> + <path + style="fill:none;stroke:#191711;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 425.9735,163.27193 C 430.92331,162.93123 435.69234,160.90349 440.71188,161.31291 C 443.769,163.05606 447.05173,164.21594 450.57805,164.54987 C 452.97366,165.91763 455.02902,168.1514 458.01106,168.10333 C 460.68514,167.98532 462.54857,169.93352 464.60335,171.31599 C 466.89714,172.93562 469.82155,172.87515 472.42636,173.66962 C 477.87419,177.36177 485.1207,176.63516 490.64473,180.25554 C 492.48091,181.59293 494.74027,181.90953 496.94453,182.15962 C 500.367,182.17259 502.55849,185.16515 505.3923,186.6393 C 508.89302,187.13203 512.437,187.49146 515.77928,188.75258 C 512.45598,193.38351 508.75749,197.66594 504.47798,201.4305 C 502.39322,202.64922 500.24167,203.80257 498.57919,205.59244 C 496.6633,207.65096 493.74745,208.0706 491.44138,209.51178 C 489.72835,211.47362 488.80608,214.37505 485.85529,214.78552 C 482.01117,215.4852 480.42871,219.43828 477.17363,221.12848 C 474.3614,222.34459 474.0446,225.93333 471.47833,227.37781 C 467.55507,229.67004 464.89587,233.64775 460.7699,235.66097 C 457.35649,237.11557 455.12172,240.16725 452.98676,243.04822 C 444.8389,247.25955 435.38393,246.78943 426.67857,248.95119 C 420.18567,251.42976 413.10158,250.99293 406.43481,252.73218 C 397.75452,254.9791 388.72598,254.44601 379.90546,255.6436 C 373.67151,255.49307 367.54019,256.84999 361.31346,256.7898 C 355.45679,256.81226 349.82605,258.91682 343.9559,258.73781 C 339.75861,258.62128 335.57321,259.08258 331.38779,259.06819 C 330.85158,258.78346 329.77913,258.21402 329.24291,257.92931 L 330.18545,257.767 C 336.13678,256.45534 342.24628,256.74753 348.28616,256.32115 C 352.54005,255.90341 356.72295,254.90067 361.00362,254.69025 C 375.86438,253.89269 390.73944,252.83267 405.4444,250.45514 C 412.53239,249.24762 419.73737,248.65404 426.69449,246.74693 C 433.49712,244.9536 440.72256,245.16005 447.35165,242.6563 C 448.48733,242.17303 449.59886,241.63344 450.72258,241.10426 C 447.27963,237.48903 442.91063,235.01857 438.5177,232.75906 C 440.56731,231.11676 442.91818,229.68721 444.40067,227.46794 C 444.80223,225.9135 444.85962,224.29959 445.01527,222.71262 C 443.08405,222.13042 441.17004,221.51598 439.21724,221.04483 C 438.7805,218.03618 437.77753,215.13318 435.94218,212.68904 C 436.59494,212.18428 437.23154,211.66217 437.89468,211.16005 C 439.24686,210.06645 440.58768,208.95732 441.93553,207.85109 C 438.08868,203.71191 433.90134,199.9063 430.15352,195.67505 C 432.14664,193.41679 434.57463,191.60579 437.26677,190.25911 C 437.59227,187.85643 439.08995,184.97308 437.07259,182.92596 C 435.32924,180.7404 433.52634,178.39848 433.73822,175.42918 C 433.91426,175.01981 434.26633,174.20105 434.44235,173.79167 C 435.89612,170.22772 437.49846,166.72819 439.03928,163.20163 C 437.2012,163.52835 435.36974,163.86639 433.54662,164.23213 C 426.29627,165.15965 418.98151,165.54057 411.7722,166.78607 C 406.22343,167.6001 400.81718,169.16895 395.26489,169.95254 C 389.74922,170.79317 384.15015,170.4142 378.60789,170.87843 C 368.20812,171.96925 357.71802,172.1875 347.40301,173.98498 C 341.35957,174.6837 335.3322,175.55456 329.26036,175.95372 C 326.176,175.91869 323.10684,175.62375 320.04935,175.27351 C 320.4967,175.00186 321.39142,174.45853 321.83878,174.18687 C 322.27132,174.17145 323.13641,174.14059 323.56895,174.12517 C 328.03616,174.0481 332.45151,173.31934 336.82463,172.4449 C 337.53744,172.34485 338.96304,172.14478 339.67586,172.04472 C 347.14749,171.7885 354.52292,170.56297 361.95369,169.8528 C 378.45697,168.94559 394.97134,167.72926 411.23277,164.63422 C 416.16319,164.36243 421.03598,163.49329 425.9735,163.27193 z " + id="path198" /> + <path + style="fill:#191711;fill-rule:nonzero;stroke:none" + d="M 425.9735,163.27193 C 430.92331,162.93123 435.69234,160.90349 440.71188,161.31291 C 443.769,163.05606 447.05173,164.21594 450.57805,164.54987 C 452.97366,165.91763 455.02902,168.1514 458.01106,168.10333 C 460.68514,167.98532 462.54857,169.93352 464.60335,171.31599 C 466.89714,172.93562 469.82155,172.87515 472.42636,173.66962 C 477.87419,177.36177 485.1207,176.63516 490.64473,180.25554 C 492.48091,181.59293 494.74027,181.90953 496.94453,182.15962 C 500.367,182.17259 502.55849,185.16515 505.3923,186.6393 C 508.89302,187.13203 512.437,187.49146 515.77928,188.75258 C 512.45598,193.38351 508.75749,197.66594 504.47798,201.4305 C 502.39322,202.64922 500.24167,203.80257 498.57919,205.59244 C 496.6633,207.65096 493.74745,208.0706 491.44138,209.51178 C 489.72835,211.47362 488.80608,214.37505 485.85529,214.78552 C 482.01117,215.4852 480.42871,219.43828 477.17363,221.12848 C 474.3614,222.34459 474.0446,225.93333 471.47833,227.37781 C 467.55507,229.67004 464.89587,233.64775 460.7699,235.66097 C 457.35649,237.11557 455.12172,240.16725 452.98676,243.04822 C 444.8389,247.25955 435.38393,246.78943 426.67857,248.95119 C 420.18567,251.42976 413.10158,250.99293 406.43481,252.73218 C 397.75452,254.9791 388.72598,254.44601 379.90546,255.6436 C 373.67151,255.49307 367.54019,256.84999 361.31346,256.7898 C 355.45679,256.81226 349.82605,258.91682 343.9559,258.73781 C 339.75861,258.62128 335.57321,259.08258 331.38779,259.06819 C 330.85158,258.78346 329.77913,258.21402 329.24291,257.92931 L 330.18545,257.767 C 336.13678,256.45534 342.24628,256.74753 348.28616,256.32115 C 352.54005,255.90341 356.72295,254.90067 361.00362,254.69025 C 375.86438,253.89269 390.73944,252.83267 405.4444,250.45514 C 412.53239,249.24762 419.73737,248.65404 426.69449,246.74693 C 433.49712,244.9536 440.72256,245.16005 447.35165,242.6563 C 448.48733,242.17303 449.59886,241.63344 450.72258,241.10426 C 447.27963,237.48903 442.91063,235.01857 438.5177,232.75906 C 440.56731,231.11676 442.91818,229.68721 444.40067,227.46794 C 444.80223,225.9135 444.85962,224.29959 445.01527,222.71262 C 443.08405,222.13042 441.17004,221.51598 439.21724,221.04483 C 438.7805,218.03618 437.77753,215.13318 435.94218,212.68904 C 436.59494,212.18428 437.23154,211.66217 437.89468,211.16005 C 439.24686,210.06645 440.58768,208.95732 441.93553,207.85109 C 438.08868,203.71191 433.90134,199.9063 430.15352,195.67505 C 432.14664,193.41679 434.57463,191.60579 437.26677,190.25911 C 437.59227,187.85643 439.08995,184.97308 437.07259,182.92596 C 435.32924,180.7404 433.52634,178.39848 433.73822,175.42918 C 433.91426,175.01981 434.26633,174.20105 434.44235,173.79167 C 435.89612,170.22772 437.49846,166.72819 439.03928,163.20163 C 437.2012,163.52835 435.36974,163.86639 433.54662,164.23213 C 426.29627,165.15965 418.98151,165.54057 411.7722,166.78607 C 406.22343,167.6001 400.81718,169.16895 395.26489,169.95254 C 389.74922,170.79317 384.15015,170.4142 378.60789,170.87843 C 368.20812,171.96925 357.71802,172.1875 347.40301,173.98498 C 341.35957,174.6837 335.3322,175.55456 329.26036,175.95372 C 326.176,175.91869 323.10684,175.62375 320.04935,175.27351 C 320.4967,175.00186 321.39142,174.45853 321.83878,174.18687 C 322.27132,174.17145 323.13641,174.14059 323.56895,174.12517 C 328.03616,174.0481 332.45151,173.31934 336.82463,172.4449 C 337.53744,172.34485 338.96304,172.14478 339.67586,172.04472 C 347.14749,171.7885 354.52292,170.56297 361.95369,169.8528 C 378.45697,168.94559 394.97134,167.72926 411.23277,164.63422 C 416.16319,164.36243 421.03598,163.49329 425.9735,163.27193 z " + id="path200" /> + <path + style="fill:none;stroke:#995126;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 433.54662,164.23213 C 435.36974,163.86639 437.2012,163.52835 439.03928,163.20163 C 437.49846,166.72819 435.89612,170.22772 434.44235,173.79167 C 430.44818,173.20624 426.52281,172.24812 422.67047,171.06374 C 426.38441,168.93074 429.96011,166.57266 433.54662,164.23213 z " + id="path202" /> + <path + style="fill:#995126;fill-rule:nonzero;stroke:none" + d="M 433.54662,164.23213 C 435.36974,163.86639 437.2012,163.52835 439.03928,163.20163 C 437.49846,166.72819 435.89612,170.22772 434.44235,173.79167 C 430.44818,173.20624 426.52281,172.24812 422.67047,171.06374 C 426.38441,168.93074 429.96011,166.57266 433.54662,164.23213 z " + id="path204" /> + <path + style="fill:none;stroke:#6e3a23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 411.7722,166.78607 C 418.98151,165.54057 426.29627,165.15965 433.54662,164.23213 C 429.96011,166.57266 426.38441,168.93074 422.67047,171.06374 C 426.52281,172.24812 430.44818,173.20624 434.44235,173.79167 C 434.26633,174.20105 433.91426,175.01981 433.73822,175.42918 C 431.96098,175.40692 430.1895,175.32025 428.42777,175.1769 C 421.46193,174.11177 414.19324,174.34775 407.58902,171.58403 C 411.11003,170.0248 414.6936,168.60915 418.26328,167.15892 C 416.0966,167.00326 413.93509,166.8358 411.7722,166.78607 z " + id="path206" /> + <path + style="fill:#6e3a23;fill-rule:nonzero;stroke:none" + d="M 411.7722,166.78607 C 418.98151,165.54057 426.29627,165.15965 433.54662,164.23213 C 429.96011,166.57266 426.38441,168.93074 422.67047,171.06374 C 426.52281,172.24812 430.44818,173.20624 434.44235,173.79167 C 434.26633,174.20105 433.91426,175.01981 433.73822,175.42918 C 431.96098,175.40692 430.1895,175.32025 428.42777,175.1769 C 421.46193,174.11177 414.19324,174.34775 407.58902,171.58403 C 411.11003,170.0248 414.6936,168.60915 418.26328,167.15892 C 416.0966,167.00326 413.93509,166.8358 411.7722,166.78607 z " + id="path208" /> + <path + style="fill:none;stroke:#6e3d21;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 93.554321,164.9574 C 101.13296,164.84926 108.63367,165.95943 116.15115,166.73492 C 113.064,167.63071 110.21713,169.15057 107.48885,170.82114 C 110.71561,171.95519 113.96195,173.04346 117.26097,173.95619 C 112.91287,174.19661 108.58058,174.86548 104.21666,174.6794 C 100.27158,174.17395 96.414551,173.16286 92.601425,172.06134 C 96.408157,169.63982 100.72137,168.23441 104.87323,166.53967 C 93.72731,164.22612 83.828033,173.17766 72.700226,170.96819 C 75.045578,169.42047 77.49823,168.01346 80.141296,167.0369 C 84.64267,166.54903 89.119064,165.8743 93.554321,164.9574 z " + id="path210" /> + <path + style="fill:#6e3d21;fill-rule:nonzero;stroke:none" + d="M 93.554321,164.9574 C 101.13296,164.84926 108.63367,165.95943 116.15115,166.73492 C 113.064,167.63071 110.21713,169.15057 107.48885,170.82114 C 110.71561,171.95519 113.96195,173.04346 117.26097,173.95619 C 112.91287,174.19661 108.58058,174.86548 104.21666,174.6794 C 100.27158,174.17395 96.414551,173.16286 92.601425,172.06134 C 96.408157,169.63982 100.72137,168.23441 104.87323,166.53967 C 93.72731,164.22612 83.828033,173.17766 72.700226,170.96819 C 75.045578,169.42047 77.49823,168.01346 80.141296,167.0369 C 84.64267,166.54903 89.119064,165.8743 93.554321,164.9574 z " + id="path212" /> + <path + style="fill:none;stroke:#d9b061;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 435.93272,178.73796 C 436.53397,173.65044 438.70413,169.04298 441.13136,164.60689 C 444.5405,165.74919 448.25075,165.92171 451.52615,167.4575 C 451.61066,167.85075 451.77965,168.63725 451.86414,169.03052 C 452.36323,173.13818 452.313,177.34775 451.24429,181.36783 C 450.38365,185.20003 448.58649,189.23524 450.10661,193.14853 C 451.92892,198.33366 454.13625,203.51872 454.4377,209.07954 C 454.40672,212.98231 452.59303,216.55659 451.0527,220.04974 C 452.70963,221.15259 454.369,222.2599 456.01712,223.38977 C 456.51042,226.76114 458.19493,229.7403 460.30324,232.36642 C 459.94949,232.74242 459.24202,233.49442 458.88828,233.87042 C 456.9088,235.86581 454.59154,237.47371 452.29036,239.06561 C 449.41415,236.30576 445.79956,234.58839 442.30812,232.77338 C 443.98643,231.53261 445.71504,230.35883 447.44211,229.18097 C 447.37797,226.72313 447.43454,224.26573 447.4417,221.81049 C 445.55179,220.94327 443.61015,220.18848 441.79651,219.18233 C 440.96959,217.02156 440.8382,214.6694 440.34346,212.42331 C 441.85645,210.99284 443.33861,209.52933 444.774,208.01709 C 441.34753,203.16539 436.09842,200.00819 432.87053,194.99759 C 435.06447,193.85608 437.4588,192.9769 439.33958,191.31877 C 440.26474,188.95567 440.83386,186.45871 441.36284,183.98218 C 440.15448,181.72501 437.77965,180.41318 435.93272,178.73796 z " + id="path214" /> + <path + style="fill:#d9b061;fill-rule:nonzero;stroke:none" + d="M 435.93272,178.73796 C 436.53397,173.65044 438.70413,169.04298 441.13136,164.60689 C 444.5405,165.74919 448.25075,165.92171 451.52615,167.4575 C 451.61066,167.85075 451.77965,168.63725 451.86414,169.03052 C 452.36323,173.13818 452.313,177.34775 451.24429,181.36783 C 450.38365,185.20003 448.58649,189.23524 450.10661,193.14853 C 451.92892,198.33366 454.13625,203.51872 454.4377,209.07954 C 454.40672,212.98231 452.59303,216.55659 451.0527,220.04974 C 452.70963,221.15259 454.369,222.2599 456.01712,223.38977 C 456.51042,226.76114 458.19493,229.7403 460.30324,232.36642 C 459.94949,232.74242 459.24202,233.49442 458.88828,233.87042 C 456.9088,235.86581 454.59154,237.47371 452.29036,239.06561 C 449.41415,236.30576 445.79956,234.58839 442.30812,232.77338 C 443.98643,231.53261 445.71504,230.35883 447.44211,229.18097 C 447.37797,226.72313 447.43454,224.26573 447.4417,221.81049 C 445.55179,220.94327 443.61015,220.18848 441.79651,219.18233 C 440.96959,217.02156 440.8382,214.6694 440.34346,212.42331 C 441.85645,210.99284 443.33861,209.52933 444.774,208.01709 C 441.34753,203.16539 436.09842,200.00819 432.87053,194.99759 C 435.06447,193.85608 437.4588,192.9769 439.33958,191.31877 C 440.26474,188.95567 440.83386,186.45871 441.36284,183.98218 C 440.15448,181.72501 437.77965,180.41318 435.93272,178.73796 z " + id="path216" /> + <path + style="fill:none;stroke:#a65c26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 72.700226,170.96819 C 83.828033,173.17766 93.72731,164.22612 104.87323,166.53967 C 100.72137,168.23441 96.408157,169.63982 92.601425,172.06134 C 96.414551,173.16286 100.27158,174.17395 104.21666,174.6794 C 103.53921,177.18098 102.88115,179.69151 102.38541,182.23874 C 102.33946,180.7899 102.27393,179.34422 102.18881,177.90173 C 96.808533,177.13968 91.381088,177.47153 85.973679,177.44917 C 82.237503,177.53551 78.920074,175.66487 75.81813,173.81416 C 74.627518,174.24464 73.436157,174.67387 72.264755,175.15453 C 69.806229,174.65839 67.267548,174.9006 65.0065,176.02272 C 65.060104,174.41832 65.117325,172.81587 65.174042,171.21617 C 69.899979,169.01218 74.926346,167.46501 80.141296,167.0369 C 77.49823,168.01346 75.045578,169.42047 72.700226,170.96819 z " + id="path218" /> + <path + style="fill:#a65c26;fill-rule:nonzero;stroke:none" + d="M 72.700226,170.96819 C 83.828033,173.17766 93.72731,164.22612 104.87323,166.53967 C 100.72137,168.23441 96.408157,169.63982 92.601425,172.06134 C 96.414551,173.16286 100.27158,174.17395 104.21666,174.6794 C 103.53921,177.18098 102.88115,179.69151 102.38541,182.23874 C 102.33946,180.7899 102.27393,179.34422 102.18881,177.90173 C 96.808533,177.13968 91.381088,177.47153 85.973679,177.44917 C 82.237503,177.53551 78.920074,175.66487 75.81813,173.81416 C 74.627518,174.24464 73.436157,174.67387 72.264755,175.15453 C 69.806229,174.65839 67.267548,174.9006 65.0065,176.02272 C 65.060104,174.41832 65.117325,172.81587 65.174042,171.21617 C 69.899979,169.01218 74.926346,167.46501 80.141296,167.0369 C 77.49823,168.01346 75.045578,169.42047 72.700226,170.96819 z " + id="path220" /> + <path + style="fill:none;stroke:#b3662b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 126.9034,165.99136 C 128.95099,165.94299 130.99945,165.88606 133.05031,165.93111 C 137.43355,168.16565 142.06876,169.96419 147.01276,170.40964 C 156.58743,172.18567 166.29604,172.94031 175.9704,173.96439 C 179.94879,174.48712 184.65176,173.60933 187.65309,176.92354 C 189.36218,178.40741 191.42943,179.36548 193.46423,180.3183 C 192.55098,181.87022 191.63037,183.42067 190.8466,185.04486 C 190.40196,185.94852 189.96339,186.85629 189.5309,187.76819 C 188.37097,187.81241 187.21324,187.85486 186.05771,187.89552 C 185.9843,187.11815 185.83749,185.56343 185.76408,184.78607 C 185.71069,183.52399 185.65602,182.26434 185.60005,181.00714 C 182.72588,180.54941 179.8241,180.30496 176.91717,180.24614 C 176.29776,182.73607 175.65363,185.22086 174.96268,187.69421 C 174.32806,185.33081 173.73618,182.95897 173.1712,180.58177 C 171.05333,180.26695 168.93483,179.95554 166.80785,179.74002 C 165.188,179.616 163.56529,179.58398 161.94577,179.51827 C 159.0363,179.40034 156.15546,178.964 153.263,178.68098 C 149.53801,178.22418 145.78941,178.47679 142.05266,178.47015 C 136.893,178.22888 131.99915,176.37636 127.01036,175.20825 C 127.2222,172.13721 127.20105,169.05441 126.9034,165.99136 z " + id="path222" /> + <path + style="fill:#b3662b;fill-rule:nonzero;stroke:none" + d="M 126.9034,165.99136 C 128.95099,165.94299 130.99945,165.88606 133.05031,165.93111 C 137.43355,168.16565 142.06876,169.96419 147.01276,170.40964 C 156.58743,172.18567 166.29604,172.94031 175.9704,173.96439 C 179.94879,174.48712 184.65176,173.60933 187.65309,176.92354 C 189.36218,178.40741 191.42943,179.36548 193.46423,180.3183 C 192.55098,181.87022 191.63037,183.42067 190.8466,185.04486 C 190.40196,185.94852 189.96339,186.85629 189.5309,187.76819 C 188.37097,187.81241 187.21324,187.85486 186.05771,187.89552 C 185.9843,187.11815 185.83749,185.56343 185.76408,184.78607 C 185.71069,183.52399 185.65602,182.26434 185.60005,181.00714 C 182.72588,180.54941 179.8241,180.30496 176.91717,180.24614 C 176.29776,182.73607 175.65363,185.22086 174.96268,187.69421 C 174.32806,185.33081 173.73618,182.95897 173.1712,180.58177 C 171.05333,180.26695 168.93483,179.95554 166.80785,179.74002 C 165.188,179.616 163.56529,179.58398 161.94577,179.51827 C 159.0363,179.40034 156.15546,178.964 153.263,178.68098 C 149.53801,178.22418 145.78941,178.47679 142.05266,178.47015 C 136.893,178.22888 131.99915,176.37636 127.01036,175.20825 C 127.2222,172.13721 127.20105,169.05441 126.9034,165.99136 z " + id="path224" /> + <path + style="fill:none;stroke:#a65c28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 395.26489,169.95254 C 400.81718,169.16895 406.22343,167.6001 411.7722,166.78607 C 413.93509,166.8358 416.0966,167.00326 418.26328,167.15892 C 414.6936,168.60915 411.11003,170.0248 407.58902,171.58403 C 414.19324,174.34775 421.46193,174.11177 428.42777,175.1769 C 425.57935,176.83958 422.42509,178.06047 419.08076,178.00966 C 410.97787,178.0109 402.55412,179.175 394.81191,176.12952 C 390.55011,174.453 385.92847,175.39745 381.51584,174.78088 C 380.38953,173.6002 379.52094,172.21257 378.60789,170.87843 C 384.15015,170.4142 389.74922,170.79317 395.26489,169.95254 z " + id="path226" /> + <path + style="fill:#a65c28;fill-rule:nonzero;stroke:none" + d="M 395.26489,169.95254 C 400.81718,169.16895 406.22343,167.6001 411.7722,166.78607 C 413.93509,166.8358 416.0966,167.00326 418.26328,167.15892 C 414.6936,168.60915 411.11003,170.0248 407.58902,171.58403 C 414.19324,174.34775 421.46193,174.11177 428.42777,175.1769 C 425.57935,176.83958 422.42509,178.06047 419.08076,178.00966 C 410.97787,178.0109 402.55412,179.175 394.81191,176.12952 C 390.55011,174.453 385.92847,175.39745 381.51584,174.78088 C 380.38953,173.6002 379.52094,172.21257 378.60789,170.87843 C 384.15015,170.4142 389.74922,170.79317 395.26489,169.95254 z " + id="path228" /> + <path + style="fill:none;stroke:#ab7d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 187.52576,173.10525 C 188.11708,170.67116 189.00829,167.62376 192.01945,167.47444 C 196.0249,169.96106 195.13603,175.59473 192.48979,178.75592 C 190.83447,177.75337 189.18652,176.74788 187.54681,175.73062 C 187.54155,175.07428 187.53102,173.7616 187.52576,173.10525 z " + id="path230" /> + <path + style="fill:#ab7d23;fill-rule:nonzero;stroke:none" + d="M 187.52576,173.10525 C 188.11708,170.67116 189.00829,167.62376 192.01945,167.47444 C 196.0249,169.96106 195.13603,175.59473 192.48979,178.75592 C 190.83447,177.75337 189.18652,176.74788 187.54681,175.73062 C 187.54155,175.07428 187.53102,173.7616 187.52576,173.10525 z " + id="path232" /> + <path + style="fill:none;stroke:#ab7d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 196.05977,168.67932 C 200.99052,166.89475 206.48009,172.88989 203.37447,177.39613 C 201.5009,178.48273 199.30307,177.92418 197.28241,177.79593 C 196.63675,174.7917 196.27214,171.7401 196.05977,168.67932 z " + id="path234" /> + <path + style="fill:#ab7d23;fill-rule:nonzero;stroke:none" + d="M 196.05977,168.67932 C 200.99052,166.89475 206.48009,172.88989 203.37447,177.39613 C 201.5009,178.48273 199.30307,177.92418 197.28241,177.79593 C 196.63675,174.7917 196.27214,171.7401 196.05977,168.67932 z " + id="path236" /> + <path + style="fill:none;stroke:#947026;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 212.06799,168.28778 C 215.2036,168.80039 217.51025,170.88748 218.52286,173.86919 C 216.79288,173.81914 215.06955,173.74811 213.34703,173.66261 C 212.90598,171.87262 212.46687,170.08293 212.06799,168.28778 z " + id="path238" /> + <path + style="fill:#947026;fill-rule:nonzero;stroke:none" + d="M 212.06799,168.28778 C 215.2036,168.80039 217.51025,170.88748 218.52286,173.86919 C 216.79288,173.81914 215.06955,173.74811 213.34703,173.66261 C 212.90598,171.87262 212.46687,170.08293 212.06799,168.28778 z " + id="path240" /> + <path + style="fill:none;stroke:#ab7d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 313.25883,170.1471 C 315.00018,169.1338 317.35434,168.14067 319.22903,169.42813 C 320.26938,170.91168 320.98651,172.58757 321.83878,174.18687 C 321.39142,174.45853 320.4967,175.00186 320.04935,175.27351 C 317.18819,177.60886 313.64796,178.63071 310.06828,177.31186 C 310.84402,174.86978 310.73737,171.57764 313.25883,170.1471 z " + id="path242" /> + <path + style="fill:#ab7d23;fill-rule:nonzero;stroke:none" + d="M 313.25883,170.1471 C 315.00018,169.1338 317.35434,168.14067 319.22903,169.42813 C 320.26938,170.91168 320.98651,172.58757 321.83878,174.18687 C 321.39142,174.45853 320.4967,175.00186 320.04935,175.27351 C 317.18819,177.60886 313.64796,178.63071 310.06828,177.31186 C 310.84402,174.86978 310.73737,171.57764 313.25883,170.1471 z " + id="path244" /> + <path + style="fill:none;stroke:#685c45;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 451.86414,169.03052 C 452.29192,168.95677 453.14748,168.8093 453.57526,168.73557 L 453.55223,169.5994 C 453.43079,173.34741 453.5359,177.14253 452.68024,180.8217 C 452.08624,183.87114 450.84168,186.82718 450.82776,189.96815 C 451.46722,194.114 453.62427,197.82341 454.61578,201.88264 C 455.12869,204.72643 455.59801,207.59273 455.72138,210.48764 C 455.09232,213.65346 454.20996,216.76245 453.2609,219.84642 C 454.86771,220.7509 456.4774,221.66153 458.0806,222.58998 C 458.30937,224.56006 457.91974,226.90651 459.4388,228.46298 C 460.45718,229.64313 461.61354,230.69647 462.74637,231.78003 C 461.48294,232.52141 460.1944,233.22046 458.88828,233.87042 C 459.24202,233.49442 459.94949,232.74242 460.30324,232.36642 C 458.19493,229.7403 456.51042,226.76114 456.01712,223.38977 C 454.369,222.2599 452.70963,221.15259 451.0527,220.04974 C 452.59303,216.55659 454.40672,212.98231 454.4377,209.07954 C 454.13625,203.51872 451.92892,198.33366 450.10661,193.14853 C 448.58649,189.23524 450.38365,185.20003 451.24429,181.36783 C 452.313,177.34775 452.36323,173.13818 451.86414,169.03052 z " + id="path246" /> + <path + style="fill:#685c45;fill-rule:nonzero;stroke:none" + d="M 451.86414,169.03052 C 452.29192,168.95677 453.14748,168.8093 453.57526,168.73557 L 453.55223,169.5994 C 453.43079,173.34741 453.5359,177.14253 452.68024,180.8217 C 452.08624,183.87114 450.84168,186.82718 450.82776,189.96815 C 451.46722,194.114 453.62427,197.82341 454.61578,201.88264 C 455.12869,204.72643 455.59801,207.59273 455.72138,210.48764 C 455.09232,213.65346 454.20996,216.76245 453.2609,219.84642 C 454.86771,220.7509 456.4774,221.66153 458.0806,222.58998 C 458.30937,224.56006 457.91974,226.90651 459.4388,228.46298 C 460.45718,229.64313 461.61354,230.69647 462.74637,231.78003 C 461.48294,232.52141 460.1944,233.22046 458.88828,233.87042 C 459.24202,233.49442 459.94949,232.74242 460.30324,232.36642 C 458.19493,229.7403 456.51042,226.76114 456.01712,223.38977 C 454.369,222.2599 452.70963,221.15259 451.0527,220.04974 C 452.59303,216.55659 454.40672,212.98231 454.4377,209.07954 C 454.13625,203.51872 451.92892,198.33366 450.10661,193.14853 C 448.58649,189.23524 450.38365,185.20003 451.24429,181.36783 C 452.313,177.34775 452.36323,173.13818 451.86414,169.03052 z " + id="path248" /> + <path + style="fill:none;stroke:#ab7d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 204.51953,169.60792 C 206.71237,169.87419 209.77853,168.4885 211.21031,170.79025 C 212.36598,172.5372 212.39601,174.7783 212.05342,176.77914 C 210.91722,178.16058 208.96658,179.12022 207.45303,177.68048 C 205.53946,175.43945 205.25845,172.34763 204.51953,169.60792 z " + id="path250" /> + <path + style="fill:#ab7d23;fill-rule:nonzero;stroke:none" + d="M 204.51953,169.60792 C 206.71237,169.87419 209.77853,168.4885 211.21031,170.79025 C 212.36598,172.5372 212.39601,174.7783 212.05342,176.77914 C 210.91722,178.16058 208.96658,179.12022 207.45303,177.68048 C 205.53946,175.43945 205.25845,172.34763 204.51953,169.60792 z " + id="path252" /> + <path + style="fill:none;stroke:#ab7d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 304.29729,174.80669 C 304.38393,171.69163 307.6411,170.42412 310.20572,169.80719 C 309.56082,172.49208 308.8024,175.14771 308.07013,177.81078 C 306.45854,177.35527 304.29395,176.90984 304.29729,174.80669 z " + id="path254" /> + <path + style="fill:#ab7d23;fill-rule:nonzero;stroke:none" + d="M 304.29729,174.80669 C 304.38393,171.69163 307.6411,170.42412 310.20572,169.80719 C 309.56082,172.49208 308.8024,175.14771 308.07013,177.81078 C 306.45854,177.35527 304.29395,176.90984 304.29729,174.80669 z " + id="path256" /> + <path + style="fill:none;stroke:#d4ab57;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 452.68024,180.8217 C 453.5359,177.14253 453.43079,173.34741 453.55223,169.5994 C 457.47795,169.78966 461.33327,170.78464 463.90265,173.96815 C 462.61881,178.84584 461.67691,183.80328 460.64485,188.73846 C 458.84265,194.66744 463.59282,199.79858 463.62552,205.65971 C 461.14722,203.3448 457.93114,202.25331 454.61578,201.88264 C 453.62427,197.82341 451.46722,194.114 450.82776,189.96815 C 450.84168,186.82718 452.08624,183.87114 452.68024,180.8217 z " + id="path258" /> + <path + style="fill:#d4ab57;fill-rule:nonzero;stroke:none" + d="M 452.68024,180.8217 C 453.5359,177.14253 453.43079,173.34741 453.55223,169.5994 C 457.47795,169.78966 461.33327,170.78464 463.90265,173.96815 C 462.61881,178.84584 461.67691,183.80328 460.64485,188.73846 C 458.84265,194.66744 463.59282,199.79858 463.62552,205.65971 C 461.14722,203.3448 457.93114,202.25331 454.61578,201.88264 C 453.62427,197.82341 451.46722,194.114 450.82776,189.96815 C 450.84168,186.82718 452.08624,183.87114 452.68024,180.8217 z " + id="path260" /> + <path + style="fill:none;stroke:#ab7d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 299.24271,171.11932 C 300.77002,170.30688 302.6135,170.22008 303.63329,171.86208 C 303.21931,173.97771 303.29443,177.32405 300.48215,177.62088 C 296.56081,178.80865 296.22505,172.20432 299.24271,171.11932 z " + id="path262" /> + <path + style="fill:#ab7d23;fill-rule:nonzero;stroke:none" + d="M 299.24271,171.11932 C 300.77002,170.30688 302.6135,170.22008 303.63329,171.86208 C 303.21931,173.97771 303.29443,177.32405 300.48215,177.62088 C 296.56081,178.80865 296.22505,172.20432 299.24271,171.11932 z " + id="path264" /> + <path + style="fill:none;stroke:#b5682e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 347.40301,173.98498 C 357.71802,172.1875 368.20812,171.96925 378.60789,170.87843 C 379.52094,172.21257 380.38953,173.6002 381.51584,174.78088 C 385.92847,175.39745 390.55011,174.453 394.81191,176.12952 C 402.55412,179.175 410.97787,178.0109 419.08076,178.00966 C 422.42509,178.06047 425.57935,176.83958 428.42777,175.1769 C 430.1895,175.32025 431.96098,175.40692 433.73822,175.42918 C 433.52634,178.39848 435.32924,180.7404 437.07259,182.92596 C 439.08995,184.97308 437.59227,187.85643 437.26677,190.25911 C 429.79919,190.11282 422.4054,188.8947 414.9418,188.72551 C 408.19135,188.48012 401.33575,188.61202 394.73666,186.97633 C 393.12302,186.42235 391.55156,185.75987 389.98785,185.10463 C 396.1899,182.88776 402.86795,183.52644 409.30508,182.73628 C 405.36496,181.37367 401.2233,180.58546 397.04541,180.77017 C 385.59769,181.25913 374.27686,179.20831 362.92346,178.1295 C 356.98271,177.60612 351.02629,177.21661 345.13394,176.27589 C 344.78101,177.72478 344.43022,179.17465 344.0853,180.62735 C 340.44495,180.2596 336.75972,180.27982 333.17284,181.05609 C 339.64806,184.4882 347.32651,182.91119 354.17361,185.19673 C 353.02942,187.72647 351.60561,190.28413 348.94397,191.47337 C 340.56369,190.96487 332.19263,190.3474 323.84035,189.51874 C 323.79561,186.81572 323.74231,184.11571 323.66975,181.4165 C 316.36052,181.4924 309.05661,181.88112 301.74922,181.85692 C 301.17377,181.82407 300.02289,181.75838 299.44745,181.72554 C 297.04913,181.53569 294.65036,181.3622 292.24866,181.34152 C 283.9039,180.78104 275.03302,181.93756 267.2833,178.10974 C 273.21504,175.57332 279.7411,176.56355 285.99612,176.41499 C 289.4613,176.33267 292.93224,176.72849 296.24454,177.78683 C 300.01634,179.07114 304.04074,178.50545 307.93027,179.00743 C 310.94957,179.21024 314.13205,180.1535 317.05449,178.90927 C 320.94432,177.29231 325.04111,176.20818 329.26036,175.95372 C 335.3322,175.55456 341.35957,174.6837 347.40301,173.98498 z " + id="path266" /> + <path + style="fill:#b5682e;fill-rule:nonzero;stroke:none" + d="M 347.40301,173.98498 C 357.71802,172.1875 368.20812,171.96925 378.60789,170.87843 C 379.52094,172.21257 380.38953,173.6002 381.51584,174.78088 C 385.92847,175.39745 390.55011,174.453 394.81191,176.12952 C 402.55412,179.175 410.97787,178.0109 419.08076,178.00966 C 422.42509,178.06047 425.57935,176.83958 428.42777,175.1769 C 430.1895,175.32025 431.96098,175.40692 433.73822,175.42918 C 433.52634,178.39848 435.32924,180.7404 437.07259,182.92596 C 439.08995,184.97308 437.59227,187.85643 437.26677,190.25911 C 429.79919,190.11282 422.4054,188.8947 414.9418,188.72551 C 408.19135,188.48012 401.33575,188.61202 394.73666,186.97633 C 393.12302,186.42235 391.55156,185.75987 389.98785,185.10463 C 396.1899,182.88776 402.86795,183.52644 409.30508,182.73628 C 405.36496,181.37367 401.2233,180.58546 397.04541,180.77017 C 385.59769,181.25913 374.27686,179.20831 362.92346,178.1295 C 356.98271,177.60612 351.02629,177.21661 345.13394,176.27589 C 344.78101,177.72478 344.43022,179.17465 344.0853,180.62735 C 340.44495,180.2596 336.75972,180.27982 333.17284,181.05609 C 339.64806,184.4882 347.32651,182.91119 354.17361,185.19673 C 353.02942,187.72647 351.60561,190.28413 348.94397,191.47337 C 340.56369,190.96487 332.19263,190.3474 323.84035,189.51874 C 323.79561,186.81572 323.74231,184.11571 323.66975,181.4165 C 316.36052,181.4924 309.05661,181.88112 301.74922,181.85692 C 301.17377,181.82407 300.02289,181.75838 299.44745,181.72554 C 297.04913,181.53569 294.65036,181.3622 292.24866,181.34152 C 283.9039,180.78104 275.03302,181.93756 267.2833,178.10974 C 273.21504,175.57332 279.7411,176.56355 285.99612,176.41499 C 289.4613,176.33267 292.93224,176.72849 296.24454,177.78683 C 300.01634,179.07114 304.04074,178.50545 307.93027,179.00743 C 310.94957,179.21024 314.13205,180.1535 317.05449,178.90927 C 320.94432,177.29231 325.04111,176.20818 329.26036,175.95372 C 335.3322,175.55456 341.35957,174.6837 347.40301,173.98498 z " + id="path268" /> + <path + style="fill:none;stroke:#b0682e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 72.264755,175.15453 C 73.436157,174.67387 74.627518,174.24464 75.81813,173.81416 C 78.920074,175.66487 82.237503,177.53551 85.973679,177.44917 C 91.381088,177.47153 96.808533,177.13968 102.18881,177.90173 C 102.27393,179.34422 102.33946,180.7899 102.38541,182.23874 C 102.04861,184.52016 101.66298,186.79532 101.25317,189.06744 C 96.304565,188.80753 91.354813,188.50043 86.440628,187.84882 C 85.312912,183.28517 81.667389,179.78149 77.097137,178.74239 C 74.331741,178.0386 71.528748,177.50249 68.741928,176.90018 C 69.904739,176.29471 71.079025,175.71281 72.264755,175.15453 z " + id="path270" /> + <path + style="fill:#b0682e;fill-rule:nonzero;stroke:none" + d="M 72.264755,175.15453 C 73.436157,174.67387 74.627518,174.24464 75.81813,173.81416 C 78.920074,175.66487 82.237503,177.53551 85.973679,177.44917 C 91.381088,177.47153 96.808533,177.13968 102.18881,177.90173 C 102.27393,179.34422 102.33946,180.7899 102.38541,182.23874 C 102.04861,184.52016 101.66298,186.79532 101.25317,189.06744 C 96.304565,188.80753 91.354813,188.50043 86.440628,187.84882 C 85.312912,183.28517 81.667389,179.78149 77.097137,178.74239 C 74.331741,178.0386 71.528748,177.50249 68.741928,176.90018 C 69.904739,176.29471 71.079025,175.71281 72.264755,175.15453 z " + id="path272" /> + <path + style="fill:none;stroke:#171411;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 65.0065,176.02272 C 67.267548,174.9006 69.806229,174.65839 72.264755,175.15453 C 71.079025,175.71281 69.904739,176.29471 68.741928,176.90018 C 65.47644,178.68207 61.639786,180.6871 60.692261,184.62399 C 59.700623,188.26703 59.215195,192.91269 62.344421,195.69488 C 68.142258,201.32991 79.432159,201.63852 84.446381,194.79373 C 85.633347,193.24745 86.71669,191.62654 87.824509,190.02553 C 87.942902,191.29813 88.062515,192.57314 88.183365,193.85054 C 85.661652,196.72302 83.133484,199.97682 79.33197,201.16981 C 74.974625,202.48039 70.335968,201.75862 65.95575,200.94147 C 62.745544,199.00301 59.368576,196.54688 58.249435,192.78105 C 57.503235,189.66391 58.17511,186.42212 59.014114,183.39632 C 59.675049,182.01827 60.403763,180.67479 61.215622,179.38306 C 62.415619,178.19255 63.687454,177.07713 65.0065,176.02272 z " + id="path274" /> + <path + style="fill:#171411;fill-rule:nonzero;stroke:none" + d="M 65.0065,176.02272 C 67.267548,174.9006 69.806229,174.65839 72.264755,175.15453 C 71.079025,175.71281 69.904739,176.29471 68.741928,176.90018 C 65.47644,178.68207 61.639786,180.6871 60.692261,184.62399 C 59.700623,188.26703 59.215195,192.91269 62.344421,195.69488 C 68.142258,201.32991 79.432159,201.63852 84.446381,194.79373 C 85.633347,193.24745 86.71669,191.62654 87.824509,190.02553 C 87.942902,191.29813 88.062515,192.57314 88.183365,193.85054 C 85.661652,196.72302 83.133484,199.97682 79.33197,201.16981 C 74.974625,202.48039 70.335968,201.75862 65.95575,200.94147 C 62.745544,199.00301 59.368576,196.54688 58.249435,192.78105 C 57.503235,189.66391 58.17511,186.42212 59.014114,183.39632 C 59.675049,182.01827 60.403763,180.67479 61.215622,179.38306 C 62.415619,178.19255 63.687454,177.07713 65.0065,176.02272 z " + id="path276" /> + <path + style="fill:none;stroke:#38281c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 104.21666,174.6794 C 108.58058,174.86548 112.91287,174.19661 117.26097,173.95619 C 119.38588,174.47536 121.49698,175.05685 123.60283,175.65685 C 123.0858,178.45526 122.56358,181.25702 122.24167,184.0882 C 118.92145,183.80048 115.58843,183.76227 112.26024,183.6887 C 112.80145,184.63049 113.34422,185.57452 113.88856,186.52083 C 114.35761,190.32638 110.78827,192.7135 109.43146,195.93278 C 108.42319,197.88068 107.33881,199.79248 106.08754,201.59831 C 104.11923,201.22613 102.14923,200.87474 100.17848,200.53302 C 100.19559,198.72885 100.20821,196.92558 100.31023,195.12813 C 100.53455,193.09317 100.89271,191.07837 101.25317,189.06744 C 101.66298,186.79532 102.04861,184.52016 102.38541,182.23874 C 102.88115,179.69151 103.53921,177.18098 104.21666,174.6794 z " + id="path278" /> + <path + style="fill:#38281c;fill-rule:nonzero;stroke:none" + d="M 104.21666,174.6794 C 108.58058,174.86548 112.91287,174.19661 117.26097,173.95619 C 119.38588,174.47536 121.49698,175.05685 123.60283,175.65685 C 123.0858,178.45526 122.56358,181.25702 122.24167,184.0882 C 118.92145,183.80048 115.58843,183.76227 112.26024,183.6887 C 112.80145,184.63049 113.34422,185.57452 113.88856,186.52083 C 114.35761,190.32638 110.78827,192.7135 109.43146,195.93278 C 108.42319,197.88068 107.33881,199.79248 106.08754,201.59831 C 104.11923,201.22613 102.14923,200.87474 100.17848,200.53302 C 100.19559,198.72885 100.20821,196.92558 100.31023,195.12813 C 100.53455,193.09317 100.89271,191.07837 101.25317,189.06744 C 101.66298,186.79532 102.04861,184.52016 102.38541,182.23874 C 102.88115,179.69151 103.53921,177.18098 104.21666,174.6794 z " + id="path280" /> + <path + style="fill:none;stroke:#977d4c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 463.90265,173.96815 C 466.60143,174.64482 469.3448,175.13602 472.09358,175.59984 C 469.74861,175.72253 467.40866,175.85284 465.07268,175.97965 C 464.41655,180.51936 463.43655,185.00005 462.5262,189.49298 C 461.41919,194.00182 464.17316,198.1048 465.11789,202.37112 C 465.13293,206.31844 463.91644,210.2782 464.48366,214.20509 C 466.28191,217.57982 469.12778,220.25548 471.4932,223.2345 L 471.99478,223.82651 C 470.987,224.58743 469.98784,225.34979 468.9774,226.09749 C 467.87022,222.00742 465.20395,218.70868 462.66895,215.42781 C 461.65321,214.30721 462.15723,212.73859 462.28735,211.41273 C 462.71533,209.49017 463.23035,207.58806 463.62552,205.65971 C 463.59282,199.79858 458.84265,194.66744 460.64485,188.73846 C 461.67691,183.80328 462.61881,178.84584 463.90265,173.96815 z " + id="path282" /> + <path + style="fill:#977d4c;fill-rule:nonzero;stroke:none" + d="M 463.90265,173.96815 C 466.60143,174.64482 469.3448,175.13602 472.09358,175.59984 C 469.74861,175.72253 467.40866,175.85284 465.07268,175.97965 C 464.41655,180.51936 463.43655,185.00005 462.5262,189.49298 C 461.41919,194.00182 464.17316,198.1048 465.11789,202.37112 C 465.13293,206.31844 463.91644,210.2782 464.48366,214.20509 C 466.28191,217.57982 469.12778,220.25548 471.4932,223.2345 L 471.99478,223.82651 C 470.987,224.58743 469.98784,225.34979 468.9774,226.09749 C 467.87022,222.00742 465.20395,218.70868 462.66895,215.42781 C 461.65321,214.30721 462.15723,212.73859 462.28735,211.41273 C 462.71533,209.49017 463.23035,207.58806 463.62552,205.65971 C 463.59282,199.79858 458.84265,194.66744 460.64485,188.73846 C 461.67691,183.80328 462.61881,178.84584 463.90265,173.96815 z " + id="path284" /> + <path + style="fill:none;stroke:#b8682b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 11.745087,175.64035 C 14.657761,176.71571 17.370529,178.26639 19.737518,180.27986 C 23.791168,183.64255 28.628662,185.84325 33.440125,187.88631 C 30.982452,189.06303 28.539749,190.27119 26.078308,191.44173 C 22.419678,185.19116 16.213898,181.19347 11.745087,175.64035 z " + id="path286" /> + <path + style="fill:#b8682b;fill-rule:nonzero;stroke:none" + d="M 11.745087,175.64035 C 14.657761,176.71571 17.370529,178.26639 19.737518,180.27986 C 23.791168,183.64255 28.628662,185.84325 33.440125,187.88631 C 30.982452,189.06303 28.539749,190.27119 26.078308,191.44173 C 22.419678,185.19116 16.213898,181.19347 11.745087,175.64035 z " + id="path288" /> + <path + style="fill:none;stroke:#a65926;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 28.447815,176.45329 C 39.398148,177.11008 50.267654,178.69402 61.215622,179.38306 C 60.403763,180.67479 59.675049,182.01827 59.014114,183.39632 C 51.439011,184.80054 43.902664,182.24341 36.309509,182.97185 C 42.975204,185.61092 50.343765,185.13739 57.091599,187.50487 C 55.323074,187.77975 53.554703,188.05069 51.785324,188.31612 C 52.005188,189.28111 52.224609,190.24814 52.445618,191.21829 C 47.197159,191.13908 41.963013,191.53137 36.725723,191.78323 C 34.738297,191.5677 32.754532,191.32513 30.772415,191.07376 C 31.649277,189.9988 32.523209,188.92326 33.440125,187.88631 C 33.817932,187.73202 34.573578,187.42349 34.951401,187.26921 C 31.335938,185.11736 27.579346,183.22156 23.900024,181.1871 C 25.733841,181.13501 27.567917,181.08694 29.40242,181.04239 C 29.082855,179.51117 28.765396,177.9808 28.447815,176.45329 z " + id="path290" /> + <path + style="fill:#a65926;fill-rule:nonzero;stroke:none" + d="M 28.447815,176.45329 C 39.398148,177.11008 50.267654,178.69402 61.215622,179.38306 C 60.403763,180.67479 59.675049,182.01827 59.014114,183.39632 C 51.439011,184.80054 43.902664,182.24341 36.309509,182.97185 C 42.975204,185.61092 50.343765,185.13739 57.091599,187.50487 C 55.323074,187.77975 53.554703,188.05069 51.785324,188.31612 C 52.005188,189.28111 52.224609,190.24814 52.445618,191.21829 C 47.197159,191.13908 41.963013,191.53137 36.725723,191.78323 C 34.738297,191.5677 32.754532,191.32513 30.772415,191.07376 C 31.649277,189.9988 32.523209,188.92326 33.440125,187.88631 C 33.817932,187.73202 34.573578,187.42349 34.951401,187.26921 C 31.335938,185.11736 27.579346,183.22156 23.900024,181.1871 C 25.733841,181.13501 27.567917,181.08694 29.40242,181.04239 C 29.082855,179.51117 28.765396,177.9808 28.447815,176.45329 z " + id="path292" /> + <path + style="fill:none;stroke:#a35926;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 345.13394,176.27589 C 351.02629,177.21661 356.98271,177.60612 362.92346,178.1295 C 374.27686,179.20831 385.59769,181.25913 397.04541,180.77017 C 401.2233,180.58546 405.36496,181.37367 409.30508,182.73628 C 402.86795,183.52644 396.1899,182.88776 389.98785,185.10463 C 391.55156,185.75987 393.12302,186.42235 394.73666,186.97633 C 391.49805,188.12355 388.48018,189.78987 385.69511,191.78975 C 393.63545,194.23044 402.00255,194.14828 410.20793,194.78271 C 406.88097,195.10144 403.64096,195.93565 400.44752,196.87826 C 400.85619,197.1624 401.67351,197.73067 402.08217,198.0148 C 399.04526,199.14302 395.97823,200.183 392.90794,201.20543 C 393.17175,209.45258 394.50552,217.68535 393.79517,225.94629 C 393.3226,231.87117 392.89934,237.80022 392.5419,243.73451 C 392.23145,243.67424 391.61054,243.55368 391.30006,243.49341 C 391.41951,230.72539 391.06828,217.77977 387.52486,205.42239 C 383.33012,205.3559 379.13628,205.50226 374.95979,205.86078 C 376.32875,212.91895 377.39731,220.06764 377.25494,227.28001 C 372.47406,227.57074 367.68745,227.13968 362.99879,226.20695 C 362.89587,224.86682 362.80682,223.52889 362.73163,222.19315 C 366.11583,221.69865 369.49992,221.18762 372.88348,220.66316 C 372.56804,216.73505 372.66286,212.62807 371.0742,208.94728 C 370.56262,206.84061 368.0862,207.18338 366.42923,206.9614 C 366.40791,206.48587 366.36527,205.53482 366.34395,205.0593 C 359.53438,205.09482 352.23628,206.55501 345.99437,203.00842 C 351.18658,201.84561 356.52121,201.61682 361.82643,201.76857 C 361.23586,200.65732 360.65553,199.54437 360.0775,198.43703 C 364.05602,198.56313 368.04234,199.03847 372.02608,198.73021 C 370.97758,195.38551 367.50337,193.74591 364.36719,192.90552 C 359.31038,191.76353 354.08997,191.81601 348.94397,191.47337 C 351.60561,190.28413 353.02942,187.72647 354.17361,185.19673 C 347.32651,182.91119 339.64806,184.4882 333.17284,181.05609 C 336.75972,180.27982 340.44495,180.2596 344.0853,180.62735 C 344.43022,179.17465 344.78101,177.72478 345.13394,176.27589 z " + id="path294" /> + <path + style="fill:#a35926;fill-rule:nonzero;stroke:none" + d="M 345.13394,176.27589 C 351.02629,177.21661 356.98271,177.60612 362.92346,178.1295 C 374.27686,179.20831 385.59769,181.25913 397.04541,180.77017 C 401.2233,180.58546 405.36496,181.37367 409.30508,182.73628 C 402.86795,183.52644 396.1899,182.88776 389.98785,185.10463 C 391.55156,185.75987 393.12302,186.42235 394.73666,186.97633 C 391.49805,188.12355 388.48018,189.78987 385.69511,191.78975 C 393.63545,194.23044 402.00255,194.14828 410.20793,194.78271 C 406.88097,195.10144 403.64096,195.93565 400.44752,196.87826 C 400.85619,197.1624 401.67351,197.73067 402.08217,198.0148 C 399.04526,199.14302 395.97823,200.183 392.90794,201.20543 C 393.17175,209.45258 394.50552,217.68535 393.79517,225.94629 C 393.3226,231.87117 392.89934,237.80022 392.5419,243.73451 C 392.23145,243.67424 391.61054,243.55368 391.30006,243.49341 C 391.41951,230.72539 391.06828,217.77977 387.52486,205.42239 C 383.33012,205.3559 379.13628,205.50226 374.95979,205.86078 C 376.32875,212.91895 377.39731,220.06764 377.25494,227.28001 C 372.47406,227.57074 367.68745,227.13968 362.99879,226.20695 C 362.89587,224.86682 362.80682,223.52889 362.73163,222.19315 C 366.11583,221.69865 369.49992,221.18762 372.88348,220.66316 C 372.56804,216.73505 372.66286,212.62807 371.0742,208.94728 C 370.56262,206.84061 368.0862,207.18338 366.42923,206.9614 C 366.40791,206.48587 366.36527,205.53482 366.34395,205.0593 C 359.53438,205.09482 352.23628,206.55501 345.99437,203.00842 C 351.18658,201.84561 356.52121,201.61682 361.82643,201.76857 C 361.23586,200.65732 360.65553,199.54437 360.0775,198.43703 C 364.05602,198.56313 368.04234,199.03847 372.02608,198.73021 C 370.97758,195.38551 367.50337,193.74591 364.36719,192.90552 C 359.31038,191.76353 354.08997,191.81601 348.94397,191.47337 C 351.60561,190.28413 353.02942,187.72647 354.17361,185.19673 C 347.32651,182.91119 339.64806,184.4882 333.17284,181.05609 C 336.75972,180.27982 340.44495,180.2596 344.0853,180.62735 C 344.43022,179.17465 344.78101,177.72478 345.13394,176.27589 z " + id="path296" /> + <path + style="fill:none;stroke:#cfa857;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 465.07268,175.97965 C 467.40866,175.85284 469.74861,175.72253 472.09358,175.59984 C 472.82072,176.40814 473.55653,177.21623 474.301,178.02406 C 474.0703,182.66928 472.76715,187.61641 474.71361,192.06288 C 476.90631,195.92906 480.72305,198.47078 483.70344,201.68077 C 477.53239,202.59135 471.29419,201.60628 465.11789,202.37112 C 464.17316,198.1048 461.41919,194.00182 462.5262,189.49298 C 463.43655,185.00005 464.41655,180.51936 465.07268,175.97965 z " + id="path298" /> + <path + style="fill:#cfa857;fill-rule:nonzero;stroke:none" + d="M 465.07268,175.97965 C 467.40866,175.85284 469.74861,175.72253 472.09358,175.59984 C 472.82072,176.40814 473.55653,177.21623 474.301,178.02406 C 474.0703,182.66928 472.76715,187.61641 474.71361,192.06288 C 476.90631,195.92906 480.72305,198.47078 483.70344,201.68077 C 477.53239,202.59135 471.29419,201.60628 465.11789,202.37112 C 464.17316,198.1048 461.41919,194.00182 462.5262,189.49298 C 463.43655,185.00005 464.41655,180.51936 465.07268,175.97965 z " + id="path300" /> + <path + style="fill:none;stroke:#9e5726;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 60.692261,184.62399 C 61.639786,180.6871 65.47644,178.68207 68.741928,176.90018 C 71.528748,177.50249 74.331741,178.0386 77.097137,178.74239 C 73.885849,178.41705 70.148712,178.24911 67.679932,180.72531 C 64.447769,183.43112 63.363968,189.25304 67.094925,192.01849 C 71.194733,195.72955 77.069336,194.2724 82.074478,194.60004 C 82.66745,194.64845 83.853409,194.7453 84.446381,194.79373 C 79.432159,201.63852 68.142258,201.32991 62.344421,195.69488 C 59.215195,192.91269 59.700623,188.26703 60.692261,184.62399 z " + id="path302" /> + <path + style="fill:#9e5726;fill-rule:nonzero;stroke:none" + d="M 60.692261,184.62399 C 61.639786,180.6871 65.47644,178.68207 68.741928,176.90018 C 71.528748,177.50249 74.331741,178.0386 77.097137,178.74239 C 73.885849,178.41705 70.148712,178.24911 67.679932,180.72531 C 64.447769,183.43112 63.363968,189.25304 67.094925,192.01849 C 71.194733,195.72955 77.069336,194.2724 82.074478,194.60004 C 82.66745,194.64845 83.853409,194.7453 84.446381,194.79373 C 79.432159,201.63852 68.142258,201.32991 62.344421,195.69488 C 59.215195,192.91269 59.700623,188.26703 60.692261,184.62399 z " + id="path304" /> + <path + style="fill:none;stroke:#dcba6e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 104.95613,176.77486 C 110.41769,176.58166 115.88771,176.54994 121.34874,176.80675 C 121.16567,178.42856 120.96729,180.0519 120.77467,181.67705 C 117.2173,181.68524 113.65584,181.78946 110.12747,182.26561 C 109.86221,183.37006 109.60265,184.47969 109.34319,185.58983 C 110.60925,186.5443 111.86691,187.51398 113.08957,188.52975 C 111.83789,188.88446 110.58449,189.23021 109.32935,189.56699 C 108.84274,190.72267 108.36404,191.88266 107.89136,193.04803 C 106.70555,192.83983 105.52092,192.63486 104.33749,192.43314 C 104.12007,190.59247 103.8904,188.75409 103.74406,186.91048 C 103.85149,183.50163 104.58765,180.15642 104.95613,176.77486 z " + id="path306" /> + <path + style="fill:#dcba6e;fill-rule:nonzero;stroke:none" + d="M 104.95613,176.77486 C 110.41769,176.58166 115.88771,176.54994 121.34874,176.80675 C 121.16567,178.42856 120.96729,180.0519 120.77467,181.67705 C 117.2173,181.68524 113.65584,181.78946 110.12747,182.26561 C 109.86221,183.37006 109.60265,184.47969 109.34319,185.58983 C 110.60925,186.5443 111.86691,187.51398 113.08957,188.52975 C 111.83789,188.88446 110.58449,189.23021 109.32935,189.56699 C 108.84274,190.72267 108.36404,191.88266 107.89136,193.04803 C 106.70555,192.83983 105.52092,192.63486 104.33749,192.43314 C 104.12007,190.59247 103.8904,188.75409 103.74406,186.91048 C 103.85149,183.50163 104.58765,180.15642 104.95613,176.77486 z " + id="path308" /> + <path + style="fill:none;stroke:#b3682e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 205.17119,178.43745 C 210.31857,180.50569 214.80949,176.06787 219.9418,176.41139 C 228.06987,176.7291 236.44566,175.56409 244.35239,177.95764 C 244.1247,179.29842 243.90459,180.64272 243.70167,181.99124 C 243.19298,185.47977 242.77622,188.9818 242.18413,192.45984 C 241.40739,188.96246 240.96738,185.40439 240.5136,181.85686 C 237.80559,181.9828 235.09984,182.12007 232.39476,182.23489 C 232.3325,182.66332 232.20801,183.52016 232.14577,183.94858 C 231.54233,186.30562 230.68568,188.61266 229.39165,190.68437 C 228.80643,188.05115 228.36919,185.39206 227.98244,182.72643 C 223.4984,182.44659 218.9422,181.86058 214.48453,182.65936 C 212.83891,184.39575 212.42911,186.86398 211.91834,189.10985 C 209.632,189.08023 207.34659,189.04947 205.06915,188.88632 C 202.84293,188.69394 200.63879,188.33109 198.45804,187.8662 C 200.99083,187.34499 203.54057,186.9042 206.09065,186.45908 C 205.85069,183.77635 205.55478,181.10068 205.17119,178.43745 z " + id="path310" /> + <path + style="fill:#b3682e;fill-rule:nonzero;stroke:none" + d="M 205.17119,178.43745 C 210.31857,180.50569 214.80949,176.06787 219.9418,176.41139 C 228.06987,176.7291 236.44566,175.56409 244.35239,177.95764 C 244.1247,179.29842 243.90459,180.64272 243.70167,181.99124 C 243.19298,185.47977 242.77622,188.9818 242.18413,192.45984 C 241.40739,188.96246 240.96738,185.40439 240.5136,181.85686 C 237.80559,181.9828 235.09984,182.12007 232.39476,182.23489 C 232.3325,182.66332 232.20801,183.52016 232.14577,183.94858 C 231.54233,186.30562 230.68568,188.61266 229.39165,190.68437 C 228.80643,188.05115 228.36919,185.39206 227.98244,182.72643 C 223.4984,182.44659 218.9422,181.86058 214.48453,182.65936 C 212.83891,184.39575 212.42911,186.86398 211.91834,189.10985 C 209.632,189.08023 207.34659,189.04947 205.06915,188.88632 C 202.84293,188.69394 200.63879,188.33109 198.45804,187.8662 C 200.99083,187.34499 203.54057,186.9042 206.09065,186.45908 C 205.85069,183.77635 205.55478,181.10068 205.17119,178.43745 z " + id="path312" /> + <path + style="fill:none;stroke:#2e2319;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 126.63234,178.4478 C 129.61815,178.32603 132.62087,178.0777 135.60442,178.39381 C 138.49449,184.82822 139.99837,191.90718 141.36932,198.82448 C 139.65494,199.47965 137.95717,200.17488 136.23863,200.81606 C 133.75755,200.70529 131.49902,199.65968 129.42055,198.38539 C 127.40184,199.32849 125.42003,200.66519 123.13434,200.75752 C 121.43788,200.23007 120.01862,199.11552 118.50615,198.23116 C 119.30391,195.64658 120.06105,193.04825 121.02388,190.52075 C 121.72978,188.75052 122.50258,187.00981 123.31197,185.28732 C 124.39642,182.99585 125.52731,180.72777 126.63234,178.4478 z " + id="path314" /> + <path + style="fill:#2e2319;fill-rule:nonzero;stroke:none" + d="M 126.63234,178.4478 C 129.61815,178.32603 132.62087,178.0777 135.60442,178.39381 C 138.49449,184.82822 139.99837,191.90718 141.36932,198.82448 C 139.65494,199.47965 137.95717,200.17488 136.23863,200.81606 C 133.75755,200.70529 131.49902,199.65968 129.42055,198.38539 C 127.40184,199.32849 125.42003,200.66519 123.13434,200.75752 C 121.43788,200.23007 120.01862,199.11552 118.50615,198.23116 C 119.30391,195.64658 120.06105,193.04825 121.02388,190.52075 C 121.72978,188.75052 122.50258,187.00981 123.31197,185.28732 C 124.39642,182.99585 125.52731,180.72777 126.63234,178.4478 z " + id="path316" /> + <path + style="fill:none;stroke:#9e5723;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 244.35239,177.95764 C 251.743,180.12567 259.91995,180.66527 267.2833,178.10974 C 275.03302,181.93756 283.9039,180.78104 292.24866,181.34152 C 288.7435,181.64508 285.30571,182.41559 281.87837,183.16589 C 281.53296,191.01945 281.72287,198.88893 282.19991,206.73393 C 281.67299,206.66916 280.61919,206.5396 280.09227,206.47482 C 279.06641,199.16577 276.57704,192.13158 273.56407,185.42654 C 271.52182,180.60619 265.20592,183.23604 261.22589,183.19109 C 260.33369,188.90068 259.32437,194.59131 258.2424,200.26881 C 257.19641,199.80267 256.1535,199.33933 255.11369,198.87878 C 254.76195,193.36749 254.01451,187.88998 253.63922,182.38091 C 250.32555,182.24002 247.01209,182.127 243.70167,181.99124 C 243.90459,180.64272 244.1247,179.29842 244.35239,177.95764 z " + id="path318" /> + <path + style="fill:#9e5723;fill-rule:nonzero;stroke:none" + d="M 244.35239,177.95764 C 251.743,180.12567 259.91995,180.66527 267.2833,178.10974 C 275.03302,181.93756 283.9039,180.78104 292.24866,181.34152 C 288.7435,181.64508 285.30571,182.41559 281.87837,183.16589 C 281.53296,191.01945 281.72287,198.88893 282.19991,206.73393 C 281.67299,206.66916 280.61919,206.5396 280.09227,206.47482 C 279.06641,199.16577 276.57704,192.13158 273.56407,185.42654 C 271.52182,180.60619 265.20592,183.23604 261.22589,183.19109 C 260.33369,188.90068 259.32437,194.59131 258.2424,200.26881 C 257.19641,199.80267 256.1535,199.33933 255.11369,198.87878 C 254.76195,193.36749 254.01451,187.88998 253.63922,182.38091 C 250.32555,182.24002 247.01209,182.127 243.70167,181.99124 C 243.90459,180.64272 244.1247,179.29842 244.35239,177.95764 z " + id="path320" /> + <path + style="fill:none;stroke:#917a4c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 474.301,178.02406 C 476.19076,178.21312 478.08302,178.4565 479.95171,178.85143 C 478.90082,178.81932 477.85567,178.80678 476.81628,178.8138 C 476.25078,183.19871 474.31314,188.14809 476.80141,192.26256 C 479.79495,195.62628 483.45256,198.4257 485.70802,202.42058 C 482.69798,205.13676 479.68951,207.85492 476.78882,210.68622 C 478.13759,211.96565 479.49435,213.24393 480.86185,214.517 C 480.26494,214.83868 479.07115,215.48204 478.47426,215.80371 C 477.57793,213.90381 476.33659,212.13391 475.85701,210.07025 C 477.74908,206.71904 481.19572,204.56421 483.70344,201.68077 C 480.72305,198.47078 476.90631,195.92906 474.71361,192.06288 C 472.76715,187.61641 474.0703,182.66928 474.301,178.02406 z " + id="path322" /> + <path + style="fill:#917a4c;fill-rule:nonzero;stroke:none" + d="M 474.301,178.02406 C 476.19076,178.21312 478.08302,178.4565 479.95171,178.85143 C 478.90082,178.81932 477.85567,178.80678 476.81628,178.8138 C 476.25078,183.19871 474.31314,188.14809 476.80141,192.26256 C 479.79495,195.62628 483.45256,198.4257 485.70802,202.42058 C 482.69798,205.13676 479.68951,207.85492 476.78882,210.68622 C 478.13759,211.96565 479.49435,213.24393 480.86185,214.517 C 480.26494,214.83868 479.07115,215.48204 478.47426,215.80371 C 477.57793,213.90381 476.33659,212.13391 475.85701,210.07025 C 477.74908,206.71904 481.19572,204.56421 483.70344,201.68077 C 480.72305,198.47078 476.90631,195.92906 474.71361,192.06288 C 472.76715,187.61641 474.0703,182.66928 474.301,178.02406 z " + id="path324" /> + <path + style="fill:none;stroke:#171411;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 67.679932,180.72531 C 70.148712,178.24911 73.885849,178.41705 77.097137,178.74239 C 81.667389,179.78149 85.312912,183.28517 86.440628,187.84882 C 84.94873,190.07457 83.491089,192.32388 82.074478,194.60004 C 77.069336,194.2724 71.194733,195.72955 67.094925,192.01849 C 63.363968,189.25304 64.447769,183.43112 67.679932,180.72531 z " + id="path326" /> + <path + style="fill:#171411;fill-rule:nonzero;stroke:none" + d="M 67.679932,180.72531 C 70.148712,178.24911 73.885849,178.41705 77.097137,178.74239 C 81.667389,179.78149 85.312912,183.28517 86.440628,187.84882 C 84.94873,190.07457 83.491089,192.32388 82.074478,194.60004 C 77.069336,194.2724 71.194733,195.72955 67.094925,192.01849 C 63.363968,189.25304 64.447769,183.43112 67.679932,180.72531 z " + id="path328" /> + <path + style="fill:none;stroke:#453521;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 145.6869,182.68025 C 146.76044,179.57689 150.57762,179.42757 153.263,178.68098 C 156.15546,178.964 159.0363,179.40034 161.94577,179.51827 C 161.50278,181.75618 161.0587,183.99599 160.60951,186.23523 C 158.48523,186.57747 156.36319,186.92479 154.24262,187.27489 C 153.82681,188.83633 153.4127,190.39916 153.0029,191.9655 C 155.74094,192.1476 158.48183,192.29581 161.22472,192.44225 C 160.98039,195.67322 161.77354,199.67703 159.14239,202.13716 C 155.68628,203.24747 151.92543,203.00789 148.38252,202.489 C 145.93285,202.19559 144.74026,199.7496 143.24387,198.11191 C 143.93512,192.96007 143.88965,187.6144 145.6869,182.68025 z " + id="path330" /> + <path + style="fill:#453521;fill-rule:nonzero;stroke:none" + d="M 145.6869,182.68025 C 146.76044,179.57689 150.57762,179.42757 153.263,178.68098 C 156.15546,178.964 159.0363,179.40034 161.94577,179.51827 C 161.50278,181.75618 161.0587,183.99599 160.60951,186.23523 C 158.48523,186.57747 156.36319,186.92479 154.24262,187.27489 C 153.82681,188.83633 153.4127,190.39916 153.0029,191.9655 C 155.74094,192.1476 158.48183,192.29581 161.22472,192.44225 C 160.98039,195.67322 161.77354,199.67703 159.14239,202.13716 C 155.68628,203.24747 151.92543,203.00789 148.38252,202.489 C 145.93285,202.19559 144.74026,199.7496 143.24387,198.11191 C 143.93512,192.96007 143.88965,187.6144 145.6869,182.68025 z " + id="path332" /> + <path + style="fill:none;stroke:#a85e28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 161.94577,179.51827 C 163.56529,179.58398 165.188,179.616 166.80785,179.74002 C 163.86083,186.02249 164.33127,193.1539 164.24373,199.91064 C 163.88957,203.00914 167.8391,204.20479 170.28136,203.50441 C 172.23482,201.18919 173.14589,198.23578 174.45691,195.55309 C 175.06703,198.08156 174.99696,200.79204 176.03278,203.20265 C 177.90439,204.58806 180.60545,203.96729 182.82501,204.27008 C 183.25171,200.78279 183.64687,197.29228 184.18455,193.82179 C 186.01874,194.28134 187.85731,194.74451 189.71919,195.10217 C 189.36832,198.22212 189.1918,201.35994 189.18535,204.50189 C 194.2131,204.70796 199.38263,205.42169 204.32588,204.15607 C 208.01356,203.26221 208.54704,198.95497 209.80278,196.00146 C 210.459,195.60518 211.11807,195.2117 211.78003,194.82101 C 212.23947,197.98396 210.96135,202.82089 214.58913,204.43195 C 218.68729,206.03777 223.19992,205.68661 227.51721,205.84053 C 227.7845,202.66374 228.05434,199.48759 228.40628,196.32146 C 229.53999,196.6362 230.6817,196.9341 231.83141,197.21512 C 232.02667,200.49977 232.47528,203.76466 233.04056,207.00725 C 235.80455,206.89635 238.57118,206.79437 241.33887,206.69046 C 242.05121,204.38325 242.77397,202.08147 243.51164,199.78418 C 244.3613,202.37863 244.77168,205.24675 246.48598,207.46027 C 248.93428,207.83997 251.42352,207.75334 253.89682,207.80022 C 254.42068,204.84363 254.91762,201.87616 255.11369,198.87878 C 256.1535,199.33933 257.19641,199.80267 258.2424,200.26881 C 257.8848,202.17642 257.54555,204.08775 257.2191,206.00392 C 264.84532,205.62321 272.48666,205.77315 280.09227,206.47482 C 280.61919,206.5396 281.67299,206.66916 282.19991,206.73393 C 284.97061,207.11726 287.74263,207.50731 290.5177,207.88989 C 290.30878,204.22819 290.41267,200.46835 292.0468,197.10577 C 295.91429,192.8904 301.87047,194.14014 306.89293,194.75639 C 306.94168,198.52113 306.88123,202.28828 306.77771,206.0537 C 310.2747,206.18616 313.77447,206.31203 317.2782,206.34515 C 317.09602,207.20561 316.96983,208.07788 316.84624,208.95229 C 318.50304,209.26585 320.1637,209.58356 321.82777,209.90047 C 320.40981,211.06151 318.39189,212.07878 318.24815,214.13707 C 317.55395,218.8829 317.82301,223.70418 317.68811,228.48666 C 316.84084,226.9111 315.91215,225.38464 315.07986,223.80826 C 314.57542,219.97168 314.04866,216.13986 313.4731,212.31587 C 309.56364,211.89526 305.49262,210.87642 301.61115,211.8909 C 299.77643,213.05905 298.75787,215.10915 297.44415,216.78363 C 296.84656,215.10701 296.24542,213.4337 295.64868,211.76393 C 291.29633,211.457 286.91258,211.67166 282.65724,212.66434 C 282.91406,218.29764 283.00916,223.93727 282.94588,229.57788 C 279.65469,229.14157 276.72589,227.52943 274.35329,225.24658 C 275.511,221.97069 277.0511,218.20003 275.14114,214.88036 C 273.74008,211.72771 270.31116,210.09363 266.99519,210.00346 C 259.39624,209.31998 252.15565,212.04282 244.86763,213.67255 C 243.41695,213.63409 241.97191,213.52057 240.53595,213.3559 C 235.99814,212.59978 231.42215,212.09471 226.82373,211.96609 C 226.0112,210.79246 225.20784,209.61772 224.40724,208.44409 C 215.41489,209.25096 206.06825,208.34128 197.48335,211.64752 L 196.95628,211.07933 C 190.96828,207.56328 183.69597,208.13097 177.01892,207.67239 C 175.86079,211.57826 174.71449,215.48857 173.45783,219.36569 C 171.20891,215.62767 169.89267,211.33099 167.17172,207.89468 C 162.38745,206.0993 157.12842,207.05475 152.144,207.10655 C 151.73413,209.04224 151.32143,210.97937 150.98225,212.93242 C 149.48505,213.51514 147.99138,214.10388 146.49852,214.69449 C 146.03505,213.0798 145.56636,211.46947 145.13415,209.85165 C 144.78935,208.47513 144.42369,207.1075 144.06096,205.74216 C 140.41248,205.72626 136.75987,205.66128 133.11842,205.90382 C 134.70616,204.59554 135.60602,202.72783 136.23863,200.81606 C 137.95717,200.17488 139.65494,199.47965 141.36932,198.82448 C 141.99162,198.58247 142.61647,198.34495 143.24387,198.11191 C 144.74026,199.7496 145.93285,202.19559 148.38252,202.489 C 151.92543,203.00789 155.68628,203.24747 159.14239,202.13716 C 161.77354,199.67703 160.98039,195.67322 161.22472,192.44225 C 158.48183,192.29581 155.74094,192.1476 153.0029,191.9655 C 153.4127,190.39916 153.82681,188.83633 154.24262,187.27489 C 156.36319,186.92479 158.48523,186.57747 160.60951,186.23523 C 161.0587,183.99599 161.50278,181.75618 161.94577,179.51827 z " + id="path334" /> + <path + style="fill:#a85e28;fill-rule:nonzero;stroke:none" + d="M 161.94577,179.51827 C 163.56529,179.58398 165.188,179.616 166.80785,179.74002 C 163.86083,186.02249 164.33127,193.1539 164.24373,199.91064 C 163.88957,203.00914 167.8391,204.20479 170.28136,203.50441 C 172.23482,201.18919 173.14589,198.23578 174.45691,195.55309 C 175.06703,198.08156 174.99696,200.79204 176.03278,203.20265 C 177.90439,204.58806 180.60545,203.96729 182.82501,204.27008 C 183.25171,200.78279 183.64687,197.29228 184.18455,193.82179 C 186.01874,194.28134 187.85731,194.74451 189.71919,195.10217 C 189.36832,198.22212 189.1918,201.35994 189.18535,204.50189 C 194.2131,204.70796 199.38263,205.42169 204.32588,204.15607 C 208.01356,203.26221 208.54704,198.95497 209.80278,196.00146 C 210.459,195.60518 211.11807,195.2117 211.78003,194.82101 C 212.23947,197.98396 210.96135,202.82089 214.58913,204.43195 C 218.68729,206.03777 223.19992,205.68661 227.51721,205.84053 C 227.7845,202.66374 228.05434,199.48759 228.40628,196.32146 C 229.53999,196.6362 230.6817,196.9341 231.83141,197.21512 C 232.02667,200.49977 232.47528,203.76466 233.04056,207.00725 C 235.80455,206.89635 238.57118,206.79437 241.33887,206.69046 C 242.05121,204.38325 242.77397,202.08147 243.51164,199.78418 C 244.3613,202.37863 244.77168,205.24675 246.48598,207.46027 C 248.93428,207.83997 251.42352,207.75334 253.89682,207.80022 C 254.42068,204.84363 254.91762,201.87616 255.11369,198.87878 C 256.1535,199.33933 257.19641,199.80267 258.2424,200.26881 C 257.8848,202.17642 257.54555,204.08775 257.2191,206.00392 C 264.84532,205.62321 272.48666,205.77315 280.09227,206.47482 C 280.61919,206.5396 281.67299,206.66916 282.19991,206.73393 C 284.97061,207.11726 287.74263,207.50731 290.5177,207.88989 C 290.30878,204.22819 290.41267,200.46835 292.0468,197.10577 C 295.91429,192.8904 301.87047,194.14014 306.89293,194.75639 C 306.94168,198.52113 306.88123,202.28828 306.77771,206.0537 C 310.2747,206.18616 313.77447,206.31203 317.2782,206.34515 C 317.09602,207.20561 316.96983,208.07788 316.84624,208.95229 C 318.50304,209.26585 320.1637,209.58356 321.82777,209.90047 C 320.40981,211.06151 318.39189,212.07878 318.24815,214.13707 C 317.55395,218.8829 317.82301,223.70418 317.68811,228.48666 C 316.84084,226.9111 315.91215,225.38464 315.07986,223.80826 C 314.57542,219.97168 314.04866,216.13986 313.4731,212.31587 C 309.56364,211.89526 305.49262,210.87642 301.61115,211.8909 C 299.77643,213.05905 298.75787,215.10915 297.44415,216.78363 C 296.84656,215.10701 296.24542,213.4337 295.64868,211.76393 C 291.29633,211.457 286.91258,211.67166 282.65724,212.66434 C 282.91406,218.29764 283.00916,223.93727 282.94588,229.57788 C 279.65469,229.14157 276.72589,227.52943 274.35329,225.24658 C 275.511,221.97069 277.0511,218.20003 275.14114,214.88036 C 273.74008,211.72771 270.31116,210.09363 266.99519,210.00346 C 259.39624,209.31998 252.15565,212.04282 244.86763,213.67255 C 243.41695,213.63409 241.97191,213.52057 240.53595,213.3559 C 235.99814,212.59978 231.42215,212.09471 226.82373,211.96609 C 226.0112,210.79246 225.20784,209.61772 224.40724,208.44409 C 215.41489,209.25096 206.06825,208.34128 197.48335,211.64752 L 196.95628,211.07933 C 190.96828,207.56328 183.69597,208.13097 177.01892,207.67239 C 175.86079,211.57826 174.71449,215.48857 173.45783,219.36569 C 171.20891,215.62767 169.89267,211.33099 167.17172,207.89468 C 162.38745,206.0993 157.12842,207.05475 152.144,207.10655 C 151.73413,209.04224 151.32143,210.97937 150.98225,212.93242 C 149.48505,213.51514 147.99138,214.10388 146.49852,214.69449 C 146.03505,213.0798 145.56636,211.46947 145.13415,209.85165 C 144.78935,208.47513 144.42369,207.1075 144.06096,205.74216 C 140.41248,205.72626 136.75987,205.66128 133.11842,205.90382 C 134.70616,204.59554 135.60602,202.72783 136.23863,200.81606 C 137.95717,200.17488 139.65494,199.47965 141.36932,198.82448 C 141.99162,198.58247 142.61647,198.34495 143.24387,198.11191 C 144.74026,199.7496 145.93285,202.19559 148.38252,202.489 C 151.92543,203.00789 155.68628,203.24747 159.14239,202.13716 C 161.77354,199.67703 160.98039,195.67322 161.22472,192.44225 C 158.48183,192.29581 155.74094,192.1476 153.0029,191.9655 C 153.4127,190.39916 153.82681,188.83633 154.24262,187.27489 C 156.36319,186.92479 158.48523,186.57747 160.60951,186.23523 C 161.0587,183.99599 161.50278,181.75618 161.94577,179.51827 z " + id="path336" /> + <path + style="fill:none;stroke:#d7ab57;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 476.81628,178.8138 C 477.85567,178.80678 478.90082,178.81932 479.95171,178.85143 C 482.74739,179.97472 486.75444,179.8813 488.7115,182.10326 C 488.60425,188.9382 490.74068,195.43149 491.97182,202.06969 C 489.87875,202.19873 487.79338,202.32286 485.70802,202.42058 C 483.45256,198.4257 479.79495,195.62628 476.80141,192.26256 C 474.31314,188.14809 476.25078,183.19871 476.81628,178.8138 z " + id="path338" /> + <path + style="fill:#d7ab57;fill-rule:nonzero;stroke:none" + d="M 476.81628,178.8138 C 477.85567,178.80678 478.90082,178.81932 479.95171,178.85143 C 482.74739,179.97472 486.75444,179.8813 488.7115,182.10326 C 488.60425,188.9382 490.74068,195.43149 491.97182,202.06969 C 489.87875,202.19873 487.79338,202.32286 485.70802,202.42058 C 483.45256,198.4257 479.79495,195.62628 476.80141,192.26256 C 474.31314,188.14809 476.25078,183.19871 476.81628,178.8138 z " + id="path340" /> + <path + style="fill:none;stroke:#2b2b2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 73.365326,180.15334 C 76.494049,179.30699 79.291779,181.68851 81.581223,183.49742 C 83.496033,184.71959 82.813995,187.28465 82.320953,189.09064 C 81.459396,193.21826 76.16188,192.97227 72.951004,192.22357 C 69.43605,191.67877 67.325012,187.73152 68.294998,184.43463 C 68.861008,182.07748 71.166367,180.70752 73.365326,180.15334 z " + id="path342" /> + <path + style="fill:#2b2b2b;fill-rule:nonzero;stroke:none" + d="M 73.365326,180.15334 C 76.494049,179.30699 79.291779,181.68851 81.581223,183.49742 C 83.496033,184.71959 82.813995,187.28465 82.320953,189.09064 C 81.459396,193.21826 76.16188,192.97227 72.951004,192.22357 C 69.43605,191.67877 67.325012,187.73152 68.294998,184.43463 C 68.861008,182.07748 71.166367,180.70752 73.365326,180.15334 z " + id="path344" /> + <path + style="fill:none;stroke:#d9b361;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 121.05035,198.7945 C 121.60034,191.99272 124.85362,185.71442 128.09512,179.84627 C 130.39964,179.62804 132.71841,179.73831 135.03105,179.7635 C 136.07513,185.89719 138.2305,191.79117 138.97844,197.97691 C 136.80531,198.30917 134.63043,198.62105 132.452,198.90352 C 131.6723,195.90596 131.16978,192.73438 129.3584,190.14116 C 128.22961,192.86726 127.3859,195.69685 126.49631,198.5081 C 124.68048,198.6151 122.86496,198.71152 121.05035,198.7945 z " + id="path346" /> + <path + style="fill:#d9b361;fill-rule:nonzero;stroke:none" + d="M 121.05035,198.7945 C 121.60034,191.99272 124.85362,185.71442 128.09512,179.84627 C 130.39964,179.62804 132.71841,179.73831 135.03105,179.7635 C 136.07513,185.89719 138.2305,191.79117 138.97844,197.97691 C 136.80531,198.30917 134.63043,198.62105 132.452,198.90352 C 131.6723,195.90596 131.16978,192.73438 129.3584,190.14116 C 128.22961,192.86726 127.3859,195.69685 126.49631,198.5081 C 124.68048,198.6151 122.86496,198.71152 121.05035,198.7945 z " + id="path348" /> + <path + style="fill:none;stroke:#3d2e1c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 166.80785,179.74002 C 168.93483,179.95554 171.05333,180.26695 173.1712,180.58177 C 173.73618,182.95897 174.32806,185.33081 174.96268,187.69421 C 175.65363,185.22086 176.29776,182.73607 176.91717,180.24614 C 179.8241,180.30496 182.72588,180.54941 185.60005,181.00714 C 185.65602,182.26434 185.71069,183.52399 185.76408,184.78607 C 185.29442,187.80685 184.64638,190.79764 184.18455,193.82179 C 183.64687,197.29228 183.25171,200.78279 182.82501,204.27008 C 180.60545,203.96729 177.90439,204.58806 176.03278,203.20265 C 174.99696,200.79204 175.06703,198.08156 174.45691,195.55309 C 173.14589,198.23578 172.23482,201.18919 170.28136,203.50441 C 167.8391,204.20479 163.88957,203.00914 164.24373,199.91064 C 164.33127,193.1539 163.86083,186.02249 166.80785,179.74002 z " + id="path350" /> + <path + style="fill:#3d2e1c;fill-rule:nonzero;stroke:none" + d="M 166.80785,179.74002 C 168.93483,179.95554 171.05333,180.26695 173.1712,180.58177 C 173.73618,182.95897 174.32806,185.33081 174.96268,187.69421 C 175.65363,185.22086 176.29776,182.73607 176.91717,180.24614 C 179.8241,180.30496 182.72588,180.54941 185.60005,181.00714 C 185.65602,182.26434 185.71069,183.52399 185.76408,184.78607 C 185.29442,187.80685 184.64638,190.79764 184.18455,193.82179 C 183.64687,197.29228 183.25171,200.78279 182.82501,204.27008 C 180.60545,203.96729 177.90439,204.58806 176.03278,203.20265 C 174.99696,200.79204 175.06703,198.08156 174.45691,195.55309 C 173.14589,198.23578 172.23482,201.18919 170.28136,203.50441 C 167.8391,204.20479 163.88957,203.00914 164.24373,199.91064 C 164.33127,193.1539 163.86083,186.02249 166.80785,179.74002 z " + id="path352" /> + <path + style="fill:none;stroke:#d9b05e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 192.36421,185.3671 C 193.96002,180.67775 199.70091,180.01012 203.97008,180.09981 C 204.29471,181.74695 204.57964,183.40268 204.85265,185.06381 C 201.58151,185.28943 197.78896,184.77515 195.85719,188.10669 C 198.79408,190.54677 202.79996,190.22609 206.08392,191.84982 C 208.10123,194.48086 208.00464,198.49658 206.14043,201.18236 C 201.55585,204.24814 195.44185,204.07603 190.35344,202.46823 C 190.52264,200.89131 190.69331,199.31677 190.86545,197.74464 C 194.0444,197.61804 197.67207,198.08659 199.90981,195.29816 C 196.60141,192.83844 190.96552,190.51068 192.36421,185.3671 z " + id="path354" /> + <path + style="fill:#d9b05e;fill-rule:nonzero;stroke:none" + d="M 192.36421,185.3671 C 193.96002,180.67775 199.70091,180.01012 203.97008,180.09981 C 204.29471,181.74695 204.57964,183.40268 204.85265,185.06381 C 201.58151,185.28943 197.78896,184.77515 195.85719,188.10669 C 198.79408,190.54677 202.79996,190.22609 206.08392,191.84982 C 208.10123,194.48086 208.00464,198.49658 206.14043,201.18236 C 201.55585,204.24814 195.44185,204.07603 190.35344,202.46823 C 190.52264,200.89131 190.69331,199.31677 190.86545,197.74464 C 194.0444,197.61804 197.67207,198.08659 199.90981,195.29816 C 196.60141,192.83844 190.96552,190.51068 192.36421,185.3671 z " + id="path356" /> + <path + style="fill:none;stroke:#dcb563;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 148.00432,182.01529 C 151.88237,180.93408 155.99701,181.28789 159.98474,181.10815 C 159.63106,182.26769 159.27905,183.4303 158.92468,184.59323 C 156.8752,184.99199 154.3699,184.44708 152.65745,185.78151 C 151.28061,188.44432 151.26323,191.55223 150.82811,194.46407 C 153.67822,194.54114 156.52994,194.5735 159.38312,194.62509 C 159.11787,196.50938 158.83473,198.39298 158.578,200.28307 C 154.51599,200.71037 150.4117,200.62926 146.36542,200.09532 C 146.25017,194.06558 145.60396,187.71815 148.00432,182.01529 z " + id="path358" /> + <path + style="fill:#dcb563;fill-rule:nonzero;stroke:none" + d="M 148.00432,182.01529 C 151.88237,180.93408 155.99701,181.28789 159.98474,181.10815 C 159.63106,182.26769 159.27905,183.4303 158.92468,184.59323 C 156.8752,184.99199 154.3699,184.44708 152.65745,185.78151 C 151.28061,188.44432 151.26323,191.55223 150.82811,194.46407 C 153.67822,194.54114 156.52994,194.5735 159.38312,194.62509 C 159.11787,196.50938 158.83473,198.39298 158.578,200.28307 C 154.51599,200.71037 150.4117,200.62926 146.36542,200.09532 C 146.25017,194.06558 145.60396,187.71815 148.00432,182.01529 z " + id="path360" /> + <path + style="fill:none;stroke:#2e2317;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 292.24866,181.34152 C 294.65036,181.3622 297.04913,181.53569 299.44745,181.72554 C 299.27879,184.27014 299.093,186.81494 298.88119,189.35846 C 296.80116,189.81873 294.72685,190.28091 292.65448,190.75455 C 292.52989,192.87576 292.42589,195.00816 292.0468,197.10577 C 290.41267,200.46835 290.30878,204.22819 290.5177,207.88989 C 287.74263,207.50731 284.97061,207.11726 282.19991,206.73393 C 281.72287,198.88893 281.53296,191.01945 281.87837,183.16589 C 285.30571,182.41559 288.7435,181.64508 292.24866,181.34152 z " + id="path362" /> + <path + style="fill:#2e2317;fill-rule:nonzero;stroke:none" + d="M 292.24866,181.34152 C 294.65036,181.3622 297.04913,181.53569 299.44745,181.72554 C 299.27879,184.27014 299.093,186.81494 298.88119,189.35846 C 296.80116,189.81873 294.72685,190.28091 292.65448,190.75455 C 292.52989,192.87576 292.42589,195.00816 292.0468,197.10577 C 290.41267,200.46835 290.30878,204.22819 290.5177,207.88989 C 287.74263,207.50731 284.97061,207.11726 282.19991,206.73393 C 281.72287,198.88893 281.53296,191.01945 281.87837,183.16589 C 285.30571,182.41559 288.7435,181.64508 292.24866,181.34152 z " + id="path364" /> + <path + style="fill:none;stroke:#261e1c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 301.74922,181.85692 C 309.05661,181.88112 316.36052,181.4924 323.66975,181.4165 C 323.74231,184.11571 323.79561,186.81572 323.84035,189.51874 C 321.52164,189.64244 319.22122,189.96822 316.92346,190.25174 C 316.81445,193.94881 317.1115,197.64099 317.66834,201.29668 C 317.76623,202.58246 317.88832,203.87497 317.87341,205.17102 C 317.72461,205.46455 317.427,206.05162 317.2782,206.34515 C 313.77447,206.31203 310.2747,206.18616 306.77771,206.0537 C 306.88123,202.28828 306.94168,198.52113 306.89293,194.75639 C 306.87038,193.69688 306.84879,192.63982 306.82816,191.58521 C 305.0076,191.09676 303.19122,190.60872 301.37892,190.11883 C 301.46945,187.3624 301.57971,184.60748 301.74922,181.85692 z " + id="path366" /> + <path + style="fill:#261e1c;fill-rule:nonzero;stroke:none" + d="M 301.74922,181.85692 C 309.05661,181.88112 316.36052,181.4924 323.66975,181.4165 C 323.74231,184.11571 323.79561,186.81572 323.84035,189.51874 C 321.52164,189.64244 319.22122,189.96822 316.92346,190.25174 C 316.81445,193.94881 317.1115,197.64099 317.66834,201.29668 C 317.76623,202.58246 317.88832,203.87497 317.87341,205.17102 C 317.72461,205.46455 317.427,206.05162 317.2782,206.34515 C 313.77447,206.31203 310.2747,206.18616 306.77771,206.0537 C 306.88123,202.28828 306.94168,198.52113 306.89293,194.75639 C 306.87038,193.69688 306.84879,192.63982 306.82816,191.58521 C 305.0076,191.09676 303.19122,190.60872 301.37892,190.11883 C 301.46945,187.3624 301.57971,184.60748 301.74922,181.85692 z " + id="path368" /> + <path + style="fill:none;stroke:#975123;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 36.309509,182.97185 C 43.902664,182.24341 51.439011,184.80054 59.014114,183.39632 C 58.17511,186.42212 57.503235,189.66391 58.249435,192.78105 C 59.368576,196.54688 62.745544,199.00301 65.95575,200.94147 C 58.805939,199.47838 51.38504,201.01466 44.306595,198.96135 C 42.126831,198.48337 39.955292,197.96768 37.760254,197.57057 C 41.362381,197.04504 44.772186,195.71863 48.100708,194.29688 C 44.342941,193.31451 40.564133,192.38979 36.725723,191.78323 C 41.963013,191.53137 47.197159,191.13908 52.445618,191.21829 C 52.224609,190.24814 52.005188,189.28111 51.785324,188.31612 C 53.554703,188.05069 55.323074,187.77975 57.091599,187.50487 C 50.343765,185.13739 42.975204,185.61092 36.309509,182.97185 z " + id="path370" /> + <path + style="fill:#975123;fill-rule:nonzero;stroke:none" + d="M 36.309509,182.97185 C 43.902664,182.24341 51.439011,184.80054 59.014114,183.39632 C 58.17511,186.42212 57.503235,189.66391 58.249435,192.78105 C 59.368576,196.54688 62.745544,199.00301 65.95575,200.94147 C 58.805939,199.47838 51.38504,201.01466 44.306595,198.96135 C 42.126831,198.48337 39.955292,197.96768 37.760254,197.57057 C 41.362381,197.04504 44.772186,195.71863 48.100708,194.29688 C 44.342941,193.31451 40.564133,192.38979 36.725723,191.78323 C 41.963013,191.53137 47.197159,191.13908 52.445618,191.21829 C 52.224609,190.24814 52.005188,189.28111 51.785324,188.31612 C 53.554703,188.05069 55.323074,187.77975 57.091599,187.50487 C 50.343765,185.13739 42.975204,185.61092 36.309509,182.97185 z " + id="path372" /> + <path + style="fill:none;stroke:#4c4c4c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 73.457336,182.41316 C 75.207489,181.93642 77.439789,181.85097 78.862076,183.15579 C 81.453049,186.10957 78.240295,191.63036 74.380753,190.58731 C 70.787582,189.81097 69.925949,183.85132 73.457336,182.41316 z " + id="path374" /> + <path + style="fill:#4c4c4c;fill-rule:nonzero;stroke:none" + d="M 73.457336,182.41316 C 75.207489,181.93642 77.439789,181.85097 78.862076,183.15579 C 81.453049,186.10957 78.240295,191.63036 74.380753,190.58731 C 70.787582,189.81097 69.925949,183.85132 73.457336,182.41316 z " + id="path376" /> + <path + style="fill:none;stroke:#3a3a35;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 128.37703,187.23553 C 128.8062,185.05751 128.65913,182.216 131.05606,181.15291 C 132.44553,182.67299 133.17523,184.68117 132.88275,186.7442 C 131.7169,188.10803 129.87445,187.21001 128.37703,187.23553 z " + id="path378" /> + <path + style="fill:#3a3a35;fill-rule:nonzero;stroke:none" + d="M 128.37703,187.23553 C 128.8062,185.05751 128.65913,182.216 131.05606,181.15291 C 132.44553,182.67299 133.17523,184.68117 132.88275,186.7442 C 131.7169,188.10803 129.87445,187.21001 128.37703,187.23553 z " + id="path380" /> + <path + style="fill:none;stroke:#d9b566;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 167.25569,182.25415 C 168.66344,182.17271 170.07459,182.09924 171.48727,182.02962 C 171.56657,184.87611 171.67749,187.7263 172.00264,190.56007 C 173.83993,190.52341 175.67973,190.49528 177.52089,190.46657 C 177.77666,187.64317 177.98236,184.81635 178.25954,181.99742 C 180.20082,182.05276 182.14259,182.12205 184.08701,182.2066 C 183.56984,188.92818 181.42491,195.43422 181.61168,202.24121 C 180.18547,202.25685 178.76189,202.26376 177.34035,202.26352 C 177.53436,199.61327 177.72211,196.9626 177.75273,194.30702 C 175.67007,194.25897 173.58916,194.25484 171.50974,194.29958 C 170.69057,196.85275 169.95224,199.43066 169.17058,201.99741 C 168.54735,201.76859 167.30087,201.31094 166.67764,201.08212 C 165.96878,194.83379 166.63219,188.49008 167.25569,182.25415 z " + id="path382" /> + <path + style="fill:#d9b566;fill-rule:nonzero;stroke:none" + d="M 167.25569,182.25415 C 168.66344,182.17271 170.07459,182.09924 171.48727,182.02962 C 171.56657,184.87611 171.67749,187.7263 172.00264,190.56007 C 173.83993,190.52341 175.67973,190.49528 177.52089,190.46657 C 177.77666,187.64317 177.98236,184.81635 178.25954,181.99742 C 180.20082,182.05276 182.14259,182.12205 184.08701,182.2066 C 183.56984,188.92818 181.42491,195.43422 181.61168,202.24121 C 180.18547,202.25685 178.76189,202.26376 177.34035,202.26352 C 177.53436,199.61327 177.72211,196.9626 177.75273,194.30702 C 175.67007,194.25897 173.58916,194.25484 171.50974,194.29958 C 170.69057,196.85275 169.95224,199.43066 169.17058,201.99741 C 168.54735,201.76859 167.30087,201.31094 166.67764,201.08212 C 165.96878,194.83379 166.63219,188.49008 167.25569,182.25415 z " + id="path384" /> + <path + style="fill:none;stroke:#3d2e19;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 214.48453,182.65936 C 218.9422,181.86058 223.4984,182.44659 227.98244,182.72643 C 228.36919,185.39206 228.80643,188.05115 229.39165,190.68437 C 226.40793,191.42281 223.36975,191.91092 220.36424,192.53571 C 222.95015,193.98207 225.60582,195.32928 228.40628,196.32146 C 228.05434,199.48759 227.7845,202.66374 227.51721,205.84053 C 223.19992,205.68661 218.68729,206.03777 214.58913,204.43195 C 210.96135,202.82089 212.23947,197.98396 211.78003,194.82101 C 211.77269,192.91434 211.80182,191.00919 211.91834,189.10985 C 212.42911,186.86398 212.83891,184.39575 214.48453,182.65936 z " + id="path386" /> + <path + style="fill:#3d2e19;fill-rule:nonzero;stroke:none" + d="M 214.48453,182.65936 C 218.9422,181.86058 223.4984,182.44659 227.98244,182.72643 C 228.36919,185.39206 228.80643,188.05115 229.39165,190.68437 C 226.40793,191.42281 223.36975,191.91092 220.36424,192.53571 C 222.95015,193.98207 225.60582,195.32928 228.40628,196.32146 C 228.05434,199.48759 227.7845,202.66374 227.51721,205.84053 C 223.19992,205.68661 218.68729,206.03777 214.58913,204.43195 C 210.96135,202.82089 212.23947,197.98396 211.78003,194.82101 C 211.77269,192.91434 211.80182,191.00919 211.91834,189.10985 C 212.42911,186.86398 212.83891,184.39575 214.48453,182.65936 z " + id="path388" /> + <path + style="fill:none;stroke:#302619;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 232.39476,182.23489 C 235.09984,182.12007 237.80559,181.9828 240.5136,181.85686 C 240.96738,185.40439 241.40739,188.96246 242.18413,192.45984 C 242.77622,188.9818 243.19298,185.47977 243.70167,181.99124 C 247.01209,182.127 250.32555,182.24002 253.63922,182.38091 C 254.01451,187.88998 254.76195,193.36749 255.11369,198.87878 C 254.91762,201.87616 254.42068,204.84363 253.89682,207.80022 C 251.42352,207.75334 248.93428,207.83997 246.48598,207.46027 C 244.77168,205.24675 244.3613,202.37863 243.51164,199.78418 C 242.77397,202.08147 242.05121,204.38325 241.33887,206.69046 C 238.57118,206.79437 235.80455,206.89635 233.04056,207.00725 C 232.47528,203.76466 232.02667,200.49977 231.83141,197.21512 C 231.68219,192.79169 231.74472,188.35606 232.14577,183.94858 C 232.20801,183.52016 232.3325,182.66332 232.39476,182.23489 z " + id="path390" /> + <path + style="fill:#302619;fill-rule:nonzero;stroke:none" + d="M 232.39476,182.23489 C 235.09984,182.12007 237.80559,181.9828 240.5136,181.85686 C 240.96738,185.40439 241.40739,188.96246 242.18413,192.45984 C 242.77622,188.9818 243.19298,185.47977 243.70167,181.99124 C 247.01209,182.127 250.32555,182.24002 253.63922,182.38091 C 254.01451,187.88998 254.76195,193.36749 255.11369,198.87878 C 254.91762,201.87616 254.42068,204.84363 253.89682,207.80022 C 251.42352,207.75334 248.93428,207.83997 246.48598,207.46027 C 244.77168,205.24675 244.3613,202.37863 243.51164,199.78418 C 242.77397,202.08147 242.05121,204.38325 241.33887,206.69046 C 238.57118,206.79437 235.80455,206.89635 233.04056,207.00725 C 232.47528,203.76466 232.02667,200.49977 231.83141,197.21512 C 231.68219,192.79169 231.74472,188.35606 232.14577,183.94858 C 232.20801,183.52016 232.3325,182.66332 232.39476,182.23489 z " + id="path392" /> + <path + style="fill:none;stroke:#784523;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 299.44745,181.72554 C 300.02289,181.75838 301.17377,181.82407 301.74922,181.85692 C 301.57971,184.60748 301.46945,187.3624 301.37892,190.11883 C 303.19122,190.60872 305.0076,191.09676 306.82816,191.58521 C 306.84879,192.63982 306.87038,193.69688 306.89293,194.75639 C 301.87047,194.14014 295.91429,192.8904 292.0468,197.10577 C 292.42589,195.00816 292.52989,192.87576 292.65448,190.75455 C 294.72685,190.28091 296.80116,189.81873 298.88119,189.35846 C 299.093,186.81494 299.27879,184.27014 299.44745,181.72554 z " + id="path394" /> + <path + style="fill:#784523;fill-rule:nonzero;stroke:none" + d="M 299.44745,181.72554 C 300.02289,181.75838 301.17377,181.82407 301.74922,181.85692 C 301.57971,184.60748 301.46945,187.3624 301.37892,190.11883 C 303.19122,190.60872 305.0076,191.09676 306.82816,191.58521 C 306.84879,192.63982 306.87038,193.69688 306.89293,194.75639 C 301.87047,194.14014 295.91429,192.8904 292.0468,197.10577 C 292.42589,195.00816 292.52989,192.87576 292.65448,190.75455 C 294.72685,190.28091 296.80116,189.81873 298.88119,189.35846 C 299.093,186.81494 299.27879,184.27014 299.44745,181.72554 z " + id="path396" /> + <path + style="fill:none;stroke:#977a4a;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 488.7115,182.10326 C 489.57808,182.5737 490.46222,183.06125 491.33514,183.55545 C 490.72636,186.50853 490.83084,189.55855 491.73431,192.44643 C 492.12407,193.92726 492.56314,195.39909 492.96445,196.88406 C 493.70007,199.82928 494.54088,202.74837 495.44087,205.65077 C 494.39595,205.73286 493.35031,205.80637 492.3188,205.88486 C 492.21373,204.60902 492.09807,203.3373 491.97182,202.06969 C 490.74068,195.43149 488.60425,188.9382 488.7115,182.10326 z " + id="path398" /> + <path + style="fill:#977a4a;fill-rule:nonzero;stroke:none" + d="M 488.7115,182.10326 C 489.57808,182.5737 490.46222,183.06125 491.33514,183.55545 C 490.72636,186.50853 490.83084,189.55855 491.73431,192.44643 C 492.12407,193.92726 492.56314,195.39909 492.96445,196.88406 C 493.70007,199.82928 494.54088,202.74837 495.44087,205.65077 C 494.39595,205.73286 493.35031,205.80637 492.3188,205.88486 C 492.21373,204.60902 492.09807,203.3373 491.97182,202.06969 C 490.74068,195.43149 488.60425,188.9382 488.7115,182.10326 z " + id="path400" /> + <path + style="fill:none;stroke:#453523;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 261.22589,183.19109 C 265.20592,183.23604 271.52182,180.60619 273.56407,185.42654 C 276.57704,192.13158 279.06641,199.16577 280.09227,206.47482 C 272.48666,205.77315 264.84532,205.62321 257.2191,206.00392 C 257.54555,204.08775 257.8848,202.17642 258.2424,200.26881 C 259.32437,194.59131 260.33369,188.90068 261.22589,183.19109 z " + id="path402" /> + <path + style="fill:#453523;fill-rule:nonzero;stroke:none" + d="M 261.22589,183.19109 C 265.20592,183.23604 271.52182,180.60619 273.56407,185.42654 C 276.57704,192.13158 279.06641,199.16577 280.09227,206.47482 C 272.48666,205.77315 264.84532,205.62321 257.2191,206.00392 C 257.54555,204.08775 257.8848,202.17642 258.2424,200.26881 C 259.32437,194.59131 260.33369,188.90068 261.22589,183.19109 z " + id="path404" /> + <path + style="fill:none;stroke:#dcba6b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 283.00415,184.46002 C 287.82164,183.37733 292.75684,183.00407 297.68765,182.98734 C 297.66026,184.84714 297.64354,186.71005 297.63837,188.57411 C 294.44641,188.79391 291.26385,189.11206 288.09785,189.54944 C 287.51672,192.31418 289.57776,193.78606 291.71703,195.01666 C 290.63271,195.87389 289.51506,196.69032 288.5049,197.63271 C 287.84935,200.24414 288.53548,202.9966 288.52014,205.6597 C 286.90797,205.64269 285.29945,205.62203 283.69461,205.5977 C 283.82135,198.5408 283.64117,191.48854 283.00415,184.46002 z " + id="path406" /> + <path + style="fill:#dcba6b;fill-rule:nonzero;stroke:none" + d="M 283.00415,184.46002 C 287.82164,183.37733 292.75684,183.00407 297.68765,182.98734 C 297.66026,184.84714 297.64354,186.71005 297.63837,188.57411 C 294.44641,188.79391 291.26385,189.11206 288.09785,189.54944 C 287.51672,192.31418 289.57776,193.78606 291.71703,195.01666 C 290.63271,195.87389 289.51506,196.69032 288.5049,197.63271 C 287.84935,200.24414 288.53548,202.9966 288.52014,205.6597 C 286.90797,205.64269 285.29945,205.62203 283.69461,205.5977 C 283.82135,198.5408 283.64117,191.48854 283.00415,184.46002 z " + id="path408" /> + <path + style="fill:none;stroke:#dcb868;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 302.52199,183.72536 C 309.13033,183.14923 315.76682,183.18658 322.39545,183.09378 C 322.36699,184.60921 322.33931,186.12766 322.30804,187.64783 C 319.94502,187.98796 317.59363,188.37462 315.26558,188.88388 C 315.43208,194.08597 315.46602,199.29923 315.96573,204.48583 C 313.38789,204.49924 310.81337,204.49937 308.24075,204.51028 C 308.80779,199.55775 308.69026,194.56523 308.45664,189.59761 C 306.58623,189.42441 304.71503,189.27957 302.84985,189.12988 C 302.71971,187.32687 302.60889,185.52557 302.52199,183.72536 z " + id="path410" /> + <path + style="fill:#dcb868;fill-rule:nonzero;stroke:none" + d="M 302.52199,183.72536 C 309.13033,183.14923 315.76682,183.18658 322.39545,183.09378 C 322.36699,184.60921 322.33931,186.12766 322.30804,187.64783 C 319.94502,187.98796 317.59363,188.37462 315.26558,188.88388 C 315.43208,194.08597 315.46602,199.29923 315.96573,204.48583 C 313.38789,204.49924 310.81337,204.49937 308.24075,204.51028 C 308.80779,199.55775 308.69026,194.56523 308.45664,189.59761 C 306.58623,189.42441 304.71503,189.27957 302.84985,189.12988 C 302.71971,187.32687 302.60889,185.52557 302.52199,183.72536 z " + id="path412" /> + <path + style="fill:none;stroke:#b86e2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 112.26024,183.6887 C 115.58843,183.76227 118.92145,183.80048 122.24167,184.0882 C 122.50925,184.38798 123.04439,184.98755 123.31197,185.28732 C 122.50258,187.00981 121.72978,188.75052 121.02388,190.52075 C 118.29517,189.925 115.18718,189.33104 113.88856,186.52083 C 113.34422,185.57452 112.80145,184.63049 112.26024,183.6887 z " + id="path414" /> + <path + style="fill:#b86e2e;fill-rule:nonzero;stroke:none" + d="M 112.26024,183.6887 C 115.58843,183.76227 118.92145,183.80048 122.24167,184.0882 C 122.50925,184.38798 123.04439,184.98755 123.31197,185.28732 C 122.50258,187.00981 121.72978,188.75052 121.02388,190.52075 C 118.29517,189.925 115.18718,189.33104 113.88856,186.52083 C 113.34422,185.57452 112.80145,184.63049 112.26024,183.6887 z " + id="path416" /> + <path + style="fill:none;stroke:#dcb366;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 214.61398,184.34872 C 218.61592,184.01239 222.63676,184.03001 226.64983,184.16496 C 226.62338,186.00429 226.6198,187.84607 226.64414,189.68955 C 223.94727,189.90619 221.08511,189.54622 218.56033,190.6981 C 218.13806,192.60403 218.91086,194.46286 219.40138,196.27527 C 221.5369,196.41457 223.67323,196.5681 225.8087,196.76567 C 225.77493,199.0914 225.75479,201.41997 225.76889,203.7497 C 222.98276,203.65662 220.17699,203.77675 217.41554,203.36237 C 215.661,203.11366 213.75871,201.9492 213.68846,199.99632 C 213.10011,194.76396 213.90659,189.52457 214.61398,184.34872 z " + id="path418" /> + <path + style="fill:#dcb366;fill-rule:nonzero;stroke:none" + d="M 214.61398,184.34872 C 218.61592,184.01239 222.63676,184.03001 226.64983,184.16496 C 226.62338,186.00429 226.6198,187.84607 226.64414,189.68955 C 223.94727,189.90619 221.08511,189.54622 218.56033,190.6981 C 218.13806,192.60403 218.91086,194.46286 219.40138,196.27527 C 221.5369,196.41457 223.67323,196.5681 225.8087,196.76567 C 225.77493,199.0914 225.75479,201.41997 225.76889,203.7497 C 222.98276,203.65662 220.17699,203.77675 217.41554,203.36237 C 215.661,203.11366 213.75871,201.9492 213.68846,199.99632 C 213.10011,194.76396 213.90659,189.52457 214.61398,184.34872 z " + id="path420" /> + <path + style="fill:none;stroke:#854c26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 229.39165,190.68437 C 230.68568,188.61266 231.54233,186.30562 232.14577,183.94858 C 231.74472,188.35606 231.68219,192.79169 231.83141,197.21512 C 230.6817,196.9341 229.53999,196.6362 228.40628,196.32146 C 225.60582,195.32928 222.95015,193.98207 220.36424,192.53571 C 223.36975,191.91092 226.40793,191.42281 229.39165,190.68437 z " + id="path422" /> + <path + style="fill:#854c26;fill-rule:nonzero;stroke:none" + d="M 229.39165,190.68437 C 230.68568,188.61266 231.54233,186.30562 232.14577,183.94858 C 231.74472,188.35606 231.68219,192.79169 231.83141,197.21512 C 230.6817,196.9341 229.53999,196.6362 228.40628,196.32146 C 225.60582,195.32928 222.95015,193.98207 220.36424,192.53571 C 223.36975,191.91092 226.40793,191.42281 229.39165,190.68437 z " + id="path424" /> + <path + style="fill:none;stroke:#d9b361;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 233.15781,184.13948 C 235.23727,183.92558 237.31966,183.73149 239.4093,183.57666 C 239.51788,187.19133 239.26077,190.82924 239.7065,194.42967 C 241.27684,194.67598 242.87209,194.68765 244.46278,194.73351 C 244.63165,191.11179 244.63817,187.48627 244.76573,183.8654 C 247.26305,183.74231 249.76457,183.6718 252.26926,183.64586 C 252.62079,191.01045 252.9662,198.38054 252.71349,205.75624 C 250.77788,205.72992 248.84401,205.70479 246.91389,205.68396 C 246.66623,203.3262 246.48584,200.96483 246.28523,198.60661 C 244.36372,198.48761 242.44423,198.37489 240.52689,198.26837 C 240.41142,200.52304 240.30989,202.77934 240.18675,205.03722 C 238.16923,205.10278 236.155,205.15515 234.14201,205.19871 C 234.05965,198.16382 233.19756,191.17055 233.15781,184.13948 z " + id="path426" /> + <path + style="fill:#d9b361;fill-rule:nonzero;stroke:none" + d="M 233.15781,184.13948 C 235.23727,183.92558 237.31966,183.73149 239.4093,183.57666 C 239.51788,187.19133 239.26077,190.82924 239.7065,194.42967 C 241.27684,194.67598 242.87209,194.68765 244.46278,194.73351 C 244.63165,191.11179 244.63817,187.48627 244.76573,183.8654 C 247.26305,183.74231 249.76457,183.6718 252.26926,183.64586 C 252.62079,191.01045 252.9662,198.38054 252.71349,205.75624 C 250.77788,205.72992 248.84401,205.70479 246.91389,205.68396 C 246.66623,203.3262 246.48584,200.96483 246.28523,198.60661 C 244.36372,198.48761 242.44423,198.37489 240.52689,198.26837 C 240.41142,200.52304 240.30989,202.77934 240.18675,205.03722 C 238.16923,205.10278 236.155,205.15515 234.14201,205.19871 C 234.05965,198.16382 233.19756,191.17055 233.15781,184.13948 z " + id="path428" /> + <path + style="fill:none;stroke:#d9b566;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 262.98602,184.49451 C 265.61748,184.48642 268.24979,184.39603 270.88185,184.26079 C 273.51714,190.85309 276.51677,197.37093 277.82278,204.39934 C 275.20879,204.46433 272.59918,204.49486 269.98966,204.51646 C 268.82929,202.48578 267.64123,200.47128 266.27084,198.57855 C 265.39807,200.47432 264.60703,202.40662 263.85175,204.35341 C 262.35525,204.37907 260.86197,204.4015 259.37189,204.42067 C 260.87573,197.83211 261.83804,191.14696 262.98602,184.49451 z " + id="path430" /> + <path + style="fill:#d9b566;fill-rule:nonzero;stroke:none" + d="M 262.98602,184.49451 C 265.61748,184.48642 268.24979,184.39603 270.88185,184.26079 C 273.51714,190.85309 276.51677,197.37093 277.82278,204.39934 C 275.20879,204.46433 272.59918,204.49486 269.98966,204.51646 C 268.82929,202.48578 267.64123,200.47128 266.27084,198.57855 C 265.39807,200.47432 264.60703,202.40662 263.85175,204.35341 C 262.35525,204.37907 260.86197,204.4015 259.37189,204.42067 C 260.87573,197.83211 261.83804,191.14696 262.98602,184.49451 z " + id="path432" /> + <path + style="fill:none;stroke:#d9b05c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 491.73431,192.44643 C 490.83084,189.55855 490.72636,186.50853 491.33514,183.55545 C 494.98044,184.2081 499.28996,183.95138 501.96335,187.01231 C 503.29422,187.84958 502.78523,189.11273 501.88103,190.04187 C 498.76524,191.74081 495.17523,191.98344 491.73431,192.44643 z " + id="path434" /> + <path + style="fill:#d9b05c;fill-rule:nonzero;stroke:none" + d="M 491.73431,192.44643 C 490.83084,189.55855 490.72636,186.50853 491.33514,183.55545 C 494.98044,184.2081 499.28996,183.95138 501.96335,187.01231 C 503.29422,187.84958 502.78523,189.11273 501.88103,190.04187 C 498.76524,191.74081 495.17523,191.98344 491.73431,192.44643 z " + id="path436" /> + <path + style="fill:none;stroke:#824723;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 184.18455,193.82179 C 184.64638,190.79764 185.29442,187.80685 185.76408,184.78607 C 185.83749,185.56343 185.9843,187.11815 186.05771,187.89552 C 187.21324,187.85486 188.37097,187.81241 189.5309,187.76819 C 189.96339,186.85629 190.40196,185.94852 190.8466,185.04486 C 190.06053,189.66238 193.59558,192.95845 196.44229,195.99629 C 194.19128,195.76648 191.94307,195.50481 189.71919,195.10217 C 187.85731,194.74451 186.01874,194.28134 184.18455,193.82179 z " + id="path438" /> + <path + style="fill:#824723;fill-rule:nonzero;stroke:none" + d="M 184.18455,193.82179 C 184.64638,190.79764 185.29442,187.80685 185.76408,184.78607 C 185.83749,185.56343 185.9843,187.11815 186.05771,187.89552 C 187.21324,187.85486 188.37097,187.81241 189.5309,187.76819 C 189.96339,186.85629 190.40196,185.94852 190.8466,185.04486 C 190.06053,189.66238 193.59558,192.95845 196.44229,195.99629 C 194.19128,195.76648 191.94307,195.50481 189.71919,195.10217 C 187.85731,194.74451 186.01874,194.28134 184.18455,193.82179 z " + id="path440" /> + <path + style="fill:none;stroke:#945428;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 113.88856,186.52083 C 115.18718,189.33104 118.29517,189.925 121.02388,190.52075 C 120.06105,193.04825 119.30391,195.64658 118.50615,198.23116 C 115.78609,196.54182 112.53603,196.26129 109.43146,195.93278 C 110.78827,192.7135 114.35761,190.32638 113.88856,186.52083 z " + id="path442" /> + <path + style="fill:#945428;fill-rule:nonzero;stroke:none" + d="M 113.88856,186.52083 C 115.18718,189.33104 118.29517,189.925 121.02388,190.52075 C 120.06105,193.04825 119.30391,195.64658 118.50615,198.23116 C 115.78609,196.54182 112.53603,196.26129 109.43146,195.93278 C 110.78827,192.7135 114.35761,190.32638 113.88856,186.52083 z " + id="path444" /> + <path + style="fill:none;stroke:#d7ab59;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 101.62285,199.29591 C 102.37286,195.17372 102.93567,191.02031 103.74406,186.91048 C 103.8904,188.75409 104.12007,190.59247 104.33749,192.43314 C 105.52092,192.63486 106.70555,192.83983 107.89136,193.04803 C 107.6196,194.93488 107.30026,196.81628 106.95956,198.69518 C 105.17934,198.89298 103.40144,199.10312 101.62285,199.29591 z " + id="path446" /> + <path + style="fill:#d7ab59;fill-rule:nonzero;stroke:none" + d="M 101.62285,199.29591 C 102.37286,195.17372 102.93567,191.02031 103.74406,186.91048 C 103.8904,188.75409 104.12007,190.59247 104.33749,192.43314 C 105.52092,192.63486 106.70555,192.83983 107.89136,193.04803 C 107.6196,194.93488 107.30026,196.81628 106.95956,198.69518 C 105.17934,198.89298 103.40144,199.10312 101.62285,199.29591 z " + id="path448" /> + <path + style="fill:none;stroke:#824723;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 385.69511,191.78975 C 388.48018,189.78987 391.49805,188.12355 394.73666,186.97633 C 401.33575,188.61202 408.19135,188.48012 414.9418,188.72551 C 422.4054,188.8947 429.79919,190.11282 437.26677,190.25911 C 434.57463,191.60579 432.14664,193.41679 430.15352,195.67505 C 423.48953,195.83646 416.85146,195.13313 410.20793,194.78271 C 402.00255,194.14828 393.63545,194.23044 385.69511,191.78975 z " + id="path450" /> + <path + style="fill:#824723;fill-rule:nonzero;stroke:none" + d="M 385.69511,191.78975 C 388.48018,189.78987 391.49805,188.12355 394.73666,186.97633 C 401.33575,188.61202 408.19135,188.48012 414.9418,188.72551 C 422.4054,188.8947 429.79919,190.11282 437.26677,190.25911 C 434.57463,191.60579 432.14664,193.41679 430.15352,195.67505 C 423.48953,195.83646 416.85146,195.13313 410.20793,194.78271 C 402.00255,194.14828 393.63545,194.23044 385.69511,191.78975 z " + id="path452" /> + <path + style="fill:none;stroke:#6e6e6e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 18.381302,188.85193 C 19.041779,188.6741 20.362747,188.31847 21.023224,188.14064 C 21.4617,189.17598 21.884521,190.22005 22.291702,191.27286 C 21.402649,192.83191 20.511292,194.39192 19.617645,195.95291 C 19.200653,193.58475 18.791016,191.21762 18.381302,188.85193 z " + id="path454" /> + <path + style="fill:#6e6e6e;fill-rule:nonzero;stroke:none" + d="M 18.381302,188.85193 C 19.041779,188.6741 20.362747,188.31847 21.023224,188.14064 C 21.4617,189.17598 21.884521,190.22005 22.291702,191.27286 C 21.402649,192.83191 20.511292,194.39192 19.617645,195.95291 C 19.200653,193.58475 18.791016,191.21762 18.381302,188.85193 z " + id="path456" /> + <path + style="fill:none;stroke:#7d4523;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 26.078308,191.44173 C 28.539749,190.27119 30.982452,189.06303 33.440125,187.88631 C 32.523209,188.92326 31.649277,189.9988 30.772415,191.07376 C 32.754532,191.32513 34.738297,191.5677 36.725723,191.78323 C 40.564133,192.38979 44.342941,193.31451 48.100708,194.29688 C 44.772186,195.71863 41.362381,197.04504 37.760254,197.57057 C 34.284363,197.74422 30.847,198.63092 27.93663,200.59146 C 28.133118,199.84554 28.3284,199.10172 28.522522,198.36002 C 27.947327,198.31805 26.796951,198.2341 26.221756,198.19214 C 26.161499,195.94006 26.103226,193.69081 26.078308,191.44173 z " + id="path458" /> + <path + style="fill:#7d4523;fill-rule:nonzero;stroke:none" + d="M 26.078308,191.44173 C 28.539749,190.27119 30.982452,189.06303 33.440125,187.88631 C 32.523209,188.92326 31.649277,189.9988 30.772415,191.07376 C 32.754532,191.32513 34.738297,191.5677 36.725723,191.78323 C 40.564133,192.38979 44.342941,193.31451 48.100708,194.29688 C 44.772186,195.71863 41.362381,197.04504 37.760254,197.57057 C 34.284363,197.74422 30.847,198.63092 27.93663,200.59146 C 28.133118,199.84554 28.3284,199.10172 28.522522,198.36002 C 27.947327,198.31805 26.796951,198.2341 26.221756,198.19214 C 26.161499,195.94006 26.103226,193.69081 26.078308,191.44173 z " + id="path460" /> + <path + style="fill:none;stroke:#7d4523;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 82.074478,194.60004 C 83.491089,192.32388 84.94873,190.07457 86.440628,187.84882 C 91.354813,188.50043 96.304565,188.80753 101.25317,189.06744 C 100.89271,191.07837 100.53455,193.09317 100.31023,195.12813 C 96.271484,194.66333 92.229004,194.23918 88.183365,193.85054 C 88.062515,192.57314 87.942902,191.29813 87.824509,190.02553 C 86.71669,191.62654 85.633347,193.24745 84.446381,194.79373 C 83.853409,194.7453 82.66745,194.64845 82.074478,194.60004 z " + id="path462" /> + <path + style="fill:#7d4523;fill-rule:nonzero;stroke:none" + d="M 82.074478,194.60004 C 83.491089,192.32388 84.94873,190.07457 86.440628,187.84882 C 91.354813,188.50043 96.304565,188.80753 101.25317,189.06744 C 100.89271,191.07837 100.53455,193.09317 100.31023,195.12813 C 96.271484,194.66333 92.229004,194.23918 88.183365,193.85054 C 88.062515,192.57314 87.942902,191.29813 87.824509,190.02553 C 86.71669,191.62654 85.633347,193.24745 84.446381,194.79373 C 83.853409,194.7453 82.66745,194.64845 82.074478,194.60004 z " + id="path464" /> + <path + style="fill:none;stroke:#3a3838;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 17.504074,195.97322 C 17.787949,193.59654 18.084274,191.22378 18.381302,188.85193 C 18.791016,191.21762 19.200653,193.58475 19.617645,195.95291 C 20.511292,194.39192 21.402649,192.83191 22.291702,191.27286 C 22.771896,193.12344 23.956116,195.49681 22.344284,197.12793 C 20.458496,199.30655 18.035828,200.91742 15.93161,202.86838 C 16.221634,200.23824 15.167923,197.94022 13.453903,196.01062 C 14.309662,195.17509 15.166901,194.34338 16.02565,193.51546 C 16.51796,194.33244 17.010757,195.15169 17.504074,195.97322 z " + id="path466" /> + <path + style="fill:#3a3838;fill-rule:nonzero;stroke:none" + d="M 17.504074,195.97322 C 17.787949,193.59654 18.084274,191.22378 18.381302,188.85193 C 18.791016,191.21762 19.200653,193.58475 19.617645,195.95291 C 20.511292,194.39192 21.402649,192.83191 22.291702,191.27286 C 22.771896,193.12344 23.956116,195.49681 22.344284,197.12793 C 20.458496,199.30655 18.035828,200.91742 15.93161,202.86838 C 16.221634,200.23824 15.167923,197.94022 13.453903,196.01062 C 14.309662,195.17509 15.166901,194.34338 16.02565,193.51546 C 16.51796,194.33244 17.010757,195.15169 17.504074,195.97322 z " + id="path468" /> + <path + style="fill:none;stroke:#7f4a26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 205.06915,188.88632 C 207.34659,189.04947 209.632,189.08023 211.91834,189.10985 C 211.80182,191.00919 211.77269,192.91434 211.78003,194.82101 C 211.11807,195.2117 210.459,195.60518 209.80278,196.00146 C 208.44992,193.48524 206.91304,191.06958 205.06915,188.88632 z " + id="path470" /> + <path + style="fill:#7f4a26;fill-rule:nonzero;stroke:none" + d="M 205.06915,188.88632 C 207.34659,189.04947 209.632,189.08023 211.91834,189.10985 C 211.80182,191.00919 211.77269,192.91434 211.78003,194.82101 C 211.11807,195.2117 210.459,195.60518 209.80278,196.00146 C 208.44992,193.48524 206.91304,191.06958 205.06915,188.88632 z " + id="path472" /> + <path + style="fill:none;stroke:#38281e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 266.0721,188.82414 C 267.23335,189.40122 268.4232,189.94405 269.5325,190.6364 C 269.56456,192.04488 269.40161,193.44836 269.1498,194.83568 C 267.81827,194.49661 266.49246,194.16243 265.17248,193.81139 C 265.44478,192.14264 265.7384,190.47868 266.0721,188.82414 z " + id="path474" /> + <path + style="fill:#38281e;fill-rule:nonzero;stroke:none" + d="M 266.0721,188.82414 C 267.23335,189.40122 268.4232,189.94405 269.5325,190.6364 C 269.56456,192.04488 269.40161,193.44836 269.1498,194.83568 C 267.81827,194.49661 266.49246,194.16243 265.17248,193.81139 C 265.44478,192.14264 265.7384,190.47868 266.0721,188.82414 z " + id="path476" /> + <path + style="fill:none;stroke:#854a23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 316.92346,190.25174 C 319.22122,189.96822 321.52164,189.64244 323.84035,189.51874 C 332.19263,190.3474 340.56369,190.96487 348.94397,191.47337 C 354.08997,191.81601 359.31038,191.76353 364.36719,192.90552 C 367.50337,193.74591 370.97758,195.38551 372.02608,198.73021 C 368.04234,199.03847 364.05602,198.56313 360.0775,198.43703 C 354.37126,198.17326 348.67134,197.79326 342.96355,197.62923 C 334.5502,197.47154 326.22685,196.0621 317.82204,195.75839 C 317.74571,197.60089 317.66292,199.44698 317.66834,201.29668 C 317.1115,197.64099 316.81445,193.94881 316.92346,190.25174 z " + id="path478" /> + <path + style="fill:#854a23;fill-rule:nonzero;stroke:none" + d="M 316.92346,190.25174 C 319.22122,189.96822 321.52164,189.64244 323.84035,189.51874 C 332.19263,190.3474 340.56369,190.96487 348.94397,191.47337 C 354.08997,191.81601 359.31038,191.76353 364.36719,192.90552 C 367.50337,193.74591 370.97758,195.38551 372.02608,198.73021 C 368.04234,199.03847 364.05602,198.56313 360.0775,198.43703 C 354.37126,198.17326 348.67134,197.79326 342.96355,197.62923 C 334.5502,197.47154 326.22685,196.0621 317.82204,195.75839 C 317.74571,197.60089 317.66292,199.44698 317.66834,201.29668 C 317.1115,197.64099 316.81445,193.94881 316.92346,190.25174 z " + id="path480" /> + <path + style="fill:none;stroke:#cf994c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 503.12277,190.15392 C 505.40889,188.5983 508.31917,189.26587 510.91478,189.10889 C 510.54758,190.58748 510.26765,192.09898 509.70166,193.52046 C 508.30963,194.88104 506.58725,195.82944 504.98848,196.90742 C 504.14072,194.77251 502.24712,192.56148 503.12277,190.15392 z " + id="path482" /> + <path + style="fill:#cf994c;fill-rule:nonzero;stroke:none" + d="M 503.12277,190.15392 C 505.40889,188.5983 508.31917,189.26587 510.91478,189.10889 C 510.54758,190.58748 510.26765,192.09898 509.70166,193.52046 C 508.30963,194.88104 506.58725,195.82944 504.98848,196.90742 C 504.14072,194.77251 502.24712,192.56148 503.12277,190.15392 z " + id="path484" /> + <path + style="fill:none;stroke:#cc8a3a;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 491.73431,192.44643 C 495.17523,191.98344 498.76524,191.74081 501.88103,190.04187 C 502.43463,191.85466 502.91147,193.69765 503.42583,195.52927 C 500.08881,195.30278 496.74412,195.13191 493.40575,195.28352 C 493.29541,195.68365 493.07477,196.48392 492.96445,196.88406 C 492.56314,195.39909 492.12407,193.92726 491.73431,192.44643 z " + id="path486" /> + <path + style="fill:#cc8a3a;fill-rule:nonzero;stroke:none" + d="M 491.73431,192.44643 C 495.17523,191.98344 498.76524,191.74081 501.88103,190.04187 C 502.43463,191.85466 502.91147,193.69765 503.42583,195.52927 C 500.08881,195.30278 496.74412,195.13191 493.40575,195.28352 C 493.29541,195.68365 493.07477,196.48392 492.96445,196.88406 C 492.56314,195.39909 492.12407,193.92726 491.73431,192.44643 z " + id="path488" /> + <path + style="fill:none;stroke:#a85e28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 79.33197,201.16981 C 83.133484,199.97682 85.661652,196.72302 88.183365,193.85054 C 92.229004,194.23918 96.271484,194.66333 100.31023,195.12813 C 100.20821,196.92558 100.19559,198.72885 100.17848,200.53302 C 102.14923,200.87474 104.11923,201.22613 106.08754,201.59831 C 106.3047,202.87056 106.53693,204.13977 106.77502,205.41296 C 105.26884,205.78917 103.76294,206.1646 102.25877,206.5441 C 104.26736,207.54083 106.26685,208.55977 108.31889,209.47134 C 106.66277,209.65056 105.01152,209.86075 103.36516,210.10194 C 103.94116,211.95052 104.36719,213.89479 105.3911,215.56854 C 106.91594,216.80525 109.10461,216.56775 110.9485,216.92252 C 108.40146,218.0502 105.93347,219.3447 103.49547,220.68965 C 111.14717,221.75372 118.88896,220.78673 126.56014,221.59721 C 126.85391,223.78851 127.15347,225.97957 127.4577,228.1741 C 111.74936,228.5921 96.021606,228.40736 80.331757,229.30003 C 75.036865,229.41852 70.027771,227.38332 64.812958,226.80953 C 70.725952,225.72174 76.7285,225.21683 82.635468,224.10745 C 89.097855,222.56076 95.334442,220.15564 101.40637,217.47939 C 97.160858,213.98846 91.560623,213.30543 86.586792,211.35638 C 91.143082,211.19041 95.701797,211.31412 100.25725,211.46593 C 91.832809,208.79578 82.917999,209.06184 74.261185,207.73082 C 62.812881,206.31873 51.255234,204.81651 39.708435,205.82857 C 36.150085,206.31262 32.899002,204.66835 29.971237,202.8589 C 34.748566,201.78279 39.653946,201.51405 44.537048,201.6645 C 44.459244,200.76097 44.382431,199.85991 44.306595,198.96135 C 51.38504,201.01466 58.805939,199.47838 65.95575,200.94147 C 70.335968,201.75862 74.974625,202.48039 79.33197,201.16981 z " + id="path490" /> + <path + style="fill:#a85e28;fill-rule:nonzero;stroke:none" + d="M 79.33197,201.16981 C 83.133484,199.97682 85.661652,196.72302 88.183365,193.85054 C 92.229004,194.23918 96.271484,194.66333 100.31023,195.12813 C 100.20821,196.92558 100.19559,198.72885 100.17848,200.53302 C 102.14923,200.87474 104.11923,201.22613 106.08754,201.59831 C 106.3047,202.87056 106.53693,204.13977 106.77502,205.41296 C 105.26884,205.78917 103.76294,206.1646 102.25877,206.5441 C 104.26736,207.54083 106.26685,208.55977 108.31889,209.47134 C 106.66277,209.65056 105.01152,209.86075 103.36516,210.10194 C 103.94116,211.95052 104.36719,213.89479 105.3911,215.56854 C 106.91594,216.80525 109.10461,216.56775 110.9485,216.92252 C 108.40146,218.0502 105.93347,219.3447 103.49547,220.68965 C 111.14717,221.75372 118.88896,220.78673 126.56014,221.59721 C 126.85391,223.78851 127.15347,225.97957 127.4577,228.1741 C 111.74936,228.5921 96.021606,228.40736 80.331757,229.30003 C 75.036865,229.41852 70.027771,227.38332 64.812958,226.80953 C 70.725952,225.72174 76.7285,225.21683 82.635468,224.10745 C 89.097855,222.56076 95.334442,220.15564 101.40637,217.47939 C 97.160858,213.98846 91.560623,213.30543 86.586792,211.35638 C 91.143082,211.19041 95.701797,211.31412 100.25725,211.46593 C 91.832809,208.79578 82.917999,209.06184 74.261185,207.73082 C 62.812881,206.31873 51.255234,204.81651 39.708435,205.82857 C 36.150085,206.31262 32.899002,204.66835 29.971237,202.8589 C 34.748566,201.78279 39.653946,201.51405 44.537048,201.6645 C 44.459244,200.76097 44.382431,199.85991 44.306595,198.96135 C 51.38504,201.01466 58.805939,199.47838 65.95575,200.94147 C 70.335968,201.75862 74.974625,202.48039 79.33197,201.16981 z " + id="path492" /> + <path + style="fill:none;stroke:#b56b2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 400.44752,196.87826 C 403.64096,195.93565 406.88097,195.10144 410.20793,194.78271 C 416.85146,195.13313 423.48953,195.83646 430.15352,195.67505 C 433.90134,199.9063 438.08868,203.71191 441.93553,207.85109 C 440.58768,208.95732 439.24686,210.06645 437.89468,211.16005 C 433.0294,211.00865 427.77698,211.35877 423.58998,208.4166 C 424.72925,205.43983 425.54514,202.35393 426.2115,199.24149 C 420.94165,198.13533 415.56731,197.61546 410.18748,197.62546 C 409.50783,200.1131 408.83971,202.60469 408.19983,205.10428 C 406.59361,202.40424 404.83702,199.67219 402.08217,198.0148 C 401.67351,197.73067 400.85619,197.1624 400.44752,196.87826 z " + id="path494" /> + <path + style="fill:#b56b2e;fill-rule:nonzero;stroke:none" + d="M 400.44752,196.87826 C 403.64096,195.93565 406.88097,195.10144 410.20793,194.78271 C 416.85146,195.13313 423.48953,195.83646 430.15352,195.67505 C 433.90134,199.9063 438.08868,203.71191 441.93553,207.85109 C 440.58768,208.95732 439.24686,210.06645 437.89468,211.16005 C 433.0294,211.00865 427.77698,211.35877 423.58998,208.4166 C 424.72925,205.43983 425.54514,202.35393 426.2115,199.24149 C 420.94165,198.13533 415.56731,197.61546 410.18748,197.62546 C 409.50783,200.1131 408.83971,202.60469 408.19983,205.10428 C 406.59361,202.40424 404.83702,199.67219 402.08217,198.0148 C 401.67351,197.73067 400.85619,197.1624 400.44752,196.87826 z " + id="path496" /> + <path + style="fill:none;stroke:#d9b361;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 493.40575,195.28352 C 496.74412,195.13191 500.08881,195.30278 503.42583,195.52927 L 504.28508,195.58865 C 504.31104,196.4257 504.36295,198.09984 504.3889,198.93689 C 500.9893,200.57271 497.94957,202.83209 495.44087,205.65077 C 494.54088,202.74837 493.70007,199.82928 492.96445,196.88406 C 493.07477,196.48392 493.29541,195.68365 493.40575,195.28352 z " + id="path498" /> + <path + style="fill:#d9b361;fill-rule:nonzero;stroke:none" + d="M 493.40575,195.28352 C 496.74412,195.13191 500.08881,195.30278 503.42583,195.52927 L 504.28508,195.58865 C 504.31104,196.4257 504.36295,198.09984 504.3889,198.93689 C 500.9893,200.57271 497.94957,202.83209 495.44087,205.65077 C 494.54088,202.74837 493.70007,199.82928 492.96445,196.88406 C 493.07477,196.48392 493.29541,195.68365 493.40575,195.28352 z " + id="path500" /> + <path + style="fill:none;stroke:#b56e2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 109.43146,195.93278 C 112.53603,196.26129 115.78609,196.54182 118.50615,198.23116 C 120.01862,199.11552 121.43788,200.23007 123.13434,200.75752 C 125.42003,200.66519 127.40184,199.32849 129.42055,198.38539 C 131.49902,199.65968 133.75755,200.70529 136.23863,200.81606 C 135.60602,202.72783 134.70616,204.59554 133.11842,205.90382 C 130.56847,207.19041 128.27901,208.99689 126.87202,211.53061 C 121.97717,211.58012 117.09193,211.21997 112.22121,210.78198 C 110.90852,210.3736 109.61386,209.91867 108.31889,209.47134 C 106.26685,208.55977 104.26736,207.54083 102.25877,206.5441 C 103.76294,206.1646 105.26884,205.78917 106.77502,205.41296 C 106.53693,204.13977 106.3047,202.87056 106.08754,201.59831 C 107.33881,199.79248 108.42319,197.88068 109.43146,195.93278 z " + id="path502" /> + <path + style="fill:#b56e2e;fill-rule:nonzero;stroke:none" + d="M 109.43146,195.93278 C 112.53603,196.26129 115.78609,196.54182 118.50615,198.23116 C 120.01862,199.11552 121.43788,200.23007 123.13434,200.75752 C 125.42003,200.66519 127.40184,199.32849 129.42055,198.38539 C 131.49902,199.65968 133.75755,200.70529 136.23863,200.81606 C 135.60602,202.72783 134.70616,204.59554 133.11842,205.90382 C 130.56847,207.19041 128.27901,208.99689 126.87202,211.53061 C 121.97717,211.58012 117.09193,211.21997 112.22121,210.78198 C 110.90852,210.3736 109.61386,209.91867 108.31889,209.47134 C 106.26685,208.55977 104.26736,207.54083 102.25877,206.5441 C 103.76294,206.1646 105.26884,205.78917 106.77502,205.41296 C 106.53693,204.13977 106.3047,202.87056 106.08754,201.59831 C 107.33881,199.79248 108.42319,197.88068 109.43146,195.93278 z " + id="path504" /> + <path + style="fill:none;stroke:#b56e2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 317.82204,195.75839 C 326.22685,196.0621 334.5502,197.47154 342.96355,197.62923 C 348.67134,197.79326 354.37126,198.17326 360.0775,198.43703 C 360.65553,199.54437 361.23586,200.65732 361.82643,201.76857 C 356.52121,201.61682 351.18658,201.84561 345.99437,203.00842 C 352.23628,206.55501 359.53438,205.09482 366.34395,205.0593 C 366.36527,205.53482 366.40791,206.48587 366.42923,206.9614 C 357.81256,209.21524 348.79938,208.13115 340.19151,210.3448 C 335.72909,209.70371 331.20123,208.12384 326.72975,209.90265 C 326.17748,210.03532 325.07292,210.30067 324.52065,210.43335 C 323.84743,210.30013 322.50099,210.03369 321.82777,209.90047 C 320.1637,209.58356 318.50304,209.26585 316.84624,208.95229 C 316.96983,208.07788 317.09602,207.20561 317.2782,206.34515 C 317.427,206.05162 317.72461,205.46455 317.87341,205.17102 C 317.88832,203.87497 317.76623,202.58246 317.66834,201.29668 C 317.66292,199.44698 317.74571,197.60089 317.82204,195.75839 z " + id="path506" /> + <path + style="fill:#b56e2e;fill-rule:nonzero;stroke:none" + d="M 317.82204,195.75839 C 326.22685,196.0621 334.5502,197.47154 342.96355,197.62923 C 348.67134,197.79326 354.37126,198.17326 360.0775,198.43703 C 360.65553,199.54437 361.23586,200.65732 361.82643,201.76857 C 356.52121,201.61682 351.18658,201.84561 345.99437,203.00842 C 352.23628,206.55501 359.53438,205.09482 366.34395,205.0593 C 366.36527,205.53482 366.40791,206.48587 366.42923,206.9614 C 357.81256,209.21524 348.79938,208.13115 340.19151,210.3448 C 335.72909,209.70371 331.20123,208.12384 326.72975,209.90265 C 326.17748,210.03532 325.07292,210.30067 324.52065,210.43335 C 323.84743,210.30013 322.50099,210.03369 321.82777,209.90047 C 320.1637,209.58356 318.50304,209.26585 316.84624,208.95229 C 316.96983,208.07788 317.09602,207.20561 317.2782,206.34515 C 317.427,206.05162 317.72461,205.46455 317.87341,205.17102 C 317.88832,203.87497 317.76623,202.58246 317.66834,201.29668 C 317.66292,199.44698 317.74571,197.60089 317.82204,195.75839 z " + id="path508" /> + <path + style="fill:none;stroke:#b57333;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 26.221756,198.19214 C 26.796951,198.2341 27.947327,198.31805 28.522522,198.36002 C 28.3284,199.10172 28.133118,199.84554 27.93663,200.59146 C 25.118484,202.4444 23.05542,205.15546 22.156631,208.41606 C 20.379669,207.27342 18.580048,206.16786 16.787079,205.05521 C 19.499146,202.22031 22.868805,200.17013 26.221756,198.19214 z " + id="path510" /> + <path + style="fill:#b57333;fill-rule:nonzero;stroke:none" + d="M 26.221756,198.19214 C 26.796951,198.2341 27.947327,198.31805 28.522522,198.36002 C 28.3284,199.10172 28.133118,199.84554 27.93663,200.59146 C 25.118484,202.4444 23.05542,205.15546 22.156631,208.41606 C 20.379669,207.27342 18.580048,206.16786 16.787079,205.05521 C 19.499146,202.22031 22.868805,200.17013 26.221756,198.19214 z " + id="path512" /> + <path + style="fill:none;stroke:#b5682b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 27.93663,200.59146 C 30.847,198.63092 34.284363,197.74422 37.760254,197.57057 C 39.955292,197.96768 42.126831,198.48337 44.306595,198.96135 C 44.382431,199.85991 44.459244,200.76097 44.537048,201.6645 C 39.653946,201.51405 34.748566,201.78279 29.971237,202.8589 C 32.899002,204.66835 36.150085,206.31262 39.708435,205.82857 C 51.255234,204.81651 62.812881,206.31873 74.261185,207.73082 C 82.917999,209.06184 91.832809,208.79578 100.25725,211.46593 C 95.701797,211.31412 91.143082,211.19041 86.586792,211.35638 C 91.560623,213.30543 97.160858,213.98846 101.40637,217.47939 C 95.334442,220.15564 89.097855,222.56076 82.635468,224.10745 C 76.7285,225.21683 70.725952,225.72174 64.812958,226.80953 C 64.117249,226.82001 62.725861,226.84094 62.030167,226.85141 C 59.694046,225.69357 57.50116,224.28035 55.316971,222.86668 C 56.160385,221.79486 57.003555,220.72551 57.847763,219.65901 C 53.900635,219.70862 49.954254,219.77754 46.007614,219.8224 C 47.698395,218.89426 49.383667,217.95471 51.119904,217.11528 C 52.820145,216.40073 54.519699,215.68501 56.199509,214.92502 C 58.58313,213.82033 60.893356,212.56689 63.199539,211.31213 C 58.807449,210.64414 54.364471,210.59033 49.937408,210.38698 C 45.225006,210.1599 40.757248,208.38886 36.056931,208.08202 C 32.323746,207.82924 28.586334,208.18593 24.86261,208.42372 C 24.363525,205.39018 26.035721,202.77063 27.93663,200.59146 z " + id="path514" /> + <path + style="fill:#b5682b;fill-rule:nonzero;stroke:none" + d="M 27.93663,200.59146 C 30.847,198.63092 34.284363,197.74422 37.760254,197.57057 C 39.955292,197.96768 42.126831,198.48337 44.306595,198.96135 C 44.382431,199.85991 44.459244,200.76097 44.537048,201.6645 C 39.653946,201.51405 34.748566,201.78279 29.971237,202.8589 C 32.899002,204.66835 36.150085,206.31262 39.708435,205.82857 C 51.255234,204.81651 62.812881,206.31873 74.261185,207.73082 C 82.917999,209.06184 91.832809,208.79578 100.25725,211.46593 C 95.701797,211.31412 91.143082,211.19041 86.586792,211.35638 C 91.560623,213.30543 97.160858,213.98846 101.40637,217.47939 C 95.334442,220.15564 89.097855,222.56076 82.635468,224.10745 C 76.7285,225.21683 70.725952,225.72174 64.812958,226.80953 C 64.117249,226.82001 62.725861,226.84094 62.030167,226.85141 C 59.694046,225.69357 57.50116,224.28035 55.316971,222.86668 C 56.160385,221.79486 57.003555,220.72551 57.847763,219.65901 C 53.900635,219.70862 49.954254,219.77754 46.007614,219.8224 C 47.698395,218.89426 49.383667,217.95471 51.119904,217.11528 C 52.820145,216.40073 54.519699,215.68501 56.199509,214.92502 C 58.58313,213.82033 60.893356,212.56689 63.199539,211.31213 C 58.807449,210.64414 54.364471,210.59033 49.937408,210.38698 C 45.225006,210.1599 40.757248,208.38886 36.056931,208.08202 C 32.323746,207.82924 28.586334,208.18593 24.86261,208.42372 C 24.363525,205.39018 26.035721,202.77063 27.93663,200.59146 z " + id="path516" /> + <path + style="fill:none;stroke:#45301e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 402.08217,198.0148 C 404.83702,199.67219 406.59361,202.40424 408.19983,205.10428 C 408.83971,202.60469 409.50783,200.1131 410.18748,197.62546 C 415.56731,197.61546 420.94165,198.13533 426.2115,199.24149 C 425.54514,202.35393 424.72925,205.43983 423.58998,208.4166 C 421.88011,212.74262 419.63559,216.82665 417.66475,221.03377 C 418.06232,224.30296 420.51311,226.68408 422.40774,229.18678 C 425.29746,232.95638 427.80273,237.02844 429.76199,241.36156 C 423.17868,241.81914 416.21361,245.20526 409.85321,242.01355 C 408.94633,239.22012 407.88065,236.48483 406.68811,233.80572 C 406.20543,237.05051 405.78958,240.30626 405.44151,243.57065 C 403.06381,244.35652 400.64012,245.84544 398.06021,245.18634 C 396.187,244.81576 394.37816,244.21664 392.5419,243.73451 C 392.89934,237.80022 393.3226,231.87117 393.79517,225.94629 C 394.50552,217.68535 393.17175,209.45258 392.90794,201.20543 C 395.97823,200.183 399.04526,199.14302 402.08217,198.0148 z " + id="path518" /> + <path + style="fill:#45301e;fill-rule:nonzero;stroke:none" + d="M 402.08217,198.0148 C 404.83702,199.67219 406.59361,202.40424 408.19983,205.10428 C 408.83971,202.60469 409.50783,200.1131 410.18748,197.62546 C 415.56731,197.61546 420.94165,198.13533 426.2115,199.24149 C 425.54514,202.35393 424.72925,205.43983 423.58998,208.4166 C 421.88011,212.74262 419.63559,216.82665 417.66475,221.03377 C 418.06232,224.30296 420.51311,226.68408 422.40774,229.18678 C 425.29746,232.95638 427.80273,237.02844 429.76199,241.36156 C 423.17868,241.81914 416.21361,245.20526 409.85321,242.01355 C 408.94633,239.22012 407.88065,236.48483 406.68811,233.80572 C 406.20543,237.05051 405.78958,240.30626 405.44151,243.57065 C 403.06381,244.35652 400.64012,245.84544 398.06021,245.18634 C 396.187,244.81576 394.37816,244.21664 392.5419,243.73451 C 392.89934,237.80022 393.3226,231.87117 393.79517,225.94629 C 394.50552,217.68535 393.17175,209.45258 392.90794,201.20543 C 395.97823,200.183 399.04526,199.14302 402.08217,198.0148 z " + id="path520" /> + <path + style="fill:none;stroke:#d9b05e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 395.08542,202.39621 C 397.77051,201.67371 400.4567,200.94327 403.13878,200.19345 C 405.20079,203.86266 406.46031,207.9202 408.57878,211.56009 C 409.98883,207.62773 410.02203,203.1601 412.02721,199.49712 C 416.13332,199.32787 420.18552,200.22185 424.21819,200.89328 C 422.17549,207.00694 419.58322,212.91693 416.61197,218.63367 C 416.08923,220.11954 414.59502,221.7733 415.68875,223.34549 C 419.17757,229.05167 423.66672,234.07921 427.26141,239.72464 C 422.2975,240.82457 417.2318,241.4101 412.15292,241.52094 C 410.60423,237.51741 408.93097,233.47189 406.10165,230.18175 C 404.62379,234.11264 404.6053,238.3819 403.38236,242.37015 C 401.18854,243.91197 398.00705,242.91824 395.43935,243.25766 C 395.54977,229.63596 396.2556,215.99507 395.08542,202.39621 z " + id="path522" /> + <path + style="fill:#d9b05e;fill-rule:nonzero;stroke:none" + d="M 395.08542,202.39621 C 397.77051,201.67371 400.4567,200.94327 403.13878,200.19345 C 405.20079,203.86266 406.46031,207.9202 408.57878,211.56009 C 409.98883,207.62773 410.02203,203.1601 412.02721,199.49712 C 416.13332,199.32787 420.18552,200.22185 424.21819,200.89328 C 422.17549,207.00694 419.58322,212.91693 416.61197,218.63367 C 416.08923,220.11954 414.59502,221.7733 415.68875,223.34549 C 419.17757,229.05167 423.66672,234.07921 427.26141,239.72464 C 422.2975,240.82457 417.2318,241.4101 412.15292,241.52094 C 410.60423,237.51741 408.93097,233.47189 406.10165,230.18175 C 404.62379,234.11264 404.6053,238.3819 403.38236,242.37015 C 401.18854,243.91197 398.00705,242.91824 395.43935,243.25766 C 395.54977,229.63596 396.2556,215.99507 395.08542,202.39621 z " + id="path524" /> + <path + style="fill:none;stroke:#683a26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 22.156631,208.41606 C 23.05542,205.15546 25.118484,202.4444 27.93663,200.59146 C 26.035721,202.77063 24.363525,205.39018 24.86261,208.42372 C 26.430206,210.94902 28.579361,213.02544 30.886871,214.87196 C 27.070618,216.24056 23.101547,217.45438 19.749405,219.80699 C 16.896561,221.76204 16.908157,225.56462 16.164597,228.60544 C 21.904251,228.37199 27.648407,228.4789 33.390182,228.40175 C 29.380692,229.30158 25.295197,229.7917 21.194046,230.00685 C 21.307709,230.57022 21.535049,231.69694 21.648727,232.26031 C 18.353699,231.05156 14.858902,230.58261 11.389206,230.20192 C 11.321991,229.79215 11.187561,228.9726 11.120346,228.56282 C 12.383621,228.10815 13.686493,227.70866 14.826309,226.9829 C 15.643707,224.8015 15.501556,222.4187 15.688126,220.13472 C 14.168259,219.80232 12.649109,219.47014 11.130676,219.1382 C 13.141281,216.92242 15.934265,215.77116 18.487167,214.33781 C 20.780075,213.25487 21.204727,210.50534 22.156631,208.41606 z " + id="path526" /> + <path + style="fill:#683a26;fill-rule:nonzero;stroke:none" + d="M 22.156631,208.41606 C 23.05542,205.15546 25.118484,202.4444 27.93663,200.59146 C 26.035721,202.77063 24.363525,205.39018 24.86261,208.42372 C 26.430206,210.94902 28.579361,213.02544 30.886871,214.87196 C 27.070618,216.24056 23.101547,217.45438 19.749405,219.80699 C 16.896561,221.76204 16.908157,225.56462 16.164597,228.60544 C 21.904251,228.37199 27.648407,228.4789 33.390182,228.40175 C 29.380692,229.30158 25.295197,229.7917 21.194046,230.00685 C 21.307709,230.57022 21.535049,231.69694 21.648727,232.26031 C 18.353699,231.05156 14.858902,230.58261 11.389206,230.20192 C 11.321991,229.79215 11.187561,228.9726 11.120346,228.56282 C 12.383621,228.10815 13.686493,227.70866 14.826309,226.9829 C 15.643707,224.8015 15.501556,222.4187 15.688126,220.13472 C 14.168259,219.80232 12.649109,219.47014 11.130676,219.1382 C 13.141281,216.92242 15.934265,215.77116 18.487167,214.33781 C 20.780075,213.25487 21.204727,210.50534 22.156631,208.41606 z " + id="path528" /> + <path + style="fill:none;stroke:#dcb868;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 465.11789,202.37112 C 471.29419,201.60628 477.53239,202.59135 483.70344,201.68077 C 481.19572,204.56421 477.74908,206.71904 475.85701,210.07025 C 476.33659,212.13391 477.57793,213.90381 478.47426,215.80371 C 478.57887,216.09015 478.7881,216.66299 478.89272,216.94942 C 476.41617,219.03461 473.7077,220.84857 471.4932,223.2345 C 469.12778,220.25548 466.28191,217.57982 464.48366,214.20509 C 463.91644,210.2782 465.13293,206.31844 465.11789,202.37112 z " + id="path530" /> + <path + style="fill:#dcb868;fill-rule:nonzero;stroke:none" + d="M 465.11789,202.37112 C 471.29419,201.60628 477.53239,202.59135 483.70344,201.68077 C 481.19572,204.56421 477.74908,206.71904 475.85701,210.07025 C 476.33659,212.13391 477.57793,213.90381 478.47426,215.80371 C 478.57887,216.09015 478.7881,216.66299 478.89272,216.94942 C 476.41617,219.03461 473.7077,220.84857 471.4932,223.2345 C 469.12778,220.25548 466.28191,217.57982 464.48366,214.20509 C 463.91644,210.2782 465.13293,206.31844 465.11789,202.37112 z " + id="path532" /> + <path + style="fill:none;stroke:#debf75;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 454.61578,201.88264 C 457.93114,202.25331 461.14722,203.3448 463.62552,205.65971 C 463.23035,207.58806 462.71533,209.49017 462.28735,211.41273 C 460.09454,211.09567 457.9057,210.78781 455.72138,210.48764 C 455.59801,207.59273 455.12869,204.72643 454.61578,201.88264 z " + id="path534" /> + <path + style="fill:#debf75;fill-rule:nonzero;stroke:none" + d="M 454.61578,201.88264 C 457.93114,202.25331 461.14722,203.3448 463.62552,205.65971 C 463.23035,207.58806 462.71533,209.49017 462.28735,211.41273 C 460.09454,211.09567 457.9057,210.78781 455.72138,210.48764 C 455.59801,207.59273 455.12869,204.72643 454.61578,201.88264 z " + id="path536" /> + <path + style="fill:none;stroke:#debd6e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 485.70802,202.42058 C 487.79338,202.32286 489.87875,202.19873 491.97182,202.06969 C 492.09807,203.3373 492.21373,204.60902 492.3188,205.88486 C 489.36684,208.03976 487.70911,211.79376 484.15053,213.07692 C 483.04715,213.55186 481.95093,214.03189 480.86185,214.517 C 479.49435,213.24393 478.13759,211.96565 476.78882,210.68622 C 479.68951,207.85492 482.69798,205.13676 485.70802,202.42058 z " + id="path538" /> + <path + style="fill:#debd6e;fill-rule:nonzero;stroke:none" + d="M 485.70802,202.42058 C 487.79338,202.32286 489.87875,202.19873 491.97182,202.06969 C 492.09807,203.3373 492.21373,204.60902 492.3188,205.88486 C 489.36684,208.03976 487.70911,211.79376 484.15053,213.07692 C 483.04715,213.55186 481.95093,214.03189 480.86185,214.517 C 479.49435,213.24393 478.13759,211.96565 476.78882,210.68622 C 479.68951,207.85492 482.69798,205.13676 485.70802,202.42058 z " + id="path540" /> + <path + style="fill:none;stroke:#3f331e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 374.95979,205.86078 C 379.13628,205.50226 383.33012,205.3559 387.52486,205.42239 C 391.06828,217.77977 391.41951,230.72539 391.30006,243.49341 C 386.27362,245.1351 380.69742,246.92804 375.70061,244.13989 C 376.43359,238.54295 377.17523,232.93133 377.25494,227.28001 C 377.39731,220.06764 376.32875,212.91895 374.95979,205.86078 z " + id="path542" /> + <path + style="fill:#3f331e;fill-rule:nonzero;stroke:none" + d="M 374.95979,205.86078 C 379.13628,205.50226 383.33012,205.3559 387.52486,205.42239 C 391.06828,217.77977 391.41951,230.72539 391.30006,243.49341 C 386.27362,245.1351 380.69742,246.92804 375.70061,244.13989 C 376.43359,238.54295 377.17523,232.93133 377.25494,227.28001 C 377.39731,220.06764 376.32875,212.91895 374.95979,205.86078 z " + id="path544" /> + <path + style="fill:none;stroke:#51301e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 126.87202,211.53061 C 128.27901,208.99689 130.56847,207.19041 133.11842,205.90382 C 136.75987,205.66128 140.41248,205.72626 144.06096,205.74216 C 144.42369,207.1075 144.78935,208.47513 145.13415,209.85165 C 145.19061,221.51976 143.99512,233.24332 141.9888,244.73546 C 141.63774,246.22122 141.24657,247.69914 140.86244,249.18224 C 135.76529,249.60815 130.63121,249.51439 125.57535,248.71381 C 125.48529,247.54181 125.39975,246.3727 125.31874,245.20644 C 125.71343,239.49283 126.7182,233.84656 127.4577,228.1741 C 127.98657,224.51978 127.82335,220.8139 127.34315,217.16705 C 127.12283,215.29245 126.92082,213.41527 126.87202,211.53061 z " + id="path546" /> + <path + style="fill:#51301e;fill-rule:nonzero;stroke:none" + d="M 126.87202,211.53061 C 128.27901,208.99689 130.56847,207.19041 133.11842,205.90382 C 136.75987,205.66128 140.41248,205.72626 144.06096,205.74216 C 144.42369,207.1075 144.78935,208.47513 145.13415,209.85165 C 145.19061,221.51976 143.99512,233.24332 141.9888,244.73546 C 141.63774,246.22122 141.24657,247.69914 140.86244,249.18224 C 135.76529,249.60815 130.63121,249.51439 125.57535,248.71381 C 125.48529,247.54181 125.39975,246.3727 125.31874,245.20644 C 125.71343,239.49283 126.7182,233.84656 127.4577,228.1741 C 127.98657,224.51978 127.82335,220.8139 127.34315,217.16705 C 127.12283,215.29245 126.92082,213.41527 126.87202,211.53061 z " + id="path548" /> + <path + style="fill:none;stroke:#d9b361;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 130.21477,209.01407 C 134.24908,207.87732 138.45064,207.68556 142.61208,207.44772 C 143.85255,220.76373 140.78815,233.97006 139.68936,247.19551 C 135.48186,247.5385 131.24162,247.48715 127.06596,246.83966 C 128.84929,234.30276 130.82425,221.72415 130.21477,209.01407 z " + id="path550" /> + <path + style="fill:#d9b361;fill-rule:nonzero;stroke:none" + d="M 130.21477,209.01407 C 134.24908,207.87732 138.45064,207.68556 142.61208,207.44772 C 143.85255,220.76373 140.78815,233.97006 139.68936,247.19551 C 135.48186,247.5385 131.24162,247.48715 127.06596,246.83966 C 128.84929,234.30276 130.82425,221.72415 130.21477,209.01407 z " + id="path552" /> + <path + style="fill:none;stroke:#3a2b1e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 152.144,207.10655 C 157.12842,207.05475 162.38745,206.0993 167.17172,207.89468 C 169.89267,211.33099 171.20891,215.62767 173.45783,219.36569 C 174.71449,215.48857 175.86079,211.57826 177.01892,207.67239 C 183.69597,208.13097 190.96828,207.56328 196.95628,211.07933 C 193.34674,218.98532 194.2097,227.845 192.25606,236.1413 C 191.20566,240.75673 190.71451,245.47185 189.78372,250.11002 C 189.51503,251.10336 189.23445,252.09586 188.94199,253.08748 C 185.43639,252.79219 181.92416,252.61734 178.41458,252.41701 C 176.10864,252.16609 173.74654,252.05374 171.54123,251.29156 C 168.33183,247.789 166.69333,243.16834 163.98,239.29897 C 163.26271,242.96872 162.63873,246.65686 162.00825,250.34462 C 156.53899,250.36742 151.07573,250.00958 145.65868,249.26459 C 145.83072,242.64456 146.99751,236.12608 148.7235,229.74843 C 150.11803,224.23885 150.16176,218.5282 150.98225,212.93242 C 151.32143,210.97937 151.73413,209.04224 152.144,207.10655 z " + id="path554" /> + <path + style="fill:#3a2b1e;fill-rule:nonzero;stroke:none" + d="M 152.144,207.10655 C 157.12842,207.05475 162.38745,206.0993 167.17172,207.89468 C 169.89267,211.33099 171.20891,215.62767 173.45783,219.36569 C 174.71449,215.48857 175.86079,211.57826 177.01892,207.67239 C 183.69597,208.13097 190.96828,207.56328 196.95628,211.07933 C 193.34674,218.98532 194.2097,227.845 192.25606,236.1413 C 191.20566,240.75673 190.71451,245.47185 189.78372,250.11002 C 189.51503,251.10336 189.23445,252.09586 188.94199,253.08748 C 185.43639,252.79219 181.92416,252.61734 178.41458,252.41701 C 176.10864,252.16609 173.74654,252.05374 171.54123,251.29156 C 168.33183,247.789 166.69333,243.16834 163.98,239.29897 C 163.26271,242.96872 162.63873,246.65686 162.00825,250.34462 C 156.53899,250.36742 151.07573,250.00958 145.65868,249.26459 C 145.83072,242.64456 146.99751,236.12608 148.7235,229.74843 C 150.11803,224.23885 150.16176,218.5282 150.98225,212.93242 C 151.32143,210.97937 151.73413,209.04224 152.144,207.10655 z " + id="path556" /> + <path + style="fill:none;stroke:#42301e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 340.19151,210.3448 C 348.79938,208.13115 357.81256,209.21524 366.42923,206.9614 C 368.0862,207.18338 370.56262,206.84061 371.0742,208.94728 C 372.66286,212.62807 372.56804,216.73505 372.88348,220.66316 C 369.49992,221.18762 366.11583,221.69865 362.73163,222.19315 C 362.80682,223.52889 362.89587,224.86682 362.99879,226.20695 C 363.54353,232.10478 364.18527,238.00446 364.14783,243.93832 C 360.2692,245.70935 355.95285,245.56003 351.80708,245.24216 C 351.24345,237.91739 351.81633,230.58296 352.10895,223.26233 C 349.31532,222.74295 346.5322,222.19537 343.76421,221.57638 C 345.21344,227.9436 346.28232,234.41081 348.31656,240.63281 C 348.23315,242.74139 348.02475,244.84503 347.84706,246.95201 C 344.97584,247.43039 342.10492,247.90297 339.2366,248.37411 C 337.39594,248.04456 335.57619,247.6425 333.75679,247.25087 C 333.00475,245.88098 332.25403,244.51469 331.50526,243.15245 C 330.82831,244.75496 330.15909,246.36064 329.49928,247.97237 C 325.83945,248.40428 322.16289,248.65758 318.48293,248.77139 C 317.7332,242.03258 317.83604,235.2518 317.68811,228.48666 C 317.82301,223.70418 317.55395,218.8829 318.24815,214.13707 C 318.39189,212.07878 320.40981,211.06151 321.82777,209.90047 C 322.50099,210.03369 323.84743,210.30013 324.52065,210.43335 L 325.61664,211.00665 C 323.89249,211.63452 322.18616,212.30028 320.47546,212.94961 C 319.94144,224.21048 320.24822,235.49338 320.23724,246.76392 C 322.98061,246.6158 325.72755,246.48819 328.4778,246.39002 C 329.13557,242.66472 329.6823,238.91597 330.69057,235.26447 C 332.34293,238.45342 333.30351,241.83154 334.26485,245.29031 C 338.14256,245.49348 342.02986,245.48727 345.91344,245.34543 C 344.4187,234.48408 343.03494,223.33322 338.22441,213.34322 C 337.08803,211.81743 335.40509,210.87613 333.50229,210.75821 C 331.26576,210.31177 329.00555,209.97494 326.72975,209.90265 C 331.20123,208.12384 335.72909,209.70371 340.19151,210.3448 z " + id="path558" /> + <path + style="fill:#42301e;fill-rule:nonzero;stroke:none" + d="M 340.19151,210.3448 C 348.79938,208.13115 357.81256,209.21524 366.42923,206.9614 C 368.0862,207.18338 370.56262,206.84061 371.0742,208.94728 C 372.66286,212.62807 372.56804,216.73505 372.88348,220.66316 C 369.49992,221.18762 366.11583,221.69865 362.73163,222.19315 C 362.80682,223.52889 362.89587,224.86682 362.99879,226.20695 C 363.54353,232.10478 364.18527,238.00446 364.14783,243.93832 C 360.2692,245.70935 355.95285,245.56003 351.80708,245.24216 C 351.24345,237.91739 351.81633,230.58296 352.10895,223.26233 C 349.31532,222.74295 346.5322,222.19537 343.76421,221.57638 C 345.21344,227.9436 346.28232,234.41081 348.31656,240.63281 C 348.23315,242.74139 348.02475,244.84503 347.84706,246.95201 C 344.97584,247.43039 342.10492,247.90297 339.2366,248.37411 C 337.39594,248.04456 335.57619,247.6425 333.75679,247.25087 C 333.00475,245.88098 332.25403,244.51469 331.50526,243.15245 C 330.82831,244.75496 330.15909,246.36064 329.49928,247.97237 C 325.83945,248.40428 322.16289,248.65758 318.48293,248.77139 C 317.7332,242.03258 317.83604,235.2518 317.68811,228.48666 C 317.82301,223.70418 317.55395,218.8829 318.24815,214.13707 C 318.39189,212.07878 320.40981,211.06151 321.82777,209.90047 C 322.50099,210.03369 323.84743,210.30013 324.52065,210.43335 L 325.61664,211.00665 C 323.89249,211.63452 322.18616,212.30028 320.47546,212.94961 C 319.94144,224.21048 320.24822,235.49338 320.23724,246.76392 C 322.98061,246.6158 325.72755,246.48819 328.4778,246.39002 C 329.13557,242.66472 329.6823,238.91597 330.69057,235.26447 C 332.34293,238.45342 333.30351,241.83154 334.26485,245.29031 C 338.14256,245.49348 342.02986,245.48727 345.91344,245.34543 C 344.4187,234.48408 343.03494,223.33322 338.22441,213.34322 C 337.08803,211.81743 335.40509,210.87613 333.50229,210.75821 C 331.26576,210.31177 329.00555,209.97494 326.72975,209.90265 C 331.20123,208.12384 335.72909,209.70371 340.19151,210.3448 z " + id="path560" /> + <path + style="fill:none;stroke:#d9b05e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 376.94661,207.81223 C 379.96977,207.52786 382.99739,207.26364 386.03059,207.04347 C 387.24417,212.61224 388.64357,218.20996 388.68793,223.94484 C 388.7681,230.24562 388.65935,236.54784 388.67915,242.85063 C 385.01799,243.24106 381.3446,243.50928 377.66695,243.57637 C 379.56122,231.74403 379.72278,219.52161 376.94661,207.81223 z " + id="path562" /> + <path + style="fill:#d9b05e;fill-rule:nonzero;stroke:none" + d="M 376.94661,207.81223 C 379.96977,207.52786 382.99739,207.26364 386.03059,207.04347 C 387.24417,212.61224 388.64357,218.20996 388.68793,223.94484 C 388.7681,230.24562 388.65935,236.54784 388.67915,242.85063 C 385.01799,243.24106 381.3446,243.50928 377.66695,243.57637 C 379.56122,231.74403 379.72278,219.52161 376.94661,207.81223 z " + id="path564" /> + <path + style="fill:none;stroke:#a85c28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 24.86261,208.42372 C 28.586334,208.18593 32.323746,207.82924 36.056931,208.08202 C 40.757248,208.38886 45.225006,210.1599 49.937408,210.38698 C 54.364471,210.59033 58.807449,210.64414 63.199539,211.31213 C 60.893356,212.56689 58.58313,213.82033 56.199509,214.92502 C 56.262329,214.31722 56.387955,213.10159 56.450775,212.49377 C 52.131195,212.82649 47.841751,213.5289 43.66748,214.69829 C 36.781494,216.6348 29.689468,217.75305 22.864487,219.9175 C 32.344711,221.20377 41.828384,218.731 51.119904,217.11528 C 49.383667,217.95471 47.698395,218.89426 46.007614,219.8224 C 49.954254,219.77754 53.900635,219.70862 57.847763,219.65901 C 57.003555,220.72551 56.160385,221.79486 55.316971,222.86668 C 57.50116,224.28035 59.694046,225.69357 62.030167,226.85141 C 52.468353,226.9715 42.787262,226.12279 33.390182,228.40175 C 27.648407,228.4789 21.904251,228.37199 16.164597,228.60544 C 16.908157,225.56462 16.896561,221.76204 19.749405,219.80699 C 23.101547,217.45438 27.070618,216.24056 30.886871,214.87196 C 28.579361,213.02544 26.430206,210.94902 24.86261,208.42372 z " + id="path566" /> + <path + style="fill:#a85c28;fill-rule:nonzero;stroke:none" + d="M 24.86261,208.42372 C 28.586334,208.18593 32.323746,207.82924 36.056931,208.08202 C 40.757248,208.38886 45.225006,210.1599 49.937408,210.38698 C 54.364471,210.59033 58.807449,210.64414 63.199539,211.31213 C 60.893356,212.56689 58.58313,213.82033 56.199509,214.92502 C 56.262329,214.31722 56.387955,213.10159 56.450775,212.49377 C 52.131195,212.82649 47.841751,213.5289 43.66748,214.69829 C 36.781494,216.6348 29.689468,217.75305 22.864487,219.9175 C 32.344711,221.20377 41.828384,218.731 51.119904,217.11528 C 49.383667,217.95471 47.698395,218.89426 46.007614,219.8224 C 49.954254,219.77754 53.900635,219.70862 57.847763,219.65901 C 57.003555,220.72551 56.160385,221.79486 55.316971,222.86668 C 57.50116,224.28035 59.694046,225.69357 62.030167,226.85141 C 52.468353,226.9715 42.787262,226.12279 33.390182,228.40175 C 27.648407,228.4789 21.904251,228.37199 16.164597,228.60544 C 16.908157,225.56462 16.896561,221.76204 19.749405,219.80699 C 23.101547,217.45438 27.070618,216.24056 30.886871,214.87196 C 28.579361,213.02544 26.430206,210.94902 24.86261,208.42372 z " + id="path568" /> + <path + style="fill:none;stroke:#2b1e17;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 197.48335,211.64752 C 206.06825,208.34128 215.41489,209.25096 224.40724,208.44409 C 225.20784,209.61772 226.0112,210.79246 226.82373,211.96609 C 226.86916,214.29305 226.91805,216.62326 226.8631,218.95464 C 226.80847,220.22746 226.74437,221.50244 226.67078,222.77959 C 220.31998,223.42831 213.99995,224.37857 207.78983,225.87025 C 209.6153,226.83809 211.54843,227.6611 213.19373,228.9395 C 215.08844,232.51349 213.05569,236.42601 211.72107,239.81691 C 210.20866,243.32745 210.63699,247.22662 210.90439,250.93161 C 209.26588,252.21057 207.91934,255.20367 205.46239,254.53674 C 203.25047,254.05206 201.10832,253.30591 198.95274,252.63745 C 198.40265,252.45367 197.30244,252.08614 196.75235,251.90236 C 196.83643,251.44701 197.00459,250.53627 197.08868,250.0809 C 197.58693,245.44263 197.33002,240.77431 197.13032,236.12935 C 196.71922,227.96402 198.03245,219.81064 197.48335,211.64752 z " + id="path570" /> + <path + style="fill:#2b1e17;fill-rule:nonzero;stroke:none" + d="M 197.48335,211.64752 C 206.06825,208.34128 215.41489,209.25096 224.40724,208.44409 C 225.20784,209.61772 226.0112,210.79246 226.82373,211.96609 C 226.86916,214.29305 226.91805,216.62326 226.8631,218.95464 C 226.80847,220.22746 226.74437,221.50244 226.67078,222.77959 C 220.31998,223.42831 213.99995,224.37857 207.78983,225.87025 C 209.6153,226.83809 211.54843,227.6611 213.19373,228.9395 C 215.08844,232.51349 213.05569,236.42601 211.72107,239.81691 C 210.20866,243.32745 210.63699,247.22662 210.90439,250.93161 C 209.26588,252.21057 207.91934,255.20367 205.46239,254.53674 C 203.25047,254.05206 201.10832,253.30591 198.95274,252.63745 C 198.40265,252.45367 197.30244,252.08614 196.75235,251.90236 C 196.83643,251.44701 197.00459,250.53627 197.08868,250.0809 C 197.58693,245.44263 197.33002,240.77431 197.13032,236.12935 C 196.71922,227.96402 198.03245,219.81064 197.48335,211.64752 z " + id="path572" /> + <path + style="fill:none;stroke:#944f26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 417.66475,221.03377 C 419.63559,216.82665 421.88011,212.74262 423.58998,208.4166 C 427.77698,211.35877 433.0294,211.00865 437.89468,211.16005 C 437.23154,211.66217 436.59494,212.18428 435.94218,212.68904 C 437.77753,215.13318 438.7805,218.03618 439.21724,221.04483 C 432.03247,221.2298 424.84396,221.53755 417.66475,221.03377 z " + id="path574" /> + <path + style="fill:#944f26;fill-rule:nonzero;stroke:none" + d="M 417.66475,221.03377 C 419.63559,216.82665 421.88011,212.74262 423.58998,208.4166 C 427.77698,211.35877 433.0294,211.00865 437.89468,211.16005 C 437.23154,211.66217 436.59494,212.18428 435.94218,212.68904 C 437.77753,215.13318 438.7805,218.03618 439.21724,221.04483 C 432.03247,221.2298 424.84396,221.53755 417.66475,221.03377 z " + id="path576" /> + <path + style="fill:none;stroke:#dcb566;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 153.39239,208.72655 C 157.8347,208.4109 162.31345,208.44266 166.71915,209.16339 C 167.53038,211.27364 168.48198,213.34639 169.0305,215.55081 C 168.19135,217.72075 167.66538,220.29423 165.81184,221.85518 C 161.42956,223.54387 156.58781,223.18665 151.97057,223.4019 C 152.30988,218.49612 152.9886,213.62447 153.39239,208.72655 z " + id="path578" /> + <path + style="fill:#dcb566;fill-rule:nonzero;stroke:none" + d="M 153.39239,208.72655 C 157.8347,208.4109 162.31345,208.44266 166.71915,209.16339 C 167.53038,211.27364 168.48198,213.34639 169.0305,215.55081 C 168.19135,217.72075 167.66538,220.29423 165.81184,221.85518 C 161.42956,223.54387 156.58781,223.18665 151.97057,223.4019 C 152.30988,218.49612 152.9886,213.62447 153.39239,208.72655 z " + id="path580" /> + <path + style="fill:none;stroke:#d9b361;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 357.43367,210.44724 C 361.35223,209.77722 365.24551,208.94768 369.19923,208.47316 C 370.16286,211.882 370.59384,215.40323 370.77255,218.93623 C 367.27829,219.5392 363.76292,219.99818 360.25534,220.48761 C 361.42331,228.05249 361.84241,235.69626 361.95361,243.34427 C 359.1689,243.38998 356.3858,243.4126 353.60654,243.41303 C 353.22345,236.00122 354.3569,228.61432 353.97041,221.20543 C 351.42039,220.92888 348.86716,220.73086 346.3132,220.57503 C 344.76593,217.55864 343.44603,214.42363 342.61143,211.13413 C 347.54758,210.84827 352.5367,211.31151 357.43367,210.44724 z " + id="path582" /> + <path + style="fill:#d9b361;fill-rule:nonzero;stroke:none" + d="M 357.43367,210.44724 C 361.35223,209.77722 365.24551,208.94768 369.19923,208.47316 C 370.16286,211.882 370.59384,215.40323 370.77255,218.93623 C 367.27829,219.5392 363.76292,219.99818 360.25534,220.48761 C 361.42331,228.05249 361.84241,235.69626 361.95361,243.34427 C 359.1689,243.38998 356.3858,243.4126 353.60654,243.41303 C 353.22345,236.00122 354.3569,228.61432 353.97041,221.20543 C 351.42039,220.92888 348.86716,220.73086 346.3132,220.57503 C 344.76593,217.55864 343.44603,214.42363 342.61143,211.13413 C 347.54758,210.84827 352.5367,211.31151 357.43367,210.44724 z " + id="path584" /> + <path + style="fill:none;stroke:#995126;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 103.36516,210.10194 C 105.01152,209.86075 106.66277,209.65056 108.31889,209.47134 C 109.61386,209.91867 110.90852,210.3736 112.22121,210.78198 C 110.75639,210.88156 109.2948,211.00577 107.83643,211.1546 C 112.55499,212.48553 117.314,213.66711 122.06079,214.8967 C 119.3248,216.54022 116.60033,218.20372 113.92926,219.95167 C 118.50398,219.62428 123.02927,218.74086 127.34315,217.16705 C 127.82335,220.8139 127.98657,224.51978 127.4577,228.1741 C 127.15347,225.97957 126.85391,223.78851 126.56014,221.59721 C 118.88896,220.78673 111.14717,221.75372 103.49547,220.68965 C 105.93347,219.3447 108.40146,218.0502 110.9485,216.92252 C 109.10461,216.56775 106.91594,216.80525 105.3911,215.56854 C 104.36719,213.89479 103.94116,211.95052 103.36516,210.10194 z " + id="path586" /> + <path + style="fill:#995126;fill-rule:nonzero;stroke:none" + d="M 103.36516,210.10194 C 105.01152,209.86075 106.66277,209.65056 108.31889,209.47134 C 109.61386,209.91867 110.90852,210.3736 112.22121,210.78198 C 110.75639,210.88156 109.2948,211.00577 107.83643,211.1546 C 112.55499,212.48553 117.314,213.66711 122.06079,214.8967 C 119.3248,216.54022 116.60033,218.20372 113.92926,219.95167 C 118.50398,219.62428 123.02927,218.74086 127.34315,217.16705 C 127.82335,220.8139 127.98657,224.51978 127.4577,228.1741 C 127.15347,225.97957 126.85391,223.78851 126.56014,221.59721 C 118.88896,220.78673 111.14717,221.75372 103.49547,220.68965 C 105.93347,219.3447 108.40146,218.0502 110.9485,216.92252 C 109.10461,216.56775 106.91594,216.80525 105.3911,215.56854 C 104.36719,213.89479 103.94116,211.95052 103.36516,210.10194 z " + id="path588" /> + <path + style="fill:none;stroke:#995426;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 145.13415,209.85165 C 145.56636,211.46947 146.03505,213.0798 146.49852,214.69449 C 147.99138,214.10388 149.48505,213.51514 150.98225,212.93242 C 150.16176,218.5282 150.11803,224.23885 148.7235,229.74843 C 146.99751,236.12608 145.83072,242.64456 145.65868,249.26459 C 145.36142,247.69379 145.06143,246.12843 144.76282,244.56404 C 143.83638,244.61867 142.9117,244.6758 141.9888,244.73546 C 143.99512,233.24332 145.19061,221.51976 145.13415,209.85165 z " + id="path590" /> + <path + style="fill:#995426;fill-rule:nonzero;stroke:none" + d="M 145.13415,209.85165 C 145.56636,211.46947 146.03505,213.0798 146.49852,214.69449 C 147.99138,214.10388 149.48505,213.51514 150.98225,212.93242 C 150.16176,218.5282 150.11803,224.23885 148.7235,229.74843 C 146.99751,236.12608 145.83072,242.64456 145.65868,249.26459 C 145.36142,247.69379 145.06143,246.12843 144.76282,244.56404 C 143.83638,244.61867 142.9117,244.6758 141.9888,244.73546 C 143.99512,233.24332 145.19061,221.51976 145.13415,209.85165 z " + id="path592" /> + <path + style="fill:none;stroke:#d9b86e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 177.8609,209.53615 C 183.30045,209.99286 188.75168,210.35538 194.17346,211.01521 C 193.60138,213.8856 193.1542,216.78154 192.89963,219.70065 L 192.12779,219.73633 C 187.86502,219.91931 183.60597,220.14943 179.35042,220.43288 C 178.51318,218.76356 177.66538,217.0985 176.91562,215.39189 C 177.04272,213.41325 177.50722,211.47809 177.8609,209.53615 z " + id="path594" /> + <path + style="fill:#d9b86e;fill-rule:nonzero;stroke:none" + d="M 177.8609,209.53615 C 183.30045,209.99286 188.75168,210.35538 194.17346,211.01521 C 193.60138,213.8856 193.1542,216.78154 192.89963,219.70065 L 192.12779,219.73633 C 187.86502,219.91931 183.60597,220.14943 179.35042,220.43288 C 178.51318,218.76356 177.66538,217.0985 176.91562,215.39189 C 177.04272,213.41325 177.50722,211.47809 177.8609,209.53615 z " + id="path596" /> + <path + style="fill:none;stroke:#422e1e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 244.86763,213.67255 C 252.15565,212.04282 259.39624,209.31998 266.99519,210.00346 C 270.31116,210.09363 273.74008,211.72771 275.14114,214.88036 C 277.0511,218.20003 275.511,221.97069 274.35329,225.24658 C 273.90447,226.81296 273.24077,228.51978 273.90472,230.13243 C 275.6783,234.86261 278.46445,239.19902 279.63718,244.16286 C 280.09602,246.0833 280.46005,248.02733 280.83853,249.97049 C 275.28658,251.23508 269.60312,250.9039 263.97031,250.81937 C 259.11644,251.71017 254.29382,252.9389 249.32066,252.94643 C 249.32098,248.86954 249.40578,244.79517 249.52315,240.72266 C 247.05551,243.48483 244.68817,246.55602 241.27496,248.20157 C 238.35681,249.60101 235.21227,250.429 232.09999,251.26442 C 226.7514,248.41852 220.46909,244.71437 219.88827,237.99176 C 219.28183,230.03532 227.60677,224.40343 234.93835,225.11473 C 240.4391,225.14044 245.07237,228.44664 248.96017,232.00766 C 247.54205,226.59323 245.66258,221.30139 243.03696,216.35025 C 243.64403,215.45493 244.25426,214.56236 244.86763,213.67255 z " + id="path598" /> + <path + style="fill:#422e1e;fill-rule:nonzero;stroke:none" + d="M 244.86763,213.67255 C 252.15565,212.04282 259.39624,209.31998 266.99519,210.00346 C 270.31116,210.09363 273.74008,211.72771 275.14114,214.88036 C 277.0511,218.20003 275.511,221.97069 274.35329,225.24658 C 273.90447,226.81296 273.24077,228.51978 273.90472,230.13243 C 275.6783,234.86261 278.46445,239.19902 279.63718,244.16286 C 280.09602,246.0833 280.46005,248.02733 280.83853,249.97049 C 275.28658,251.23508 269.60312,250.9039 263.97031,250.81937 C 259.11644,251.71017 254.29382,252.9389 249.32066,252.94643 C 249.32098,248.86954 249.40578,244.79517 249.52315,240.72266 C 247.05551,243.48483 244.68817,246.55602 241.27496,248.20157 C 238.35681,249.60101 235.21227,250.429 232.09999,251.26442 C 226.7514,248.41852 220.46909,244.71437 219.88827,237.99176 C 219.28183,230.03532 227.60677,224.40343 234.93835,225.11473 C 240.4391,225.14044 245.07237,228.44664 248.96017,232.00766 C 247.54205,226.59323 245.66258,221.30139 243.03696,216.35025 C 243.64403,215.45493 244.25426,214.56236 244.86763,213.67255 z " + id="path600" /> + <path + style="fill:none;stroke:#17110f;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 324.52065,210.43335 C 325.07292,210.30067 326.17748,210.03532 326.72975,209.90265 C 329.00555,209.97494 331.26576,210.31177 333.50229,210.75821 C 330.87479,210.93979 328.2462,211.12286 325.61664,211.00665 L 324.52065,210.43335 z " + id="path602" /> + <path + style="fill:#17110f;fill-rule:nonzero;stroke:none" + d="M 324.52065,210.43335 C 325.07292,210.30067 326.17748,210.03532 326.72975,209.90265 C 329.00555,209.97494 331.26576,210.31177 333.50229,210.75821 C 330.87479,210.93979 328.2462,211.12286 325.61664,211.00665 L 324.52065,210.43335 z " + id="path604" /> + <path + style="fill:none;stroke:#6b3a23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 107.83643,211.1546 C 109.2948,211.00577 110.75639,210.88156 112.22121,210.78198 C 117.09193,211.21997 121.97717,211.58012 126.87202,211.53061 C 126.92082,213.41527 127.12283,215.29245 127.34315,217.16705 C 123.02927,218.74086 118.50398,219.62428 113.92926,219.95167 C 116.60033,218.20372 119.3248,216.54022 122.06079,214.8967 C 117.314,213.66711 112.55499,212.48553 107.83643,211.1546 z " + id="path606" /> + <path + style="fill:#6b3a23;fill-rule:nonzero;stroke:none" + d="M 107.83643,211.1546 C 109.2948,211.00577 110.75639,210.88156 112.22121,210.78198 C 117.09193,211.21997 121.97717,211.58012 126.87202,211.53061 C 126.92082,213.41527 127.12283,215.29245 127.34315,217.16705 C 123.02927,218.74086 118.50398,219.62428 113.92926,219.95167 C 116.60033,218.20372 119.3248,216.54022 122.06079,214.8967 C 117.314,213.66711 112.55499,212.48553 107.83643,211.1546 z " + id="path608" /> + <path + style="fill:none;stroke:#dcb866;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 199.4505,212.49213 C 207.45325,210.07982 215.97314,210.6405 224.23665,210.4704 C 224.67644,214.09822 224.77222,217.75447 224.8053,221.40768 C 218.33247,221.46072 212.05237,223.14659 205.76599,224.47699 C 203.89601,224.75618 202.01936,224.9722 200.14653,225.20003 C 199.77119,227.55853 199.3943,229.91879 199.0714,232.28851 C 199.53409,225.69707 199.1582,219.08737 199.4505,212.49213 z " + id="path610" /> + <path + style="fill:#dcb866;fill-rule:nonzero;stroke:none" + d="M 199.4505,212.49213 C 207.45325,210.07982 215.97314,210.6405 224.23665,210.4704 C 224.67644,214.09822 224.77222,217.75447 224.8053,221.40768 C 218.33247,221.46072 212.05237,223.14659 205.76599,224.47699 C 203.89601,224.75618 202.01936,224.9722 200.14653,225.20003 C 199.77119,227.55853 199.3943,229.91879 199.0714,232.28851 C 199.53409,225.69707 199.1582,219.08737 199.4505,212.49213 z " + id="path612" /> + <path + style="fill:none;stroke:#35281c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 301.61115,211.8909 C 305.49262,210.87642 309.56364,211.89526 313.4731,212.31587 C 314.04866,216.13986 314.57542,219.97168 315.07986,223.80826 C 315.27344,232.38254 316.73579,240.95746 315.59764,249.52504 C 311.7934,250.03301 307.97299,250.42976 304.1969,251.11112 C 304.18291,250.63605 304.15489,249.68591 304.1409,249.21085 C 304.01215,246.71329 303.8514,244.21971 303.71001,241.7279 C 300.8653,241.77969 298.02242,241.8008 295.18164,241.79459 C 295.19338,244.74583 295.20549,247.69824 295.23515,250.65344 C 291.50667,251.38977 287.72523,251.77908 283.95187,252.17448 L 283.0481,252.31094 C 282.93462,249.48268 282.87305,246.65494 282.88345,243.82857 C 282.91553,239.07718 282.96236,234.32726 282.94588,229.57788 C 283.00916,223.93727 282.91406,218.29764 282.65724,212.66434 C 286.91258,211.67166 291.29633,211.457 295.64868,211.76393 C 296.24542,213.4337 296.84656,215.10701 297.44415,216.78363 C 298.75787,215.10915 299.77643,213.05905 301.61115,211.8909 z " + id="path614" /> + <path + style="fill:#35281c;fill-rule:nonzero;stroke:none" + d="M 301.61115,211.8909 C 305.49262,210.87642 309.56364,211.89526 313.4731,212.31587 C 314.04866,216.13986 314.57542,219.97168 315.07986,223.80826 C 315.27344,232.38254 316.73579,240.95746 315.59764,249.52504 C 311.7934,250.03301 307.97299,250.42976 304.1969,251.11112 C 304.18291,250.63605 304.15489,249.68591 304.1409,249.21085 C 304.01215,246.71329 303.8514,244.21971 303.71001,241.7279 C 300.8653,241.77969 298.02242,241.8008 295.18164,241.79459 C 295.19338,244.74583 295.20549,247.69824 295.23515,250.65344 C 291.50667,251.38977 287.72523,251.77908 283.95187,252.17448 L 283.0481,252.31094 C 282.93462,249.48268 282.87305,246.65494 282.88345,243.82857 C 282.91553,239.07718 282.96236,234.32726 282.94588,229.57788 C 283.00916,223.93727 282.91406,218.29764 282.65724,212.66434 C 286.91258,211.67166 291.29633,211.457 295.64868,211.76393 C 296.24542,213.4337 296.84656,215.10701 297.44415,216.78363 C 298.75787,215.10915 299.77643,213.05905 301.61115,211.8909 z " + id="path616" /> + <path + style="fill:none;stroke:#dcbd6b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 325.61664,211.00665 C 328.2462,211.12286 330.87479,210.93979 333.50229,210.75821 C 335.40509,210.87613 337.08803,211.81743 338.22441,213.34322 C 335.74445,214.94051 333.29675,216.58897 330.7448,218.06718 C 329.77518,218.58194 328.80252,219.08559 327.82681,219.57812 C 327.64897,221.5582 327.46635,223.53847 327.23622,225.51759 C 325.3018,225.05623 323.37099,224.60274 321.4415,224.15668 C 321.06853,220.42429 320.74774,216.68784 320.47546,212.94961 C 322.18616,212.30028 323.89249,211.63452 325.61664,211.00665 z " + id="path618" /> + <path + style="fill:#dcbd6b;fill-rule:nonzero;stroke:none" + d="M 325.61664,211.00665 C 328.2462,211.12286 330.87479,210.93979 333.50229,210.75821 C 335.40509,210.87613 337.08803,211.81743 338.22441,213.34322 C 335.74445,214.94051 333.29675,216.58897 330.7448,218.06718 C 329.77518,218.58194 328.80252,219.08559 327.82681,219.57812 C 327.64897,221.5582 327.46635,223.53847 327.23622,225.51759 C 325.3018,225.05623 323.37099,224.60274 321.4415,224.15668 C 321.06853,220.42429 320.74774,216.68784 320.47546,212.94961 C 322.18616,212.30028 323.89249,211.63452 325.61664,211.00665 z " + id="path620" /> + <path + style="fill:none;stroke:#d9ae5c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 453.2609,219.84642 C 454.20996,216.76245 455.09232,213.65346 455.72138,210.48764 C 457.9057,210.78781 460.09454,211.09567 462.28735,211.41273 C 462.15723,212.73859 461.65321,214.30721 462.66895,215.42781 C 465.20395,218.70868 467.87022,222.00742 468.9774,226.09749 C 466.85362,227.94145 464.80115,229.8635 462.74637,231.78003 C 461.61354,230.69647 460.45718,229.64313 459.4388,228.46298 C 457.91974,226.90651 458.30937,224.56006 458.0806,222.58998 C 456.4774,221.66153 454.86771,220.7509 453.2609,219.84642 z " + id="path622" /> + <path + style="fill:#d9ae5c;fill-rule:nonzero;stroke:none" + d="M 453.2609,219.84642 C 454.20996,216.76245 455.09232,213.65346 455.72138,210.48764 C 457.9057,210.78781 460.09454,211.09567 462.28735,211.41273 C 462.15723,212.73859 461.65321,214.30721 462.66895,215.42781 C 465.20395,218.70868 467.87022,222.00742 468.9774,226.09749 C 466.85362,227.94145 464.80115,229.8635 462.74637,231.78003 C 461.61354,230.69647 460.45718,229.64313 459.4388,228.46298 C 457.91974,226.90651 458.30937,224.56006 458.0806,222.58998 C 456.4774,221.66153 454.86771,220.7509 453.2609,219.84642 z " + id="path624" /> + <path + style="fill:none;stroke:#7d4521;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 43.66748,214.69829 C 47.841751,213.5289 52.131195,212.82649 56.450775,212.49377 C 56.387955,213.10159 56.262329,214.31722 56.199509,214.92502 C 54.519699,215.68501 52.820145,216.40073 51.119904,217.11528 C 41.828384,218.731 32.344711,221.20377 22.864487,219.9175 C 29.689468,217.75305 36.781494,216.6348 43.66748,214.69829 z " + id="path626" /> + <path + style="fill:#7d4521;fill-rule:nonzero;stroke:none" + d="M 43.66748,214.69829 C 47.841751,213.5289 52.131195,212.82649 56.450775,212.49377 C 56.387955,213.10159 56.262329,214.31722 56.199509,214.92502 C 54.519699,215.68501 52.820145,216.40073 51.119904,217.11528 C 41.828384,218.731 32.344711,221.20377 22.864487,219.9175 C 29.689468,217.75305 36.781494,216.6348 43.66748,214.69829 z " + id="path628" /> + <path + style="fill:none;stroke:#a35928;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 192.25606,236.1413 C 194.2097,227.845 193.34674,218.98532 196.95628,211.07933 L 197.48335,211.64752 C 198.03245,219.81064 196.71922,227.96402 197.13032,236.12935 C 197.33002,240.77431 197.58693,245.44263 197.08868,250.0809 C 194.65186,250.10847 192.21788,250.12854 189.78372,250.11002 C 190.71451,245.47185 191.20566,240.75673 192.25606,236.1413 z " + id="path630" /> + <path + style="fill:#a35928;fill-rule:nonzero;stroke:none" + d="M 192.25606,236.1413 C 194.2097,227.845 193.34674,218.98532 196.95628,211.07933 L 197.48335,211.64752 C 198.03245,219.81064 196.71922,227.96402 197.13032,236.12935 C 197.33002,240.77431 197.58693,245.44263 197.08868,250.0809 C 194.65186,250.10847 192.21788,250.12854 189.78372,250.11002 C 190.71451,245.47185 191.20566,240.75673 192.25606,236.1413 z " + id="path632" /> + <path + style="fill:none;stroke:#633521;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 226.82373,211.96609 C 231.42215,212.09471 235.99814,212.59978 240.53595,213.3559 C 236.63992,216.57735 231.67384,217.82318 226.8631,218.95464 C 226.91805,216.62326 226.86916,214.29305 226.82373,211.96609 z " + id="path634" /> + <path + style="fill:#633521;fill-rule:nonzero;stroke:none" + d="M 226.82373,211.96609 C 231.42215,212.09471 235.99814,212.59978 240.53595,213.3559 C 236.63992,216.57735 231.67384,217.82318 226.8631,218.95464 C 226.91805,216.62326 226.86916,214.29305 226.82373,211.96609 z " + id="path636" /> + <path + style="fill:none;stroke:#dcb868;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 245.81244,215.87624 C 253.03554,212.79852 261.0293,210.96391 268.88943,212.01337 C 272.50511,212.56993 273.80266,216.36772 274.75768,219.38252 C 271.10548,219.6575 267.39711,219.8795 263.78308,219.15277 C 262.01764,218.7455 260.25925,218.32031 258.49802,217.93149 C 258.89625,220.22697 259.35965,222.51373 259.9335,224.77739 C 256.6433,225.7903 253.23029,226.30562 249.83194,226.78796 C 248.40105,223.1832 247.11536,219.52565 245.81244,215.87624 z " + id="path638" /> + <path + style="fill:#dcb868;fill-rule:nonzero;stroke:none" + d="M 245.81244,215.87624 C 253.03554,212.79852 261.0293,210.96391 268.88943,212.01337 C 272.50511,212.56993 273.80266,216.36772 274.75768,219.38252 C 271.10548,219.6575 267.39711,219.8795 263.78308,219.15277 C 262.01764,218.7455 260.25925,218.32031 258.49802,217.93149 C 258.89625,220.22697 259.35965,222.51373 259.9335,224.77739 C 256.6433,225.7903 253.23029,226.30562 249.83194,226.78796 C 248.40105,223.1832 247.11536,219.52565 245.81244,215.87624 z " + id="path640" /> + <path + style="fill:none;stroke:#a15728;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 240.53595,213.3559 C 241.97191,213.52057 243.41695,213.63409 244.86763,213.67255 C 244.25426,214.56236 243.64403,215.45493 243.03696,216.35025 C 245.66258,221.30139 247.54205,226.59323 248.96017,232.00766 C 245.07237,228.44664 240.4391,225.14044 234.93835,225.11473 C 227.60677,224.40343 219.28183,230.03532 219.88827,237.99176 C 220.46909,244.71437 226.7514,248.41852 232.09999,251.26442 C 231.26668,251.47914 230.43614,251.69636 229.6084,251.91608 C 230.53938,254.24754 231.24709,256.66815 231.58375,259.16371 C 224.95055,258.47653 218.58682,256.38428 212.08032,255.03772 C 214.45483,253.36862 216.80894,251.67058 219.13649,249.93604 C 216.38487,250.21639 213.63867,250.53171 210.90439,250.93161 C 210.63699,247.22662 210.20866,243.32745 211.72107,239.81691 C 213.05569,236.42601 215.08844,232.51349 213.19373,228.9395 C 211.54843,227.6611 209.6153,226.83809 207.78983,225.87025 C 213.99995,224.37857 220.31998,223.42831 226.67078,222.77959 C 226.74437,221.50244 226.80847,220.22746 226.8631,218.95464 C 231.67384,217.82318 236.63992,216.57735 240.53595,213.3559 z " + id="path642" /> + <path + style="fill:#a15728;fill-rule:nonzero;stroke:none" + d="M 240.53595,213.3559 C 241.97191,213.52057 243.41695,213.63409 244.86763,213.67255 C 244.25426,214.56236 243.64403,215.45493 243.03696,216.35025 C 245.66258,221.30139 247.54205,226.59323 248.96017,232.00766 C 245.07237,228.44664 240.4391,225.14044 234.93835,225.11473 C 227.60677,224.40343 219.28183,230.03532 219.88827,237.99176 C 220.46909,244.71437 226.7514,248.41852 232.09999,251.26442 C 231.26668,251.47914 230.43614,251.69636 229.6084,251.91608 C 230.53938,254.24754 231.24709,256.66815 231.58375,259.16371 C 224.95055,258.47653 218.58682,256.38428 212.08032,255.03772 C 214.45483,253.36862 216.80894,251.67058 219.13649,249.93604 C 216.38487,250.21639 213.63867,250.53171 210.90439,250.93161 C 210.63699,247.22662 210.20866,243.32745 211.72107,239.81691 C 213.05569,236.42601 215.08844,232.51349 213.19373,228.9395 C 211.54843,227.6611 209.6153,226.83809 207.78983,225.87025 C 213.99995,224.37857 220.31998,223.42831 226.67078,222.77959 C 226.74437,221.50244 226.80847,220.22746 226.8631,218.95464 C 231.67384,217.82318 236.63992,216.57735 240.53595,213.3559 z " + id="path644" /> + <path + style="fill:none;stroke:#dcba68;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 284.36352,213.49406 C 287.78096,213.28293 291.20767,213.25899 294.63351,213.33473 C 295.28323,216.26804 295.73852,219.28975 297.00069,222.04623 C 300.34079,220.95056 299.94914,216.14412 301.37354,213.3503 C 304.82413,213.30087 308.27687,213.32178 311.73132,213.34872 C 311.96504,214.81792 312.2863,216.28642 312.32999,217.78531 C 312.25923,218.42545 312.11772,219.70573 312.04697,220.34589 C 309.23216,220.75639 306.4252,221.19652 303.62138,221.65175 C 303.40916,223.08115 303.19992,224.51268 302.99703,225.94742 C 296.98779,226.99924 290.19344,229.53793 284.61768,225.77596 C 284.41795,221.68427 284.27069,217.58873 284.36352,213.49406 z " + id="path646" /> + <path + style="fill:#dcba68;fill-rule:nonzero;stroke:none" + d="M 284.36352,213.49406 C 287.78096,213.28293 291.20767,213.25899 294.63351,213.33473 C 295.28323,216.26804 295.73852,219.28975 297.00069,222.04623 C 300.34079,220.95056 299.94914,216.14412 301.37354,213.3503 C 304.82413,213.30087 308.27687,213.32178 311.73132,213.34872 C 311.96504,214.81792 312.2863,216.28642 312.32999,217.78531 C 312.25923,218.42545 312.11772,219.70573 312.04697,220.34589 C 309.23216,220.75639 306.4252,221.19652 303.62138,221.65175 C 303.40916,223.08115 303.19992,224.51268 302.99703,225.94742 C 296.98779,226.99924 290.19344,229.53793 284.61768,225.77596 C 284.41795,221.68427 284.27069,217.58873 284.36352,213.49406 z " + id="path648" /> + <path + style="fill:none;stroke:#d9ae5c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 320.23724,246.76392 C 320.24822,235.49338 319.94144,224.21048 320.47546,212.94961 C 320.74774,216.68784 321.06853,220.42429 321.4415,224.15668 C 323.37099,224.60274 325.3018,225.05623 327.23622,225.51759 C 329.00879,225.95171 330.79256,226.3358 332.59049,226.68219 C 332.74718,223.68056 332.14346,220.73099 330.7448,218.06718 C 333.29675,216.58897 335.74445,214.94051 338.22441,213.34322 C 343.03494,223.33322 344.4187,234.48408 345.91344,245.34543 C 342.02986,245.48727 338.14256,245.49348 334.26485,245.29031 C 333.30351,241.83154 332.34293,238.45342 330.69057,235.26447 C 329.6823,238.91597 329.13557,242.66472 328.4778,246.39002 C 325.72755,246.48819 322.98061,246.6158 320.23724,246.76392 z " + id="path650" /> + <path + style="fill:#d9ae5c;fill-rule:nonzero;stroke:none" + d="M 320.23724,246.76392 C 320.24822,235.49338 319.94144,224.21048 320.47546,212.94961 C 320.74774,216.68784 321.06853,220.42429 321.4415,224.15668 C 323.37099,224.60274 325.3018,225.05623 327.23622,225.51759 C 329.00879,225.95171 330.79256,226.3358 332.59049,226.68219 C 332.74718,223.68056 332.14346,220.73099 330.7448,218.06718 C 333.29675,216.58897 335.74445,214.94051 338.22441,213.34322 C 343.03494,223.33322 344.4187,234.48408 345.91344,245.34543 C 342.02986,245.48727 338.14256,245.49348 334.26485,245.29031 C 333.30351,241.83154 332.34293,238.45342 330.69057,235.26447 C 329.6823,238.91597 329.13557,242.66472 328.4778,246.39002 C 325.72755,246.48819 322.98061,246.6158 320.23724,246.76392 z " + id="path652" /> + <path + style="fill:none;stroke:#d4ab59;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 169.0305,215.55081 C 171.30365,219.66504 171.73326,224.6548 174.80301,228.33585 C 175.34878,223.99638 175.31622,219.52977 176.91562,215.39189 C 177.66538,217.0985 178.51318,218.76356 179.35042,220.43288 C 183.60597,220.14943 187.86502,219.91931 192.12779,219.73633 C 192.14397,230.1909 188.29594,240.16191 188.20193,250.60098 C 182.83701,250.5743 177.47641,250.34949 172.12166,250.05725 C 168.91043,244.41943 167.15353,237.60539 161.88077,233.42662 C 160.70419,238.32814 161.20728,243.39857 160.99364,248.38745 C 156.55456,248.28377 152.13031,247.9106 147.70032,247.66113 C 148.01131,239.41 150.78015,231.53226 151.97057,223.4019 C 156.58781,223.18665 161.42956,223.54387 165.81184,221.85518 C 167.66538,220.29423 168.19135,217.72075 169.0305,215.55081 z " + id="path654" /> + <path + style="fill:#d4ab59;fill-rule:nonzero;stroke:none" + d="M 169.0305,215.55081 C 171.30365,219.66504 171.73326,224.6548 174.80301,228.33585 C 175.34878,223.99638 175.31622,219.52977 176.91562,215.39189 C 177.66538,217.0985 178.51318,218.76356 179.35042,220.43288 C 183.60597,220.14943 187.86502,219.91931 192.12779,219.73633 C 192.14397,230.1909 188.29594,240.16191 188.20193,250.60098 C 182.83701,250.5743 177.47641,250.34949 172.12166,250.05725 C 168.91043,244.41943 167.15353,237.60539 161.88077,233.42662 C 160.70419,238.32814 161.20728,243.39857 160.99364,248.38745 C 156.55456,248.28377 152.13031,247.9106 147.70032,247.66113 C 148.01131,239.41 150.78015,231.53226 151.97057,223.4019 C 156.58781,223.18665 161.42956,223.54387 165.81184,221.85518 C 167.66538,220.29423 168.19135,217.72075 169.0305,215.55081 z " + id="path656" /> + <path + style="fill:none;stroke:#473321;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 258.49802,217.93149 C 260.25925,218.32031 262.01764,218.7455 263.78308,219.15277 C 262.95795,221.3076 261.80063,223.35422 259.9335,224.77739 C 259.35965,222.51373 258.89625,220.22697 258.49802,217.93149 z " + id="path658" /> + <path + style="fill:#473321;fill-rule:nonzero;stroke:none" + d="M 258.49802,217.93149 C 260.25925,218.32031 262.01764,218.7455 263.78308,219.15277 C 262.95795,221.3076 261.80063,223.35422 259.9335,224.77739 C 259.35965,222.51373 258.89625,220.22697 258.49802,217.93149 z " + id="path660" /> + <path + style="fill:none;stroke:#d7ab59;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 312.32999,217.78531 C 313.90999,227.80775 313.332,238.03096 314.12393,248.13504 C 311.27724,248.30954 308.42999,248.44278 305.58373,248.51935 C 305.63088,244.5723 305.85175,240.63133 305.88022,236.68666 C 303.65263,237.81299 301.59982,239.43883 299.1093,239.93375 C 297.05278,239.24065 295.27722,237.9568 293.40665,236.90134 C 293.30531,241.01851 293.30672,245.138 293.28564,249.25871 C 290.32578,249.79102 287.35454,250.26935 284.35648,250.49291 C 284.7542,242.26356 285.62825,233.99721 284.61768,225.77596 C 290.19344,229.53793 296.98779,226.99924 302.99703,225.94742 C 303.19992,224.51268 303.40916,223.08115 303.62138,221.65175 C 306.4252,221.19652 309.23216,220.75639 312.04697,220.34589 C 312.11772,219.70573 312.25923,218.42545 312.32999,217.78531 z " + id="path662" /> + <path + style="fill:#d7ab59;fill-rule:nonzero;stroke:none" + d="M 312.32999,217.78531 C 313.90999,227.80775 313.332,238.03096 314.12393,248.13504 C 311.27724,248.30954 308.42999,248.44278 305.58373,248.51935 C 305.63088,244.5723 305.85175,240.63133 305.88022,236.68666 C 303.65263,237.81299 301.59982,239.43883 299.1093,239.93375 C 297.05278,239.24065 295.27722,237.9568 293.40665,236.90134 C 293.30531,241.01851 293.30672,245.138 293.28564,249.25871 C 290.32578,249.79102 287.35454,250.26935 284.35648,250.49291 C 284.7542,242.26356 285.62825,233.99721 284.61768,225.77596 C 290.19344,229.53793 296.98779,226.99924 302.99703,225.94742 C 303.19992,224.51268 303.40916,223.08115 303.62138,221.65175 C 306.4252,221.19652 309.23216,220.75639 312.04697,220.34589 C 312.11772,219.70573 312.25923,218.42545 312.32999,217.78531 z " + id="path664" /> + <path + style="fill:none;stroke:#d7ab57;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 263.78308,219.15277 C 267.39711,219.8795 271.10548,219.6575 274.75768,219.38252 C 273.58115,222.65999 272.1293,225.83189 270.39108,228.85075 C 274.34293,234.71962 277.18359,241.28079 278.70323,248.19611 C 274.81731,248.67763 270.93483,249.55402 267.00272,249.34473 C 264.55623,246.56093 264.96268,242.27272 263.10141,239.07899 C 261.92766,242.54665 261.54269,246.20093 261.08475,249.81483 C 257.78091,250.11296 254.47473,250.35832 251.18097,250.73135 C 252.07294,242.74107 252.10107,234.56717 249.83194,226.78796 C 253.23029,226.30562 256.6433,225.7903 259.9335,224.77739 C 261.80063,223.35422 262.95795,221.3076 263.78308,219.15277 z " + id="path666" /> + <path + style="fill:#d7ab57;fill-rule:nonzero;stroke:none" + d="M 263.78308,219.15277 C 267.39711,219.8795 271.10548,219.6575 274.75768,219.38252 C 273.58115,222.65999 272.1293,225.83189 270.39108,228.85075 C 274.34293,234.71962 277.18359,241.28079 278.70323,248.19611 C 274.81731,248.67763 270.93483,249.55402 267.00272,249.34473 C 264.55623,246.56093 264.96268,242.27272 263.10141,239.07899 C 261.92766,242.54665 261.54269,246.20093 261.08475,249.81483 C 257.78091,250.11296 254.47473,250.35832 251.18097,250.73135 C 252.07294,242.74107 252.10107,234.56717 249.83194,226.78796 C 253.23029,226.30562 256.6433,225.7903 259.9335,224.77739 C 261.80063,223.35422 262.95795,221.3076 263.78308,219.15277 z " + id="path668" /> + <path + style="fill:none;stroke:#191711;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 327.82681,219.57812 C 328.80252,219.08559 329.77518,218.58194 330.7448,218.06718 C 332.14346,220.73099 332.74718,223.68056 332.59049,226.68219 C 330.79256,226.3358 329.00879,225.95171 327.23622,225.51759 C 327.46635,223.53847 327.64897,221.5582 327.82681,219.57812 z " + id="path670" /> + <path + style="fill:#191711;fill-rule:nonzero;stroke:none" + d="M 327.82681,219.57812 C 328.80252,219.08559 329.77518,218.58194 330.7448,218.06718 C 332.14346,220.73099 332.74718,223.68056 332.59049,226.68219 C 330.79256,226.3358 329.00879,225.95171 327.23622,225.51759 C 327.46635,223.53847 327.64897,221.5582 327.82681,219.57812 z " + id="path672" /> + <path + style="fill:none;stroke:#a85e2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 11.120346,228.56282 C 10.617203,225.44859 10.216644,222.21829 11.130676,219.1382 C 12.649109,219.47014 14.168259,219.80232 15.688126,220.13472 C 15.501556,222.4187 15.643707,224.8015 14.826309,226.9829 C 13.686493,227.70866 12.383621,228.10815 11.120346,228.56282 z " + id="path674" /> + <path + style="fill:#a85e2e;fill-rule:nonzero;stroke:none" + d="M 11.120346,228.56282 C 10.617203,225.44859 10.216644,222.21829 11.130676,219.1382 C 12.649109,219.47014 14.168259,219.80232 15.688126,220.13472 C 15.501556,222.4187 15.643707,224.8015 14.826309,226.9829 C 13.686493,227.70866 12.383621,228.10815 11.120346,228.56282 z " + id="path676" /> + <path + style="fill:none;stroke:#cf994c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 329.5916,219.71915 C 330.11295,221.2702 330.54797,222.8511 330.9579,224.44058 C 330.53412,224.50957 329.68655,224.64755 329.26277,224.71654 C 329.36031,223.04767 329.45645,221.38011 329.5916,219.71915 z " + id="path678" /> + <path + style="fill:#cf994c;fill-rule:nonzero;stroke:none" + d="M 329.5916,219.71915 C 330.11295,221.2702 330.54797,222.8511 330.9579,224.44058 C 330.53412,224.50957 329.68655,224.64755 329.26277,224.71654 C 329.36031,223.04767 329.45645,221.38011 329.5916,219.71915 z " + id="path680" /> + <path + style="fill:none;stroke:#995726;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 343.76421,221.57638 C 346.5322,222.19537 349.31532,222.74295 352.10895,223.26233 C 351.81633,230.58296 351.24345,237.91739 351.80708,245.24216 C 350.6218,243.71904 349.44842,242.1902 348.31656,240.63281 C 346.28232,234.41081 345.21344,227.9436 343.76421,221.57638 z " + id="path682" /> + <path + style="fill:#995726;fill-rule:nonzero;stroke:none" + d="M 343.76421,221.57638 C 346.5322,222.19537 349.31532,222.74295 352.10895,223.26233 C 351.81633,230.58296 351.24345,237.91739 351.80708,245.24216 C 350.6218,243.71904 349.44842,242.1902 348.31656,240.63281 C 346.28232,234.41081 345.21344,227.9436 343.76421,221.57638 z " + id="path684" /> + <path + style="fill:none;stroke:#ab5e2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 417.66475,221.03377 C 424.84396,221.53755 432.03247,221.2298 439.21724,221.04483 C 441.17004,221.51598 443.08405,222.13042 445.01527,222.71262 C 444.59804,224.4489 444.20181,226.19154 443.81728,227.9386 C 436.66711,227.98013 429.45618,227.78036 422.40774,229.18678 C 420.51311,226.68408 418.06232,224.30296 417.66475,221.03377 z " + id="path686" /> + <path + style="fill:#ab5e2b;fill-rule:nonzero;stroke:none" + d="M 417.66475,221.03377 C 424.84396,221.53755 432.03247,221.2298 439.21724,221.04483 C 441.17004,221.51598 443.08405,222.13042 445.01527,222.71262 C 444.59804,224.4489 444.20181,226.19154 443.81728,227.9386 C 436.66711,227.98013 429.45618,227.78036 422.40774,229.18678 C 420.51311,226.68408 418.06232,224.30296 417.66475,221.03377 z " + id="path688" /> + <path + style="fill:none;stroke:#8a4c28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 445.01527,222.71262 C 444.85962,224.29959 444.80223,225.9135 444.40067,227.46794 C 442.91818,229.68721 440.56731,231.11676 438.5177,232.75906 C 442.91063,235.01857 447.27963,237.48903 450.72258,241.10426 C 449.59886,241.63344 448.48733,242.17303 447.35165,242.6563 C 441.65787,240.93398 435.63966,240.91087 429.76199,241.36156 C 427.80273,237.02844 425.29746,232.95638 422.40774,229.18678 C 429.45618,227.78036 436.66711,227.98013 443.81728,227.9386 C 444.20181,226.19154 444.59804,224.4489 445.01527,222.71262 z " + id="path690" /> + <path + style="fill:#8a4c28;fill-rule:nonzero;stroke:none" + d="M 445.01527,222.71262 C 444.85962,224.29959 444.80223,225.9135 444.40067,227.46794 C 442.91818,229.68721 440.56731,231.11676 438.5177,232.75906 C 442.91063,235.01857 447.27963,237.48903 450.72258,241.10426 C 449.59886,241.63344 448.48733,242.17303 447.35165,242.6563 C 441.65787,240.93398 435.63966,240.91087 429.76199,241.36156 C 427.80273,237.02844 425.29746,232.95638 422.40774,229.18678 C 429.45618,227.78036 436.66711,227.98013 443.81728,227.9386 C 444.20181,226.19154 444.59804,224.4489 445.01527,222.71262 z " + id="path692" /> + <path + style="fill:none;stroke:#9c5426;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 315.07986,223.80826 C 315.91215,225.38464 316.84084,226.9111 317.68811,228.48666 C 317.83604,235.2518 317.7332,242.03258 318.48293,248.77139 C 322.16289,248.65758 325.83945,248.40428 329.49928,247.97237 C 330.15909,246.36064 330.82831,244.75496 331.50526,243.15245 C 332.25403,244.51469 333.00475,245.88098 333.75679,247.25087 C 335.57619,247.6425 337.39594,248.04456 339.2366,248.37411 C 335.81105,249.55121 332.48825,250.99721 329.16307,252.42265 C 334.90305,255.87955 341.64847,257.1712 348.28616,256.32115 C 342.24628,256.74753 336.13678,256.45534 330.18545,257.767 C 325.3338,257.34538 320.57819,256.26781 315.86328,255.1021 C 318.58701,253.38403 321.31871,251.67744 324.02441,249.92853 C 317.19182,250.3886 310.62088,252.37933 304.27911,254.86011 C 305.04678,255.9816 305.81641,257.10585 306.58891,258.23431 C 304.65074,258.45535 302.715,258.68489 300.77612,258.8481 C 297.92529,258.99115 295.08081,259.20164 292.23486,259.35642 C 285.4771,259.54173 278.72111,259.14757 271.96429,259.25456 C 275.40663,256.5779 278.90781,253.82803 283.0481,252.31094 L 283.95187,252.17448 C 283.38554,253.23018 282.82556,254.28981 282.26793,255.35289 C 289.82491,255.48262 297.01363,253.11809 304.1969,251.11112 C 307.97299,250.42976 311.7934,250.03301 315.59764,249.52504 C 316.73579,240.95746 315.27344,232.38254 315.07986,223.80826 z " + id="path694" /> + <path + style="fill:#9c5426;fill-rule:nonzero;stroke:none" + d="M 315.07986,223.80826 C 315.91215,225.38464 316.84084,226.9111 317.68811,228.48666 C 317.83604,235.2518 317.7332,242.03258 318.48293,248.77139 C 322.16289,248.65758 325.83945,248.40428 329.49928,247.97237 C 330.15909,246.36064 330.82831,244.75496 331.50526,243.15245 C 332.25403,244.51469 333.00475,245.88098 333.75679,247.25087 C 335.57619,247.6425 337.39594,248.04456 339.2366,248.37411 C 335.81105,249.55121 332.48825,250.99721 329.16307,252.42265 C 334.90305,255.87955 341.64847,257.1712 348.28616,256.32115 C 342.24628,256.74753 336.13678,256.45534 330.18545,257.767 C 325.3338,257.34538 320.57819,256.26781 315.86328,255.1021 C 318.58701,253.38403 321.31871,251.67744 324.02441,249.92853 C 317.19182,250.3886 310.62088,252.37933 304.27911,254.86011 C 305.04678,255.9816 305.81641,257.10585 306.58891,258.23431 C 304.65074,258.45535 302.715,258.68489 300.77612,258.8481 C 297.92529,258.99115 295.08081,259.20164 292.23486,259.35642 C 285.4771,259.54173 278.72111,259.14757 271.96429,259.25456 C 275.40663,256.5779 278.90781,253.82803 283.0481,252.31094 L 283.95187,252.17448 C 283.38554,253.23018 282.82556,254.28981 282.26793,255.35289 C 289.82491,255.48262 297.01363,253.11809 304.1969,251.11112 C 307.97299,250.42976 311.7934,250.03301 315.59764,249.52504 C 316.73579,240.95746 315.27344,232.38254 315.07986,223.80826 z " + id="path696" /> + <path + style="fill:none;stroke:#d9b05c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 200.14653,225.20003 C 202.01936,224.9722 203.89601,224.75618 205.76599,224.47699 C 205.7955,226.29169 205.80629,228.11098 205.83771,229.93179 C 207.81717,229.65329 209.79988,229.38263 211.78813,229.14572 C 211.98309,231.07152 212.17093,233.00053 212.35455,234.93301 C 211.27365,235.74094 210.13338,236.48097 209.16214,237.42419 C 208.53386,241.886 209.01875,246.41734 208.84898,250.90979 C 205.48778,251.23605 202.11381,251.40083 198.73982,251.43591 C 198.82053,245.0556 198.29962,238.63892 199.0714,232.28851 C 199.3943,229.91879 199.77119,227.55853 200.14653,225.20003 z " + id="path698" /> + <path + style="fill:#d9b05c;fill-rule:nonzero;stroke:none" + d="M 200.14653,225.20003 C 202.01936,224.9722 203.89601,224.75618 205.76599,224.47699 C 205.7955,226.29169 205.80629,228.11098 205.83771,229.93179 C 207.81717,229.65329 209.79988,229.38263 211.78813,229.14572 C 211.98309,231.07152 212.17093,233.00053 212.35455,234.93301 C 211.27365,235.74094 210.13338,236.48097 209.16214,237.42419 C 208.53386,241.886 209.01875,246.41734 208.84898,250.90979 C 205.48778,251.23605 202.11381,251.40083 198.73982,251.43591 C 198.82053,245.0556 198.29962,238.63892 199.0714,232.28851 C 199.3943,229.91879 199.77119,227.55853 200.14653,225.20003 z " + id="path700" /> + <path + style="fill:none;stroke:#854a26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 273.90472,230.13243 C 273.24077,228.51978 273.90447,226.81296 274.35329,225.24658 C 276.72589,227.52943 279.65469,229.14157 282.94588,229.57788 C 282.96236,234.32726 282.91553,239.07718 282.88345,243.82857 C 281.79719,243.93536 280.71568,244.04726 279.63718,244.16286 C 278.46445,239.19902 275.6783,234.86261 273.90472,230.13243 z " + id="path702" /> + <path + style="fill:#854a26;fill-rule:nonzero;stroke:none" + d="M 273.90472,230.13243 C 273.24077,228.51978 273.90447,226.81296 274.35329,225.24658 C 276.72589,227.52943 279.65469,229.14157 282.94588,229.57788 C 282.96236,234.32726 282.91553,239.07718 282.88345,243.82857 C 281.79719,243.93536 280.71568,244.04726 279.63718,244.16286 C 278.46445,239.19902 275.6783,234.86261 273.90472,230.13243 z " + id="path704" /> + <path + style="fill:none;stroke:#854a26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 362.99879,226.20695 C 367.68745,227.13968 372.47406,227.57074 377.25494,227.28001 C 377.17523,232.93133 376.43359,238.54295 375.70061,244.13989 C 372.0423,242.22862 367.82758,241.95677 364.14783,243.93832 C 364.18527,238.00446 363.54353,232.10478 362.99879,226.20695 z " + id="path706" /> + <path + style="fill:#854a26;fill-rule:nonzero;stroke:none" + d="M 362.99879,226.20695 C 367.68745,227.13968 372.47406,227.57074 377.25494,227.28001 C 377.17523,232.93133 376.43359,238.54295 375.70061,244.13989 C 372.0423,242.22862 367.82758,241.95677 364.14783,243.93832 C 364.18527,238.00446 363.54353,232.10478 362.99879,226.20695 z " + id="path708" /> + <path + style="fill:none;stroke:#874a26;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 33.390182,228.40175 C 42.787262,226.12279 52.468353,226.9715 62.030167,226.85141 C 62.725861,226.84094 64.117249,226.82001 64.812958,226.80953 C 70.027771,227.38332 75.036865,229.41852 80.331757,229.30003 C 96.021606,228.40736 111.74936,228.5921 127.4577,228.1741 C 126.7182,233.84656 125.71343,239.49283 125.31874,245.20644 C 125.18449,243.92531 125.03949,242.64864 124.88376,241.3764 C 104.104,240.71696 83.388336,242.86053 62.655045,243.81676 C 57.273163,242.58466 51.920044,241.13162 46.407867,240.60077 C 40.374847,239.96767 34.186844,239.17801 28.749527,236.29677 C 35.920319,235.84885 43.059677,234.99146 50.218826,234.38683 C 42.056839,233.5079 33.473251,231.5909 25.508423,234.52086 C 24.225784,233.75879 22.957428,232.97226 21.648727,232.26031 C 21.535049,231.69694 21.307709,230.57022 21.194046,230.00685 C 25.295197,229.7917 29.380692,229.30158 33.390182,228.40175 z " + id="path710" /> + <path + style="fill:#874a26;fill-rule:nonzero;stroke:none" + d="M 33.390182,228.40175 C 42.787262,226.12279 52.468353,226.9715 62.030167,226.85141 C 62.725861,226.84094 64.117249,226.82001 64.812958,226.80953 C 70.027771,227.38332 75.036865,229.41852 80.331757,229.30003 C 96.021606,228.40736 111.74936,228.5921 127.4577,228.1741 C 126.7182,233.84656 125.71343,239.49283 125.31874,245.20644 C 125.18449,243.92531 125.03949,242.64864 124.88376,241.3764 C 104.104,240.71696 83.388336,242.86053 62.655045,243.81676 C 57.273163,242.58466 51.920044,241.13162 46.407867,240.60077 C 40.374847,239.96767 34.186844,239.17801 28.749527,236.29677 C 35.920319,235.84885 43.059677,234.99146 50.218826,234.38683 C 42.056839,233.5079 33.473251,231.5909 25.508423,234.52086 C 24.225784,233.75879 22.957428,232.97226 21.648727,232.26031 C 21.535049,231.69694 21.307709,230.57022 21.194046,230.00685 C 25.295197,229.7917 29.380692,229.30158 33.390182,228.40175 z " + id="path712" /> + <path + style="fill:none;stroke:#d9b361;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 230.30307,227.254 C 234.89871,226.0742 240.10515,227.20886 243.80681,230.17523 C 246.89655,232.72774 247.07616,237.25272 246.05693,240.84094 C 244.8197,244.19305 241.42479,245.98332 238.33322,247.30984 C 231.99205,250.7021 223.33131,245.68121 222.39189,238.73436 C 221.29248,233.59006 225.70962,228.78607 230.30307,227.254 z " + id="path714" /> + <path + style="fill:#d9b361;fill-rule:nonzero;stroke:none" + d="M 230.30307,227.254 C 234.89871,226.0742 240.10515,227.20886 243.80681,230.17523 C 246.89655,232.72774 247.07616,237.25272 246.05693,240.84094 C 244.8197,244.19305 241.42479,245.98332 238.33322,247.30984 C 231.99205,250.7021 223.33131,245.68121 222.39189,238.73436 C 221.29248,233.59006 225.70962,228.78607 230.30307,227.254 z " + id="path716" /> + <path + style="fill:none;stroke:#171411;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 486.88734,231.91289 C 488.68472,230.70821 490.67963,229.84479 492.72867,229.15468 C 493.4187,233.59462 489.1077,236.0807 486.43512,238.83751 C 487.06428,240.58662 487.68137,242.34602 488.15706,244.15285 C 486.41264,243.76279 485.71616,242.19092 485.07713,240.72253 C 482.34978,240.96938 479.60149,241.00702 476.92862,240.36426 C 479.15381,236.4287 483.25349,234.31935 486.88734,231.91289 z " + id="path718" /> + <path + style="fill:#171411;fill-rule:nonzero;stroke:none" + d="M 486.88734,231.91289 C 488.68472,230.70821 490.67963,229.84479 492.72867,229.15468 C 493.4187,233.59462 489.1077,236.0807 486.43512,238.83751 C 487.06428,240.58662 487.68137,242.34602 488.15706,244.15285 C 486.41264,243.76279 485.71616,242.19092 485.07713,240.72253 C 482.34978,240.96938 479.60149,241.00702 476.92862,240.36426 C 479.15381,236.4287 483.25349,234.31935 486.88734,231.91289 z " + id="path720" /> + <path + style="fill:none;stroke:#debf75;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 479.66141,239.20844 C 482.79404,236.091 486.59251,233.67583 490.64945,231.94305 C 488.14357,235.71635 484.47684,239.16664 479.66141,239.20844 z " + id="path722" /> + <path + style="fill:#debf75;fill-rule:nonzero;stroke:none" + d="M 479.66141,239.20844 C 482.79404,236.091 486.59251,233.67583 490.64945,231.94305 C 488.14357,235.71635 484.47684,239.16664 479.66141,239.20844 z " + id="path724" /> + <path + style="fill:none;stroke:#262626;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 521.21036,232.49992 C 522.78479,232.61762 524.3645,232.72229 525.95424,232.82541 C 525.82668,233.75713 525.67255,234.68614 525.49185,235.61247 C 524.08043,236.00233 522.70194,235.42418 521.35883,235.09749 C 521.3217,234.44809 521.24747,233.14931 521.21036,232.49992 z " + id="path726" /> + <path + style="fill:#262626;fill-rule:nonzero;stroke:none" + d="M 521.21036,232.49992 C 522.78479,232.61762 524.3645,232.72229 525.95424,232.82541 C 525.82668,233.75713 525.67255,234.68614 525.49185,235.61247 C 524.08043,236.00233 522.70194,235.42418 521.35883,235.09749 C 521.3217,234.44809 521.24747,233.14931 521.21036,232.49992 z " + id="path728" /> + <path + style="fill:none;stroke:#111111;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 530.24123,231.65088 C 532.48883,232.03171 534.7376,232.42851 536.98125,232.88916 C 535.56459,235.94119 532.26183,235.72792 529.44301,235.48027 C 529.64256,234.52292 530.04167,232.60822 530.24123,231.65088 z " + id="path730" /> + <path + style="fill:#111111;fill-rule:nonzero;stroke:none" + d="M 530.24123,231.65088 C 532.48883,232.03171 534.7376,232.42851 536.98125,232.88916 C 535.56459,235.94119 532.26183,235.72792 529.44301,235.48027 C 529.64256,234.52292 530.04167,232.60822 530.24123,231.65088 z " + id="path732" /> + <path + style="fill:none;stroke:#a85c28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 25.508423,234.52086 C 33.473251,231.5909 42.056839,233.5079 50.218826,234.38683 C 43.059677,234.99146 35.920319,235.84885 28.749527,236.29677 C 27.645706,235.74423 26.565338,235.15225 25.508423,234.52086 z " + id="path734" /> + <path + style="fill:#a85c28;fill-rule:nonzero;stroke:none" + d="M 25.508423,234.52086 C 33.473251,231.5909 42.056839,233.5079 50.218826,234.38683 C 43.059677,234.99146 35.920319,235.84885 28.749527,236.29677 C 27.645706,235.74423 26.565338,235.15225 25.508423,234.52086 z " + id="path736" /> + <path + style="fill:none;stroke:#ae6128;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 73.738998,235.52089 C 91.262039,233.91272 108.86945,232.97711 126.46461,233.76213 C 126.08238,234.36345 125.3179,235.56606 124.93565,236.16737 C 116.61562,236.47963 108.2905,236.0303 99.971542,236.36559 C 91.224823,236.70511 82.424881,236.75142 73.738998,235.52089 z " + id="path738" /> + <path + style="fill:#ae6128;fill-rule:nonzero;stroke:none" + d="M 73.738998,235.52089 C 91.262039,233.91272 108.86945,232.97711 126.46461,233.76213 C 126.08238,234.36345 125.3179,235.56606 124.93565,236.16737 C 116.61562,236.47963 108.2905,236.0303 99.971542,236.36559 C 91.224823,236.70511 82.424881,236.75142 73.738998,235.52089 z " + id="path740" /> + <path + style="fill:none;stroke:#784c2e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 230.62749,239.10298 C 230.66148,235.76381 232.84949,233.16391 236.34262,233.3289 C 236.35432,235.32289 236.3204,237.32066 236.26218,239.3199 C 234.38005,239.27321 232.5013,239.19966 230.62749,239.10298 z " + id="path742" /> + <path + style="fill:#784c2e;fill-rule:nonzero;stroke:none" + d="M 230.62749,239.10298 C 230.66148,235.76381 232.84949,233.16391 236.34262,233.3289 C 236.35432,235.32289 236.3204,237.32066 236.26218,239.3199 C 234.38005,239.27321 232.5013,239.19966 230.62749,239.10298 z " + id="path744" /> + <path + style="fill:none;stroke:#94542b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 406.68811,233.80572 C 407.88065,236.48483 408.94633,239.22012 409.85321,242.01355 C 408.3681,242.50197 406.89508,243.01341 405.44151,243.57065 C 405.78958,240.30626 406.20543,237.05051 406.68811,233.80572 z " + id="path746" /> + <path + style="fill:#94542b;fill-rule:nonzero;stroke:none" + d="M 406.68811,233.80572 C 407.88065,236.48483 408.94633,239.22012 409.85321,242.01355 C 408.3681,242.50197 406.89508,243.01341 405.44151,243.57065 C 405.78958,240.30626 406.20543,237.05051 406.68811,233.80572 z " + id="path748" /> + <path + style="fill:none;stroke:#261e1c;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 507.62688,234.28996 C 511.19591,236.11053 514.99083,237.67493 519.04854,236.4624 C 518.6402,237.95981 518.22339,239.45708 517.79758,240.95218 C 519.70029,242.75143 521.58159,244.58489 523.30682,246.56592 C 519.88043,246.89801 516.44275,246.25787 513.03554,246.57805 C 509.03181,248.47299 504.98108,250.43922 500.52676,250.97258 C 500.9843,252.01082 501.4357,253.05762 501.88101,254.11295 C 499.65906,254.83859 497.41154,255.92158 495.01564,255.52623 C 490.56186,254.86958 486.06068,254.46582 481.67194,253.45186 C 483.20927,250.66248 486.26288,249.45166 488.8373,247.85022 C 490.68745,246.7238 492.67915,245.75005 494.86813,245.51665 C 499.47632,244.89247 503.61575,242.68898 507.82379,240.85529 C 507.76166,238.6646 507.67517,236.47533 507.62688,234.28996 z " + id="path750" /> + <path + style="fill:#261e1c;fill-rule:nonzero;stroke:none" + d="M 507.62688,234.28996 C 511.19591,236.11053 514.99083,237.67493 519.04854,236.4624 C 518.6402,237.95981 518.22339,239.45708 517.79758,240.95218 C 519.70029,242.75143 521.58159,244.58489 523.30682,246.56592 C 519.88043,246.89801 516.44275,246.25787 513.03554,246.57805 C 509.03181,248.47299 504.98108,250.43922 500.52676,250.97258 C 500.9843,252.01082 501.4357,253.05762 501.88101,254.11295 C 499.65906,254.83859 497.41154,255.92158 495.01564,255.52623 C 490.56186,254.86958 486.06068,254.46582 481.67194,253.45186 C 483.20927,250.66248 486.26288,249.45166 488.8373,247.85022 C 490.68745,246.7238 492.67915,245.75005 494.86813,245.51665 C 499.47632,244.89247 503.61575,242.68898 507.82379,240.85529 C 507.76166,238.6646 507.67517,236.47533 507.62688,234.28996 z " + id="path752" /> + <path + style="fill:none;stroke:#171411;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 541.25568,234.34422 C 546.89149,235.87274 552.67476,237.97314 556.95175,242.10716 C 558.61571,243.56665 558.71387,245.84357 558.4148,247.88225 C 553.55173,245.14473 548.76048,242.33879 543.51738,240.38196 C 542.71962,238.38231 542.12988,236.30832 541.25568,234.34422 z " + id="path754" /> + <path + style="fill:#171411;fill-rule:nonzero;stroke:none" + d="M 541.25568,234.34422 C 546.89149,235.87274 552.67476,237.97314 556.95175,242.10716 C 558.61571,243.56665 558.71387,245.84357 558.4148,247.88225 C 553.55173,245.14473 548.76048,242.33879 543.51738,240.38196 C 542.71962,238.38231 542.12988,236.30832 541.25568,234.34422 z " + id="path756" /> + <path + style="fill:none;stroke:#685c45;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 492.22354,237.40819 C 495.66672,235.36287 499.94254,235.43024 503.18747,237.86214 C 501.63498,239.71168 499.47533,240.99051 496.99609,240.38739 C 495.27098,240.03337 491.68146,239.93398 492.22354,237.40819 z " + id="path758" /> + <path + style="fill:#685c45;fill-rule:nonzero;stroke:none" + d="M 492.22354,237.40819 C 495.66672,235.36287 499.94254,235.43024 503.18747,237.86214 C 501.63498,239.71168 499.47533,240.99051 496.99609,240.38739 C 495.27098,240.03337 491.68146,239.93398 492.22354,237.40819 z " + id="path760" /> + <path + style="fill:none;stroke:#debf75;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 509.22404,237.46884 C 510.46133,236.1226 513.10486,238.1002 511.50931,239.46858 C 510.23036,240.83105 507.64668,238.87039 509.22404,237.46884 z " + id="path762" /> + <path + style="fill:#debf75;fill-rule:nonzero;stroke:none" + d="M 509.22404,237.46884 C 510.46133,236.1226 513.10486,238.1002 511.50931,239.46858 C 510.23036,240.83105 507.64668,238.87039 509.22404,237.46884 z " + id="path764" /> + <path + style="fill:none;stroke:#debf75;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 545.10864,237.06784 C 549.73866,238.6219 554.17484,241.05672 557.12404,245.06714 C 552.90663,242.78876 548.62178,240.64265 544.09503,239.04802 C 544.34843,238.55298 544.85524,237.5629 545.10864,237.06784 z " + id="path766" /> + <path + style="fill:#debf75;fill-rule:nonzero;stroke:none" + d="M 545.10864,237.06784 C 549.73866,238.6219 554.17484,241.05672 557.12404,245.06714 C 552.90663,242.78876 548.62178,240.64265 544.09503,239.04802 C 544.34843,238.55298 544.85524,237.5629 545.10864,237.06784 z " + id="path768" /> + <path + style="fill:none;stroke:#2b2b2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 523.46928,242.43819 C 525.96115,240.81947 528.79102,239.40405 531.77307,239.07951 C 533.47829,240.23727 535.06296,241.56575 536.70239,242.82809 C 536.30792,243.45914 535.519,244.72121 535.12453,245.35225 C 532.22159,245.52945 529.28348,245.72073 526.40779,245.22974 C 525.11591,244.80611 522.97005,244.22168 523.46928,242.43819 z " + id="path770" /> + <path + style="fill:#2b2b2b;fill-rule:nonzero;stroke:none" + d="M 523.46928,242.43819 C 525.96115,240.81947 528.79102,239.40405 531.77307,239.07951 C 533.47829,240.23727 535.06296,241.56575 536.70239,242.82809 C 536.30792,243.45914 535.519,244.72121 535.12453,245.35225 C 532.22159,245.52945 529.28348,245.72073 526.40779,245.22974 C 525.11591,244.80611 522.97005,244.22168 523.46928,242.43819 z " + id="path772" /> + <path + style="fill:none;stroke:#ab5e28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 162.00825,250.34462 C 162.63873,246.65686 163.26271,242.96872 163.98,239.29897 C 166.69333,243.16834 168.33183,247.789 171.54123,251.29156 C 173.74654,252.05374 176.10864,252.16609 178.41458,252.41701 C 172.37355,256.57184 164.81274,256.92017 157.74649,256.27832 C 146.39664,254.58595 134.89371,254.04009 123.62299,251.81737 C 117.14475,250.61264 110.55102,250.5504 104.00415,250.05057 C 90.18158,248.27075 76.13974,247.6107 62.655045,243.81676 C 83.388336,242.86053 104.104,240.71696 124.88376,241.3764 C 125.03949,242.64864 125.18449,243.92531 125.31874,245.20644 C 125.39975,246.3727 125.48529,247.54181 125.57535,248.71381 C 130.63121,249.51439 135.76529,249.60815 140.86244,249.18224 C 141.24657,247.69914 141.63774,246.22122 141.9888,244.73546 C 142.9117,244.6758 143.83638,244.61867 144.76282,244.56404 C 145.06143,246.12843 145.36142,247.69379 145.65868,249.26459 C 151.07573,250.00958 156.53899,250.36742 162.00825,250.34462 z " + id="path774" /> + <path + style="fill:#ab5e28;fill-rule:nonzero;stroke:none" + d="M 162.00825,250.34462 C 162.63873,246.65686 163.26271,242.96872 163.98,239.29897 C 166.69333,243.16834 168.33183,247.789 171.54123,251.29156 C 173.74654,252.05374 176.10864,252.16609 178.41458,252.41701 C 172.37355,256.57184 164.81274,256.92017 157.74649,256.27832 C 146.39664,254.58595 134.89371,254.04009 123.62299,251.81737 C 117.14475,250.61264 110.55102,250.5504 104.00415,250.05057 C 90.18158,248.27075 76.13974,247.6107 62.655045,243.81676 C 83.388336,242.86053 104.104,240.71696 124.88376,241.3764 C 125.03949,242.64864 125.18449,243.92531 125.31874,245.20644 C 125.39975,246.3727 125.48529,247.54181 125.57535,248.71381 C 130.63121,249.51439 135.76529,249.60815 140.86244,249.18224 C 141.24657,247.69914 141.63774,246.22122 141.9888,244.73546 C 142.9117,244.6758 143.83638,244.61867 144.76282,244.56404 C 145.06143,246.12843 145.36142,247.69379 145.65868,249.26459 C 151.07573,250.00958 156.53899,250.36742 162.00825,250.34462 z " + id="path776" /> + <path + style="fill:none;stroke:#784528;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 506.80762,243.86203 C 509.2196,241.72655 512.20059,240.46234 515.28006,239.61667 C 514.56103,241.48726 513.82457,243.3515 513.08989,245.21677 C 512.70866,245.13081 511.9462,244.95892 511.56496,244.87299 C 509.97702,244.51119 508.3956,244.15164 506.80762,243.86203 z " + id="path778" /> + <path + style="fill:#784528;fill-rule:nonzero;stroke:none" + d="M 506.80762,243.86203 C 509.2196,241.72655 512.20059,240.46234 515.28006,239.61667 C 514.56103,241.48726 513.82457,243.3515 513.08989,245.21677 C 512.70866,245.13081 511.9462,244.95892 511.56496,244.87299 C 509.97702,244.51119 508.3956,244.15164 506.80762,243.86203 z " + id="path780" /> + <path + style="fill:none;stroke:#b56628;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 241.27496,248.20157 C 244.68817,246.55602 247.05551,243.48483 249.52315,240.72266 C 249.40578,244.79517 249.32098,248.86954 249.32066,252.94643 C 254.29382,252.9389 259.11644,251.71017 263.97031,250.81937 C 269.60312,250.9039 275.28658,251.23508 280.83853,249.97049 C 280.46005,248.02733 280.09602,246.0833 279.63718,244.16286 C 280.71568,244.04726 281.79719,243.93536 282.88345,243.82857 C 282.87305,246.65494 282.93462,249.48268 283.0481,252.31094 C 278.90781,253.82803 275.40663,256.5779 271.96429,259.25456 C 258.50485,259.35732 245.03627,259.32556 231.58375,259.16371 C 231.24709,256.66815 230.53938,254.24754 229.6084,251.91608 C 230.43614,251.69636 231.26668,251.47914 232.09999,251.26442 C 235.21227,250.429 238.35681,249.60101 241.27496,248.20157 z " + id="path782" /> + <path + style="fill:#b56628;fill-rule:nonzero;stroke:none" + d="M 241.27496,248.20157 C 244.68817,246.55602 247.05551,243.48483 249.52315,240.72266 C 249.40578,244.79517 249.32098,248.86954 249.32066,252.94643 C 254.29382,252.9389 259.11644,251.71017 263.97031,250.81937 C 269.60312,250.9039 275.28658,251.23508 280.83853,249.97049 C 280.46005,248.02733 280.09602,246.0833 279.63718,244.16286 C 280.71568,244.04726 281.79719,243.93536 282.88345,243.82857 C 282.87305,246.65494 282.93462,249.48268 283.0481,252.31094 C 278.90781,253.82803 275.40663,256.5779 271.96429,259.25456 C 258.50485,259.35732 245.03627,259.32556 231.58375,259.16371 C 231.24709,256.66815 230.53938,254.24754 229.6084,251.91608 C 230.43614,251.69636 231.26668,251.47914 232.09999,251.26442 C 235.21227,250.429 238.35681,249.60101 241.27496,248.20157 z " + id="path784" /> + <path + style="fill:none;stroke:#ae6128;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 348.31656,240.63281 C 349.44842,242.1902 350.6218,243.71904 351.80708,245.24216 C 355.95285,245.56003 360.2692,245.70935 364.14783,243.93832 C 367.82758,241.95677 372.0423,242.22862 375.70061,244.13989 C 380.69742,246.92804 386.27362,245.1351 391.30006,243.49341 C 391.61054,243.55368 392.23145,243.67424 392.5419,243.73451 C 394.37816,244.21664 396.187,244.81576 398.06021,245.18634 C 400.64012,245.84544 403.06381,244.35652 405.44151,243.57065 C 406.89508,243.01341 408.3681,242.50197 409.85321,242.01355 C 416.21361,245.20526 423.17868,241.81914 429.76199,241.36156 C 435.63966,240.91087 441.65787,240.93398 447.35165,242.6563 C 440.72256,245.16005 433.49712,244.9536 426.69449,246.74693 C 419.73737,248.65404 412.53239,249.24762 405.4444,250.45514 C 390.73944,252.83267 375.86438,253.89269 361.00362,254.69025 C 356.72295,254.90067 352.54005,255.90341 348.28616,256.32115 C 341.64847,257.1712 334.90305,255.87955 329.16307,252.42265 C 332.48825,250.99721 335.81105,249.55121 339.2366,248.37411 C 342.10492,247.90297 344.97584,247.43039 347.84706,246.95201 C 348.02475,244.84503 348.23315,242.74139 348.31656,240.63281 z " + id="path786" /> + <path + style="fill:#ae6128;fill-rule:nonzero;stroke:none" + d="M 348.31656,240.63281 C 349.44842,242.1902 350.6218,243.71904 351.80708,245.24216 C 355.95285,245.56003 360.2692,245.70935 364.14783,243.93832 C 367.82758,241.95677 372.0423,242.22862 375.70061,244.13989 C 380.69742,246.92804 386.27362,245.1351 391.30006,243.49341 C 391.61054,243.55368 392.23145,243.67424 392.5419,243.73451 C 394.37816,244.21664 396.187,244.81576 398.06021,245.18634 C 400.64012,245.84544 403.06381,244.35652 405.44151,243.57065 C 406.89508,243.01341 408.3681,242.50197 409.85321,242.01355 C 416.21361,245.20526 423.17868,241.81914 429.76199,241.36156 C 435.63966,240.91087 441.65787,240.93398 447.35165,242.6563 C 440.72256,245.16005 433.49712,244.9536 426.69449,246.74693 C 419.73737,248.65404 412.53239,249.24762 405.4444,250.45514 C 390.73944,252.83267 375.86438,253.89269 361.00362,254.69025 C 356.72295,254.90067 352.54005,255.90341 348.28616,256.32115 C 341.64847,257.1712 334.90305,255.87955 329.16307,252.42265 C 332.48825,250.99721 335.81105,249.55121 339.2366,248.37411 C 342.10492,247.90297 344.97584,247.43039 347.84706,246.95201 C 348.02475,244.84503 348.23315,242.74139 348.31656,240.63281 z " + id="path788" /> + <path + style="fill:none;stroke:#debf75;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 526.51338,242.17752 C 529.18665,241.17236 532.20526,240.77354 534.22165,243.29013 C 531.60306,243.7549 528.50754,244.48445 526.51338,242.17752 z " + id="path790" /> + <path + style="fill:#debf75;fill-rule:nonzero;stroke:none" + d="M 526.51338,242.17752 C 529.18665,241.17236 532.20526,240.77354 534.22165,243.29013 C 531.60306,243.7549 528.50754,244.48445 526.51338,242.17752 z " + id="path792" /> + <path + style="fill:none;stroke:#a65c28;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 295.18164,241.79459 C 298.02242,241.8008 300.8653,241.77969 303.71001,241.7279 C 303.8514,244.21971 304.01215,246.71329 304.1409,249.21085 C 301.16363,249.64702 298.19257,250.1167 295.23515,250.65344 C 295.20549,247.69824 295.19338,244.74583 295.18164,241.79459 z " + id="path794" /> + <path + style="fill:#a65c28;fill-rule:nonzero;stroke:none" + d="M 295.18164,241.79459 C 298.02242,241.8008 300.8653,241.77969 303.71001,241.7279 C 303.8514,244.21971 304.01215,246.71329 304.1409,249.21085 C 301.16363,249.64702 298.19257,250.1167 295.23515,250.65344 C 295.20549,247.69824 295.19338,244.74583 295.18164,241.79459 z " + id="path796" /> + <path + style="fill:none;stroke:#97855e;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 516.20314,241.70624 C 517.30467,242.76366 518.34578,243.88524 519.33737,245.06136 C 517.86478,245.07504 516.39871,245.0889 514.93918,245.10292 C 515.35113,243.96655 515.77245,242.83432 516.20314,241.70624 z " + id="path798" /> + <path + style="fill:#97855e;fill-rule:nonzero;stroke:none" + d="M 516.20314,241.70624 C 517.30467,242.76366 518.34578,243.88524 519.33737,245.06136 C 517.86478,245.07504 516.39871,245.0889 514.93918,245.10292 C 515.35113,243.96655 515.77245,242.83432 516.20314,241.70624 z " + id="path800" /> + <path + style="fill:none;stroke:#a85e2b;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 493.94151,247.75835 C 498.28893,246.65681 502.43984,244.88199 506.80762,243.86203 C 508.3956,244.15164 509.97702,244.51119 511.56496,244.87299 C 508.63316,246.86778 505.27718,248.02655 501.90949,249.02727 C 498.92494,249.81661 496.59395,251.91124 493.91873,253.31653 C 491.19769,253.5631 488.54614,252.67654 485.93208,252.08902 C 488.3248,250.19504 490.93593,248.49051 493.94151,247.75835 z " + id="path802" /> + <path + style="fill:#a85e2b;fill-rule:nonzero;stroke:none" + d="M 493.94151,247.75835 C 498.28893,246.65681 502.43984,244.88199 506.80762,243.86203 C 508.3956,244.15164 509.97702,244.51119 511.56496,244.87299 C 508.63316,246.86778 505.27718,248.02655 501.90949,249.02727 C 498.92494,249.81661 496.59395,251.91124 493.91873,253.31653 C 491.19769,253.5631 488.54614,252.67654 485.93208,252.08902 C 488.3248,250.19504 490.93593,248.49051 493.94151,247.75835 z " + id="path804" /> + <path + style="fill:none;stroke:#784221;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 295.23515,250.65344 C 298.19257,250.1167 301.16363,249.64702 304.1409,249.21085 C 304.15489,249.68591 304.18291,250.63605 304.1969,251.11112 C 297.01363,253.11809 289.82491,255.48262 282.26793,255.35289 C 282.82556,254.28981 283.38554,253.23018 283.95187,252.17448 C 287.72523,251.77908 291.50667,251.38977 295.23515,250.65344 z " + id="path806" /> + <path + style="fill:#784221;fill-rule:nonzero;stroke:none" + d="M 295.23515,250.65344 C 298.19257,250.1167 301.16363,249.64702 304.1409,249.21085 C 304.15489,249.68591 304.18291,250.63605 304.1969,251.11112 C 297.01363,253.11809 289.82491,255.48262 282.26793,255.35289 C 282.82556,254.28981 283.38554,253.23018 283.95187,252.17448 C 287.72523,251.77908 291.50667,251.38977 295.23515,250.65344 z " + id="path808" /> + <path + style="fill:none;stroke:#282828;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 466.73576,251.08168 C 468.64764,249.00439 471.4157,248.60008 474.07398,248.30016 C 474.52068,249.09775 475.41406,250.69295 475.86075,251.49054 C 472.83397,252.54265 469.64504,252.45035 466.73576,251.08168 z " + id="path810" /> + <path + style="fill:#282828;fill-rule:nonzero;stroke:none" + d="M 466.73576,251.08168 C 468.64764,249.00439 471.4157,248.60008 474.07398,248.30016 C 474.52068,249.09775 475.41406,250.69295 475.86075,251.49054 C 472.83397,252.54265 469.64504,252.45035 466.73576,251.08168 z " + id="path812" /> + <path + style="fill:none;stroke:#4f3326;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 513.74323,251.65356 C 516.88489,250.07704 520.38229,249.32768 523.87752,249.0908 C 524.09488,250.3721 524.24545,251.66449 524.32925,252.968 C 521.17836,255.5551 516.79778,255.9632 513.08659,254.41504 C 513.25456,253.48035 513.47343,252.55986 513.74323,251.65356 z " + id="path814" /> + <path + style="fill:#4f3326;fill-rule:nonzero;stroke:none" + d="M 513.74323,251.65356 C 516.88489,250.07704 520.38229,249.32768 523.87752,249.0908 C 524.09488,250.3721 524.24545,251.66449 524.32925,252.968 C 521.17836,255.5551 516.79778,255.9632 513.08659,254.41504 C 513.25456,253.48035 513.47343,252.55986 513.74323,251.65356 z " + id="path816" /> + <path + style="fill:none;stroke:#824723;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 189.78372,250.11002 C 192.21788,250.12854 194.65186,250.10847 197.08868,250.0809 C 197.00459,250.53627 196.83643,251.44701 196.75235,251.90236 C 190.67757,253.64607 184.59142,255.35202 178.52684,257.13132 C 171.61188,256.56479 164.65733,256.89566 157.74649,256.27832 C 164.81274,256.92017 172.37355,256.57184 178.41458,252.41701 C 181.92416,252.61734 185.43639,252.79219 188.94199,253.08748 C 189.23445,252.09586 189.51503,251.10336 189.78372,250.11002 z " + id="path818" /> + <path + style="fill:#824723;fill-rule:nonzero;stroke:none" + d="M 189.78372,250.11002 C 192.21788,250.12854 194.65186,250.10847 197.08868,250.0809 C 197.00459,250.53627 196.83643,251.44701 196.75235,251.90236 C 190.67757,253.64607 184.59142,255.35202 178.52684,257.13132 C 171.61188,256.56479 164.65733,256.89566 157.74649,256.27832 C 164.81274,256.92017 172.37355,256.57184 178.41458,252.41701 C 181.92416,252.61734 185.43639,252.79219 188.94199,253.08748 C 189.23445,252.09586 189.51503,251.10336 189.78372,250.11002 z " + id="path820" /> + <path + style="fill:none;stroke:#703f23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 210.90439,250.93161 C 213.63867,250.53171 216.38487,250.21639 219.13649,249.93604 C 216.80894,251.67058 214.45483,253.36862 212.08032,255.03772 C 218.58682,256.38428 224.95055,258.47653 231.58375,259.16371 C 245.03627,259.32556 258.50485,259.35732 271.96429,259.25456 C 278.72111,259.14757 285.4771,259.54173 292.23486,259.35642 C 275.17316,260.34822 258.07393,259.47151 240.99678,259.80234 C 229.31517,259.36362 217.59705,260.58498 205.95319,259.26163 C 199.0143,258.50479 192.0265,259.05557 185.07797,258.57385 L 184.95474,258.55115 C 190.52416,258.09627 196.12627,258.41608 201.71048,258.24089 C 200.73061,257.42519 199.7615,256.60678 198.78584,255.79733 C 198.83839,254.74081 198.89404,253.68751 198.95274,252.63745 C 201.10832,253.30591 203.25047,254.05206 205.46239,254.53674 C 207.91934,255.20367 209.26588,252.21057 210.90439,250.93161 z " + id="path822" /> + <path + style="fill:#703f23;fill-rule:nonzero;stroke:none" + d="M 210.90439,250.93161 C 213.63867,250.53171 216.38487,250.21639 219.13649,249.93604 C 216.80894,251.67058 214.45483,253.36862 212.08032,255.03772 C 218.58682,256.38428 224.95055,258.47653 231.58375,259.16371 C 245.03627,259.32556 258.50485,259.35732 271.96429,259.25456 C 278.72111,259.14757 285.4771,259.54173 292.23486,259.35642 C 275.17316,260.34822 258.07393,259.47151 240.99678,259.80234 C 229.31517,259.36362 217.59705,260.58498 205.95319,259.26163 C 199.0143,258.50479 192.0265,259.05557 185.07797,258.57385 L 184.95474,258.55115 C 190.52416,258.09627 196.12627,258.41608 201.71048,258.24089 C 200.73061,257.42519 199.7615,256.60678 198.78584,255.79733 C 198.83839,254.74081 198.89404,253.68751 198.95274,252.63745 C 201.10832,253.30591 203.25047,254.05206 205.46239,254.53674 C 207.91934,255.20367 209.26588,252.21057 210.90439,250.93161 z " + id="path824" /> + <path + style="fill:none;stroke:#663a21;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 304.27911,254.86011 C 310.62088,252.37933 317.19182,250.3886 324.02441,249.92853 C 321.31871,251.67744 318.58701,253.38403 315.86328,255.1021 C 320.57819,256.26781 325.3338,257.34538 330.18545,257.767 L 329.24291,257.92931 C 319.82668,259.44771 310.26753,259.09731 300.77612,258.8481 C 302.715,258.68489 304.65074,258.45535 306.58891,258.23431 C 305.81641,257.10585 305.04678,255.9816 304.27911,254.86011 z " + id="path826" /> + <path + style="fill:#663a21;fill-rule:nonzero;stroke:none" + d="M 304.27911,254.86011 C 310.62088,252.37933 317.19182,250.3886 324.02441,249.92853 C 321.31871,251.67744 318.58701,253.38403 315.86328,255.1021 C 320.57819,256.26781 325.3338,257.34538 330.18545,257.767 L 329.24291,257.92931 C 319.82668,259.44771 310.26753,259.09731 300.77612,258.8481 C 302.715,258.68489 304.65074,258.45535 306.58891,258.23431 C 305.81641,257.10585 305.04678,255.9816 304.27911,254.86011 z " + id="path828" /> + <path + style="fill:none;stroke:#a85923;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 178.52684,257.13132 C 184.59142,255.35202 190.67757,253.64607 196.75235,251.90236 C 197.30244,252.08614 198.40265,252.45367 198.95274,252.63745 C 198.89404,253.68751 198.83839,254.74081 198.78584,255.79733 C 199.7615,256.60678 200.73061,257.42519 201.71048,258.24089 C 196.12627,258.41608 190.52416,258.09627 184.95474,258.55115 C 182.78874,258.17036 180.69078,257.49753 178.52684,257.13132 z " + id="path830" /> + <path + style="fill:#a85923;fill-rule:nonzero;stroke:none" + d="M 178.52684,257.13132 C 184.59142,255.35202 190.67757,253.64607 196.75235,251.90236 C 197.30244,252.08614 198.40265,252.45367 198.95274,252.63745 C 198.89404,253.68751 198.83839,254.74081 198.78584,255.79733 C 199.7615,256.60678 200.73061,257.42519 201.71048,258.24089 C 196.12627,258.41608 190.52416,258.09627 184.95474,258.55115 C 182.78874,258.17036 180.69078,257.49753 178.52684,257.13132 z " + id="path832" /> + <path + style="fill:none;stroke:#573d23;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 532.95911,256.14644 C 535.28879,253.1459 539.12563,252.37346 542.59508,251.47069 C 542.05179,253.29018 541.65965,255.18295 540.80586,256.89305 C 538.3591,258.39133 535.35631,257.12051 532.95911,256.14644 z " + id="path834" /> + <path + style="fill:#573d23;fill-rule:nonzero;stroke:none" + d="M 532.95911,256.14644 C 535.28879,253.1459 539.12563,252.37346 542.59508,251.47069 C 542.05179,253.29018 541.65965,255.18295 540.80586,256.89305 C 538.3591,258.39133 535.35631,257.12051 532.95911,256.14644 z " + id="path836" /> + <path + style="fill:none;stroke:#020202;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 300.77612,258.8481 C 310.26753,259.09731 319.82668,259.44771 329.24291,257.92931 C 329.77913,258.21402 330.85158,258.78346 331.38779,259.06819 C 328.95427,259.80424 326.46805,260.44488 323.92171,260.5734 C 312.53184,260.85269 301.08186,260.05164 289.75324,261.53654 C 267.50119,261.63246 245.24626,261.56218 222.99345,261.56285 C 217.32037,261.45239 211.60486,261.76598 205.98125,260.85406 C 197.88515,260.06952 189.66139,261.24638 181.60991,259.90684 C 182.75549,259.43822 183.91151,258.9939 185.07797,258.57385 C 192.0265,259.05557 199.0143,258.50479 205.95319,259.26163 C 217.59705,260.58498 229.31517,259.36362 240.99678,259.80234 C 258.07393,259.47151 275.17316,260.34822 292.23486,259.35642 C 295.08081,259.20164 297.92529,258.99115 300.77612,258.8481 z " + id="path838" /> + <path + style="fill:#020202;fill-rule:nonzero;stroke:none" + d="M 300.77612,258.8481 C 310.26753,259.09731 319.82668,259.44771 329.24291,257.92931 C 329.77913,258.21402 330.85158,258.78346 331.38779,259.06819 C 328.95427,259.80424 326.46805,260.44488 323.92171,260.5734 C 312.53184,260.85269 301.08186,260.05164 289.75324,261.53654 C 267.50119,261.63246 245.24626,261.56218 222.99345,261.56285 C 217.32037,261.45239 211.60486,261.76598 205.98125,260.85406 C 197.88515,260.06952 189.66139,261.24638 181.60991,259.90684 C 182.75549,259.43822 183.91151,258.9939 185.07797,258.57385 C 192.0265,259.05557 199.0143,258.50479 205.95319,259.26163 C 217.59705,260.58498 229.31517,259.36362 240.99678,259.80234 C 258.07393,259.47151 275.17316,260.34822 292.23486,259.35642 C 295.08081,259.20164 297.92529,258.99115 300.77612,258.8481 z " + id="path840" /> + <path + style="fill:none;stroke:#111111;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10" + d="M 513.17706,259.18939 C 514.3504,259.22273 515.53008,259.26398 516.71605,259.31309 C 516.56995,259.78748 516.27776,260.73625 516.13165,261.21063 C 515.19679,261.42059 514.26846,261.63414 513.34665,261.85126 C 513.30426,261.18579 513.21947,259.85486 513.17706,259.18939 z " + id="path842" /> + <path + style="fill:#111111;fill-rule:nonzero;stroke:none" + d="M 513.17706,259.18939 C 514.3504,259.22273 515.53008,259.26398 516.71605,259.31309 C 516.56995,259.78748 516.27776,260.73625 516.13165,261.21063 C 515.19679,261.42059 514.26846,261.63414 513.34665,261.85126 C 513.30426,261.18579 513.21947,259.85486 513.17706,259.18939 z " + id="path844" /> + </g> +</svg> diff --git a/panels/clock/biber/hour.svg b/panels/clock/biber/hour.svg new file mode 100755 index 0000000000000000000000000000000000000000..66227c516df9ab1260b45348152c2678443d749f --- /dev/null +++ b/panels/clock/biber/hour.svg @@ -0,0 +1,3 @@ +<svg data-clock="analog" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full" width="200px" height="200px" viewBox="0 0 200 200"> +<rect x="95" y="40" width="10" height="65" style="stroke:none"></rect> +</svg> diff --git a/panels/clock/biber/minute.svg b/panels/clock/biber/minute.svg new file mode 100755 index 0000000000000000000000000000000000000000..2cf623669c94c8755ed148e313a9a9daeb6c715f --- /dev/null +++ b/panels/clock/biber/minute.svg @@ -0,0 +1,4 @@ +<svg data-clock="analog" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full" width="200px" height="200px" viewBox="0 0 200 200"> +<!-- minute hand --> +<rect x="95" y="6" width="8" height="99" style="stroke:none"></rect> +</svg> diff --git a/panels/clock/biber/second.svg b/panels/clock/biber/second.svg new file mode 100755 index 0000000000000000000000000000000000000000..f93bac9f5ecb1ea9cbac4fea1f0a1843bfbcadce --- /dev/null +++ b/panels/clock/biber/second.svg @@ -0,0 +1,3 @@ +<svg data-clock="analog" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" version="1.1" baseProfile="full" width="200px" height="200px" viewBox="0 0 200 200"> +<polygon points="99.4,8 100.6,8 102.8,123 97.2,123" style="stroke:none"></polygon> +</svg> diff --git a/panels/clock/script.js b/panels/clock/script.js new file mode 100755 index 0000000000000000000000000000000000000000..fb4ed75e701c8150141bf501afb595f0c511ada4 --- /dev/null +++ b/panels/clock/script.js @@ -0,0 +1,94 @@ +this.loaded = function(panel, config) { + this.clock = { + hour: panel.find("[data-clock-hand=hour]"), + minute: panel.find("[data-clock-hand=minute]"), + second: panel.find("[data-clock-hand=second]"), + digitalContainer : panel.find("[data-clock=digital]"), + digital : panel.find("[data-clock=digital] span"), + datum: panel.find("[data-clock=datum]"), + "config": config, + lasttext: "", + lastdate: "" + }; + + var self = { 'me': this }; + + + var r = function() { + var svg = panel.find('[data-clock=analog]'); + var imgs = panel.find('[data-clock=analog] img'); + var w = panel.width(); + var h = panel.height(); + var q = (w<h?w:h); + svg.css({"height":q + "px","width":q + "px"}); + imgs.css({"height":q + "px","width":q + "px"}); + var fsh = h/53; + var fsw = (w-q)/(220); + + var fs = (fsh<fsw?fsh:fsw); + var lh = q; + + this.clock.digitalContainer.textfill( + { + maxFontPixels:-1 + }); + }; + + + self.c = function() {updateTime.call(self.me)}; + self.r = function() {r.call(self.me)}; + + + self.c(); + setTimeout ( self.r , 100); + setInterval( self.c , 500); + $(window).resize( self.r ); +} + +var rotateElement = function (id, angle) { + id.css('transform', 'rotate('+angle+'deg)'); +} +var updateTime = function() { // rotate clock element + var months = ["Januar","Februar","März","April","Mai","Juni","Juli", + "August","September","Oktober","November","Dezember"]; + var days = ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]; + var date = new Date(); + // date + var t = date.getDay(); + var d = date.getDate(); + var m = date.getMonth(); + var y = date.getFullYear(); + // time + var h = date.getHours(); + if (h.toString().length < 2) + h = "0" + h; + var i = date.getMinutes(); + if (i.toString().length < 2) + i = "0" + i; + var s = date.getSeconds(); + if (s.toString().length < 2) + s = "0" + s; + + var newtext=h+":"+i+":"+s; + if (newtext != this.clock.lasttext) { + this.clock.lasttext = newtext; + this.clock.digital.text(newtext); + + rotateElement(this.clock.hour, 30 * h + 0.5 * i); + rotateElement(this.clock.minute, 6 * i); + rotateElement(this.clock.second, 6 * s); + var newdate = days[t] + ", " + d + "." + months[m] + ", " + y; + if (newdate != this.clock.lastdate) { + this.clock.lastdate = newdate; + this.clock.datum.text(newdate); + } + } +/* $("[panel=time] [clock] [number=h0]").html(h.toString()[0]); + $("[panel=time] [clock] [number=h1]").html(h.toString()[1]); + $("[panel=time] [clock] [number=m0]").html(i.toString()[0]); + $("[panel=time] [clock] [number=m1]").html(i.toString()[1]); + $("[panel=time] [clock] [number=s0]").html(s.toString()[0]); + $("[panel=time] [clock] [number=s1]").html(s.toString()[1]); + $("[panel=time] [date]").html(days[t] + ", " + d + "." + months[m] + ", " + y);*/ + +} diff --git a/panels/clock/style.less b/panels/clock/style.less new file mode 100755 index 0000000000000000000000000000000000000000..a86736177f443d23cc422f8b6c75d7c3593ecbe3 --- /dev/null +++ b/panels/clock/style.less @@ -0,0 +1,159 @@ +[data-clock=right],[data-clock=analog] { + float:left; + height:100%; +} +[data-clock=analog] { + display: block; +} +[data-clock=analog] img { + width: 200px; + height: 200px; + position: absolute; +} +[data-biber] { + opacity: 0.3; +} +[data-clock=right]{ +} +[data-clock=digital] { + display: -webkit-box; +-webkit-box-pack: justify; +-webkit-box-align: center; +display: -moz-box; +-moz-box-pack: justify; +-moz-box-align: center; +display: -ms-flexbox; +-ms-flex-pack: justify; +-ms-flex-align: center; +display: box; +box-pack: justify; +box-align: center; +height:100%; + +} +[data-clock]{ + + font-family: lcd; +} + +[data-clock=digital] { + + @keyframes clock24 { + from {top: 0%;} + to {top: -2400%;} + } + + @keyframes clock60 { + from {top: 0%;} + to {top: -6000%;} + } + + @keyframes clockPulse { + 0% {color: #AA0000;} + 50% {color: #550000;} + 100% {color: #AA0000;} + } + + [data-clock] { + position: relative; + width: 400px; + height: 200px; + overflow: hidden; + padding: 0px; + text-align: center; + background-color: #000000; + color: #550000; + box-sizing: border-box; + } + + [data-clock] [data-clock-seperator] { + position: relative; + display: inline-table; + top: -20px; + height: 120px; + font-size: 150px; + line-height: 150px; + margin-top: -20px; + width: 5px; + text-align: center; + margin-left: -20px; + margin-right: -20px; + } + + [data-clock] [data-clock-number] { + margin-top: -10px; + } + + [data-clock] [data-clock-number=hour], [data-clock] [data-clock-number=minute] { + position: relative; + display: inline-table; + font-size: 150px; + line-height: 150px; + text-align: center; + overflow: hidden; + } + + [data-clock] [data-clock-number=second] { + position: relative; + display: inline-table; + margin-left: 5px; + font-size: 75px; + line-height: 150px; + text-align: center; + overflow: hidden; + } + + [data-clock] [data-clock-number] [data-clock-indicator] { + position: absolute; + color: #AA0000; + text-align: center; + top: 0px; + } + + [data-clock=css] [data-clock-number=hour] [data-clock-indicator] { + animation: clock24 86400s steps(24) infinite; + } + + [data-clock=css] [data-clock-number=minute] [data-clock-indicator] { + animation: clock60 3600s steps(60) infinite; + } + + [data-clock=css] [data-clock-number=second] [data-clock-indicator] { + animation: clock60 60s steps(60) infinite; + } + + [data-clock=css] [data-clock-seperator] { + animation: clockPulse 1s steps(1) infinite; + } + + [data-clock-date] { + position: relative; + display: inline-table; + display: inline-table; + height: 75px; + font-size: 75px; + line-height: 75px; + text-align: center; + margin-top: -60px; + margin-left: -20px; + margin-right: -20px; + } + + [data-clock-date] [data-clock-date-background] { + position: absolute; + display: inline-table; + text-align: center; + top: 0px; + left: 0px; + } + + [data-clock-date] [data-clock-date-indicator] { + position: absolute; + display: inline-table; + text-align: center; + top: 0px; + left: 0px; + color: #AA0000; + } + +} diff --git a/panels/clock/template.html b/panels/clock/template.html new file mode 100755 index 0000000000000000000000000000000000000000..a432d8c68ec3b44edc0bd7d02ee27e6781db226e --- /dev/null +++ b/panels/clock/template.html @@ -0,0 +1,14 @@ +<div data-clock=analog> + <img src="panels/clock/biber/background.svg"/> + <img data-biber src="panels/clock/biber/biber.svg"/> + <img data-clock-hand="hour" src="panels/clock/biber/hour.svg"/> + <img data-clock-hand="minute" src="panels/clock/biber/minute.svg"/> + <img data-clock-hand="second" src="panels/clock/biber/second.svg"/> +</div> +<div data-clock="digital"> + <span></span> +</div><!-- +<div data-clock="right"> + <div data-clock="datum"> + </div> +</div>--> diff --git a/panels/clock2/clock.css b/panels/clock2/clock.css new file mode 100755 index 0000000000000000000000000000000000000000..d34da999100d891333d1ac61bceae1a9c005dcc4 --- /dev/null +++ b/panels/clock2/clock.css @@ -0,0 +1,117 @@ +@keyframes clock24 { + from {top: 0%;} + to {top: -2400%;} +} + +@keyframes clock60 { + from {top: 0%;} + to {top: -6000%;} +} + +@keyframes clockPulse { + 0% {color: #AA0000;} + 50% {color: #550000;} + 100% {color: #AA0000;} +} + +[data-clock] { + position: relative; + width: 400px; + height: 200px; + overflow: hidden; + padding: 0px; + text-align: center; + background-color: #000000; + color: #550000; + box-sizing: border-box; +} + +[data-clock] [data-clock-seperator] { + position: relative; + display: inline-table; + top: -20px; + height: 120px; + font-size: 150px; + line-height: 150px; + margin-top: -20px; + width: 5px; + text-align: center; + margin-left: -20px; + margin-right: -20px; +} + +[data-clock] [data-clock-number] { + margin-top: -10px; +} + +[data-clock] [data-clock-number=hour], [data-clock] [data-clock-number=minute] { + position: relative; + display: inline-table; + font-size: 150px; + line-height: 150px; + text-align: center; + overflow: hidden; +} + +[data-clock] [data-clock-number=second] { + position: relative; + display: inline-table; + margin-left: 5px; + font-size: 75px; + line-height: 150px; + text-align: center; + overflow: hidden; +} + +[data-clock] [data-clock-number] [data-clock-indicator] { + position: absolute; + color: #AA0000; + text-align: center; + top: 0px; +} + +[data-clock=css] [data-clock-number=hour] [data-clock-indicator] { + animation: clock24 86400s steps(24) infinite; +} + +[data-clock=css] [data-clock-number=minute] [data-clock-indicator] { + animation: clock60 3600s steps(60) infinite; +} + +[data-clock=css] [data-clock-number=second] [data-clock-indicator] { + animation: clock60 60s steps(60) infinite; +} + +[data-clock=css] [data-clock-seperator] { + animation: clockPulse 1s steps(1) infinite; +} + +[data-clock-date] { + position: relative; + display: inline-table; + display: inline-table; + height: 75px; + font-size: 75px; + line-height: 75px; + text-align: center; + margin-top: -60px; + margin-left: -20px; + margin-right: -20px; +} + +[data-clock-date] [data-clock-date-background] { + position: absolute; + display: inline-table; + text-align: center; + top: 0px; + left: 0px; +} + +[data-clock-date] [data-clock-date-indicator] { + position: absolute; + display: inline-table; + text-align: center; + top: 0px; + left: 0px; + color: #AA0000; +} \ No newline at end of file diff --git a/panels/clock2/clock.js b/panels/clock2/clock.js new file mode 100755 index 0000000000000000000000000000000000000000..f57ff1ceb947dfed48d6b07d0056758e2d48da3c --- /dev/null +++ b/panels/clock2/clock.js @@ -0,0 +1,79 @@ +$(document).ready(init()); + +var + ClockCssIndicator, + ClockCssSeperator, + ClockHour, + ClockMinute, + ClockSecond, + ClockSeperator, + clockDate; + +function init() { + var date = new Date(); + var delay = date.getHours() * 3600 + date.getMinutes() * 60 + date.getSeconds(); + ClockCssIndicator = $('[data-clock=css] [data-clock-number] [data-clock-indicator]'); + ClockCssSeperator = $('[data-clock=css] [data-clock-seperator]'); + ClockHour = $('[data-clock=js] [data-clock-number=hour] [data-clock-indicator]'); + ClockMinute = $('[data-clock=js] [data-clock-number=minute] [data-clock-indicator]'); + ClockSecond = $('[data-clock=js] [data-clock-number=second] [data-clock-indicator]'); + ClockSeperator = $('[data-clock=js] [data-clock-seperator]'); + clockDate = $('[data-clock] [data-clock-date-indicator]'); + setInterval(updateTime, 10); + updateTime(); + updateDate(); + setDelay(); + + $(document).on("visibilitychange", function(e) { + if (document.visible) setDelay(); + }); +} + +function setDelay() { + var date = new Date(); + var delay = date.getHours() * 3600 + date.getMinutes() * 60 + date.getSeconds() + date.getMilliseconds() / 1000; + $(ClockCssIndicator).css('animation-delay', -(delay) + 's'); + $(ClockCssSeperator).css('animation-delay', -(date.getMilliseconds() / 1000) + 's'); + // + (date.getMilliseconds() / 1000) + console.log('clock-delay: ' + (-delay) +'s'); + console.log('next in: ' + (86400-delay) +'s'); + setTimeout(function() { + updateDate(); + }, (86400-delay)*1000); +} + +function updateTime() { + var date = new Date(); + // time + var h = date.getHours(); + if (h.toString().length < 2) + h = "0" + h; + var i = date.getMinutes(); + if (i.toString().length < 2) + i = "0" + i; + var s = date.getSeconds(); + if (s.toString().length < 2) + s = "0" + s; + + $(ClockHour).html(h); + $(ClockMinute).html(i); + $(ClockSecond).html(s); + $(ClockSeperator).css('color', (date.getMilliseconds() > 500) ? '#550000' : '#AA0000') +} + +function updateDate() { + + var months = ["jan","feb","mar","apr","may","jun","jul", + "aug","sep","oct","nov","dec"]; + var days = ["su","mo","tu","we","th","fr","sa"]; + var date = new Date(); + // date + var t = date.getDay(); + var d = date.getDate(); + if (d.toString().length < 2) + d = "0" + d; + var m = date.getMonth(); + var y = date.getFullYear(); + + $(clockDate).html(days[t] + " " + d + " " + months[m] + " " + y); +} \ No newline at end of file diff --git a/panels/clock2/font.css b/panels/clock2/font.css new file mode 100755 index 0000000000000000000000000000000000000000..54a92d4ec7a1437515c7702d519642a6f023a888 --- /dev/null +++ b/panels/clock2/font.css @@ -0,0 +1,32 @@ +@font-face { + font-family: 'time-thin'; + font-style: normal; + font-weight: 400; + src: url(time-thin.ttf) format('truetype'); +} + +@font-face { + font-family: 'time-medium'; + font-style: normal; + font-weight: 400; + src: url(time-medium.ttf) format('truetype'); +} + +@font-face { + font-family: 'time-fat'; + font-style: normal; + font-weight: 400; + src: url(time-fat.ttf) format('truetype'); +} + +[data-font=time-thin] { + font-family: time-thin; +} + +[data-font=time-medium] { + font-family: time-medium; +} + +[data-font=time-fat] { + font-family: time-fat; +} \ No newline at end of file diff --git a/panels/clock2/index.html b/panels/clock2/index.html new file mode 100755 index 0000000000000000000000000000000000000000..23937cb58606cbcf080292202ab68bd9e33e5092 --- /dev/null +++ b/panels/clock2/index.html @@ -0,0 +1,94 @@ +<?php +Header("content-type:text/html;charset=utf-8"); +?> +<!DOCTYPE html> +<html> + <head> + <meta name="robots" content="noindex, nofollow"> + <meta http-equiv="content-type" content="text/html; charset=utf8"> + <link rel="stylesheet" href="clock.css"/> + <link rel="stylesheet" href="font.css"/> + <script src="jquery.js"></script> + <script async src="clock.js"></script> + </head> + <body> + <h1>CSS</h1> + <div data-clock="css" data-font="time-medium"> + <div data-clock-number="hour"> + 88 + <div data-clock-indicator> + 00<br>01<br>02<br>03<br>04<br>05<br>06<br>07<br>08<br>09<br> + 10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br> + 20<br>21<br>22<br>23 + </div> + </div> + <div data-clock-seperator data-font="time-fat"> + : + </div> + <div data-clock-number="minute"> + 88 + <div data-clock-indicator> + 00<br>01<br>02<br>03<br>04<br>05<br>06<br>07<br>08<br>09<br> + 10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br> + 20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br> + 30<br>31<br>32<br>33<br>34<br>35<br>36<br>37<br>38<br>39<br> + 40<br>41<br>42<br>43<br>44<br>45<br>46<br>47<br>48<br>49<br> + 50<br>51<br>52<br>53<br>54<br>55<br>56<br>57<br>58<br>59 + </div> + </div> + <div data-clock-number="second"> + 88 + <div data-clock-indicator> + 00<br>01<br>02<br>03<br>04<br>05<br>06<br>07<br>08<br>09<br> + 10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br> + 20<br>21<br>22<br>23<br>24<br>25<br>26<br>27<br>28<br>29<br> + 30<br>31<br>32<br>33<br>34<br>35<br>36<br>37<br>38<br>39<br> + 40<br>41<br>42<br>43<br>44<br>45<br>46<br>47<br>48<br>49<br> + 50<br>51<br>52<br>53<br>54<br>55<br>56<br>57<br>58<br>59 + </div> + </div> + <div data-clock-date> + 00 00 000 0000 + <div data-clock-date-background> + ** ** *** **** + </div> + <div data-clock-date-indicator> + th 01 jan 1970 + </div> + </div> + </div> + <h1>JS (10ms)</h1> + <div data-clock="js" data-font="time-medium"> + <div data-clock-number="hour"> + 88 + <div data-clock-indicator> + 00 + </div> + </div> + <div data-clock-seperator data-font="time-fat"> + : + </div> + <div data-clock-number="minute"> + 88 + <div data-clock-indicator> + 00 + </div> + </div> + <div data-clock-number="second"> + 88 + <div data-clock-indicator> + 00 + </div> + </div> + <div data-clock-date> + 00 00 000 0000 + <div data-clock-date-background> + ** ** *** **** + </div> + <div data-clock-date-indicator> + th 01 jan 1970 + </div> + </div> + </div> + </body> +</html> \ No newline at end of file diff --git a/panels/clock2/jquery.js b/panels/clock2/jquery.js new file mode 100755 index 0000000000000000000000000000000000000000..e5ace116b6f53cfec96eb5175ecd36f727ad4047 --- /dev/null +++ b/panels/clock2/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) +},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b)) +},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n}); diff --git a/panels/clock2/time-fat.ttf b/panels/clock2/time-fat.ttf new file mode 100755 index 0000000000000000000000000000000000000000..3efe6e2c4204886fc1c5bed159937d8af0487799 Binary files /dev/null and b/panels/clock2/time-fat.ttf differ diff --git a/panels/clock2/time-medium.ttf b/panels/clock2/time-medium.ttf new file mode 100755 index 0000000000000000000000000000000000000000..ef937e67db84088d280f0d1c4b22710f2955d9dc Binary files /dev/null and b/panels/clock2/time-medium.ttf differ diff --git a/panels/clock2/time-thin.ttf b/panels/clock2/time-thin.ttf new file mode 100755 index 0000000000000000000000000000000000000000..202988a6760ca0c5d930574c47814f0636f54ea3 Binary files /dev/null and b/panels/clock2/time-thin.ttf differ diff --git a/panels/departure/script.js b/panels/departure/script.js new file mode 100755 index 0000000000000000000000000000000000000000..dc37ca78fe788ef9914642833514a0cec8fceb72 --- /dev/null +++ b/panels/departure/script.js @@ -0,0 +1,144 @@ +this.loaded = function(panel, config) { + console.log("departures: register with config [" + config + "]"); + $(panel).append('<div data-departure-view></div>'); + var innerContainer = $(panel).find('[data-departure-view]'); + + var u = function() { + update(panel,config,innerContainer); + }; + setInterval(u, 60000); + + var r = function() { + // console.log(panel); + resize(panel, innerContainer); + }; + $(window).resize(r); + + u(); + r(); +} + +var update = function(panel,config,innerContainer) { + console.log("departures: get data [" + config + "]"); + $.get("panels/departure/test.json", function(decodedData) { + var + tplDeparture = $(panel).find('template[data-departure]').html(), + tplStop = $(panel).find('template[data-stop]').html(), + tplInfo = $(panel).find('template[data-info]').html(), + tplError = $(panel).find('template[data-error]').html(), + tplVRRFError = $(panel).find('template[data-vrrf-error]').html(), + elementArray = []; + + console.log("departures: check vrrf errors [" + config + "]"); + if (decodedData.errors) { + for (var i in decodedData.errors) { + if (decodedData.errors[i]) { + var + buffer = $(tplVRRFError).clone(); + $(buffer).find('[data-stopname]').html(i); + $(buffer).find('[data-message]').html(decodedData.errors[i]); + elementArray.push(buffer); + } + } + } + console.log("departures: check error [" + config + "]"); + if (decodedData.error) { + var + buffer = $(tplError).clone(); + $(buffer).find('[data-message]').html(decodedData.error); + elementArray.push(buffer); + } + console.log("departures: check information [" + config + "]"); + if (decodedData.info) { + var + buffer = $(tplInfo).clone(); + $(buffer).find('[data-message]').html(decodedData.info); + elementArray.push(buffer); + } + console.log("departures: generate departure elements [" + config + "]"); + if (decodedData.lines) { + for (var i in decodedData.lines) { + if (decodedData.lines[i]) { + var + store = decodedData.lines[i], + lineBuffer = $(tplDeparture).clone(), + stopsArray = [], + stopsBuffer = $(lineBuffer).find('[data-stops]'); + $(lineBuffer).find('[data-transport] [data-number]').html(store.line.toUpperCase()); + $(lineBuffer).find('[data-transport] [data-name]').html(store.destination); + for (var i in store.stops) { + var + subStore = store.stops[i], + stopBuffer = $(tplStop).clone(), + infoText = ''; + if (subStore.cancel == 1) { + infoText = '+++ Fällt aus +++'; + } else if (subStore.delay > 0) { + infoText = '+++ Verspätung ca. ' + subStore.delay + ' Min. +++'; + } + if (subStore.info != "") { + if (infoText != "") { + infoText += '    +++ ' + subStore.info + ' +++'; + } else { + infoText = '+++ ' + subStore.info + ' +++'; + } + } + $(stopBuffer).find('[data-time]').html(subStore.time); + $(stopBuffer).find('[data-name]').html(subStore.name); + $(stopBuffer).find('[data-info] marquee').html(infoText != "" ? infoText + '    ' : ''); + stopsArray.push(stopBuffer); + } + $(stopsBuffer).append(stopsArray); + elementArray.push(lineBuffer); + } + } + } + console.log("departures: insert new HTML [" + config + "]"); + $(innerContainer).empty().append(elementArray); + initMarquee(panel); + resize(panel, innerContainer); + }); +} + +var resize = function(panel, innerContainer) { + //console.log(panel); + var + scale = $(panel).innerHeight() / 100, + lineheads = $(innerContainer).find('[data-transport]'), + linestops = $(innerContainer).find('[data-stop]'), + infoheads = $(innerContainer).find('[data-head]'), + infonames = $(innerContainer).find('[data-stopname]'), + infodatas = $(innerContainer).find('[data-message]'), + // setze größen der schriften mit scale * n wobei n in prozent von panelhöhe + lineheadsH = scale * 4, // überschriften der linien + linestopsH = scale * 3, // haltestellen der linien + infoheadsH = scale * 5, // überschriften der informationen + infonamesH = scale * 4, // haltestellennamen bei vrrf errors + infodatasH = scale * 3; // die eigentliche nachricht der information + + // setze linien überschriften größe + $(lineheads).css('height', lineheadsH + 'px'); + $(lineheads).css('fontSize', (lineheadsH-2) + 'px'); + $(lineheads).css('lineHeight', lineheadsH + 'px'); + $(lineheads).find('[data-number]').css('width', lineheadsH * 2); + + // setze linien haltestellen größe + $(linestops).css('height', linestopsH + 'px'); + $(linestops).css('fontSize', (linestopsH-2) + 'px'); + $(linestops).css('lineHeight', linestopsH + 'px'); + + // setze info überschriften größe + $(infoheads).css('height', infoheadsH + 'px'); + $(infoheads).css('fontSize', (infoheadsH-2) + 'px'); + $(infoheads).css('lineHeight', infoheadsH + 'px'); + + // setze info haltestellennamen größe + $(infonames).css('height', infonamesH + 'px'); + $(infonames).css('fontSize', (infonamesH-2) + 'px'); + $(infonames).css('lineHeight', infonamesH + 'px'); + + // setze info nachricht größe + $(infodatas).css('height', infodatasH + 'px'); + $(infodatas).css('fontSize', (infodatasH-2) + 'px'); + $(infodatas).css('lineHeight', infodatasH + 'px'); +} diff --git a/panels/departure/style.less b/panels/departure/style.less new file mode 100755 index 0000000000000000000000000000000000000000..73dc9e7b2c1dbab18f6cf26ea14383404a8b96e6 --- /dev/null +++ b/panels/departure/style.less @@ -0,0 +1,193 @@ +[data-departure-view] { + position: relative; + width: 100%; + height: 100%; + background-color: #000000; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + overflow: hidden; + font-family: display; + + [data-departure] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + + [data-transport] { + position: relative; + display: inline-table; + width: 100%; + white-space: nowrap; + + [data-number] { + position: relative; + display: inline-table; + background-color: #FFFFFF; + color: #0000A0; + width: 10%; + height: 100%; + text-align: right; + padding: 0px 5px; + } + + [data-name] { + position: relative; + display: inline-table; + background-color: #0000A0; + color: #FFFFFF; + height: 100%; + padding: 0px 5px; + } + } + + [data-stops] { + position: relative; + display: block; + width: 100%; + + [data-stop] { + position: relative; + display: list-item; + list-style: none; + width: 100%; + margin: 1px 0px 0px 0px; + + [data-time] { + position: relative; + max-width: 7.9%; + height: 100%; + float: left; + overflow: hidden; + padding: 0px 5px 0px 0px; + } + + [data-name] { + position: relative; + max-width: 54.17%; + height: 100%; + float: left; + overflow: hidden; + } + + [data-info] { + position: absolute; + width: 37.93%; + height: 100%; + right: 0px; + overflow: hidden; + + marquee { + background-color: #FFFFFF; + color: #0000A0; + } + + [data-css-marquee] { + position: relative; + overflow: hidden; + width: 100%; + height: 100%; + display: inline-block; + + [data-css-marquee-text] { + position: absolute; + display: table-cell; + padding: 0px; + white-space: nowrap; + background-color: #FFFFFF; + color: #0000A0; + cursor:default; + } + } + } + } + } + } + + [data-information] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + white-space: nowrap; + + [data-head] { + width: 100%; + background-color: #FFFFFF; + color: #0000A0; + text-align: center; + } + + [data-message] { + position: relative; + width: 100%; + } + } + + [data-error] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + white-space: nowrap; + display: hidden; + + [data-head] { + width: 100%; + background-color: #FFFFFF; + color: #0000A0; + text-align: center; + } + + [data-message] { + width: 100%; + } + } + + [data-vrrf-error] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + white-space: nowrap; + display: hidden; + + [data-head] { + width: 100%; + background-color: #FFFFFF; + color: #0000A0; + text-align: center; + } + + [data-stop] { + width: 100%; + } + + [data-message] { + width: 100%; + } + } +} \ No newline at end of file diff --git a/panels/departure/template.html b/panels/departure/template.html new file mode 100755 index 0000000000000000000000000000000000000000..88efb1d1c3407d32a9ca1cde914bf9546e42a2c9 --- /dev/null +++ b/panels/departure/template.html @@ -0,0 +1,42 @@ +<template data-departure> + <div data-departure> + <div data-transport> + <div data-number></div> + <div data-name></div> + </div> + <div data-stops> + </div> + </div> +</template> + +<template data-stop> + <div data-stop> + <div data-time></div> + <div data-name></div> + <div data-info> + <marquee data-marquee data-speed="60"></marquee> + </div> + </div> +</template> + +<template data-info> + <div data-information> + <div data-head>INFORMATION</div> + <div data-message></div> + </div> +</template> + +<template data-error> + <div data-error> + <div data-head>ERROR</div> + <div data-message></div> + </div> +</template> + +<template data-vrrf-error> + <div data-vrrf-error> + <div data-head>VRRF ERROR</div> + <div data-stopname></div> + <div data-message></div> + </div> +</template> \ No newline at end of file diff --git a/panels/departure/test.json b/panels/departure/test.json new file mode 100755 index 0000000000000000000000000000000000000000..0dd676eb3df1b83b63b814274e2cfa73e8d33a89 --- /dev/null +++ b/panels/departure/test.json @@ -0,0 +1 @@ +{"version":"0.1","vrrf_version":"0.07-41-gaf10544","used_vrrf_version":"0.07","errors":{"Dortmund - Josef-von-Fraunhover Stra\u00dfe":null,"Dortmund - Meitnerweg":null,"Dortmund - Universit\u00e4t S":null},"lines":[{"line":"462","destination":"Dortmund Marten S\u00fcd S","type":"Bus","stops":[{"date":"12.06.2015","time":"20:10","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""},{"date":"12.06.2015","time":"20:12","delay":"0","cancel":0,"name":"Dortmund - Meitnerweg","info":""},{"date":"12.06.2015","time":"20:13","delay":"0","cancel":0,"name":"Dortmund - Josef-von-Fraunhover Stra\u00dfe","info":""}]},{"line":"465","destination":"Dortmund Oespel S","type":"Bus","stops":[{"date":"12.06.2015","time":"20:11","delay":"0","cancel":0,"name":"Dortmund - Josef-von-Fraunhover Stra\u00dfe","info":""}]},{"line":"462","destination":"Barop","type":"Bus","stops":[{"date":"12.06.2015","time":"20:16","delay":"0","cancel":0,"name":"Dortmund - Josef-von-Fraunhover Stra\u00dfe","info":""},{"date":"12.06.2015","time":"20:17","delay":"0","cancel":0,"name":"Dortmund - Meitnerweg","info":""},{"date":"12.06.2015","time":"20:22","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"447","destination":"Dortmund Revierpark","type":"Bus","stops":[{"date":"12.06.2015","time":"20:18","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"S1","destination":"Dortmund Hbf","type":"S-Bahn","stops":[{"date":"12.06.2015","time":"20:29","delay":"5","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"S1","destination":"Solingen Hbf","type":"S-Bahn","stops":[{"date":"12.06.2015","time":"20:30","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"465","destination":"Dortmund Oespel S","type":"Bus","stops":[{"date":"12.06.2015","time":"20:31","delay":"1","cancel":0,"name":"Dortmund - Josef-von-Fraunhover Stra\u00dfe","info":""}]},{"line":"447","destination":"Dortmund Hacheney","type":"Bus","stops":[{"date":"12.06.2015","time":"20:34","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"447","destination":"Dortmund Bandelstra\u00dfe","type":"Bus","stops":[{"date":"12.06.2015","time":"20:38","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"447","destination":"Dortmund Bandelstra\u00dfe","type":"Bus","stops":[{"date":"12.06.2015","time":"20:54","delay":null,"cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"S1","destination":"Dortmund Hbf","type":"S-Bahn","stops":[{"date":"12.06.2015","time":"20:59","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"S1","destination":"Solingen Hbf","type":"S-Bahn","stops":[{"date":"12.06.2015","time":"21:00","delay":"0","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"447","destination":"Dortmund Hacheney","type":"Bus","stops":[{"date":"12.06.2015","time":"21:04","delay":null,"cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"465","destination":"Dortmund Bandelstra\u00dfe","type":"Bus","stops":[{"date":"12.06.2015","time":"21:24","delay":null,"cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"S1","destination":"Dortmund Hbf","type":"S-Bahn","stops":[{"date":"12.06.2015","time":"21:29","delay":"7","cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"S1","destination":"Solingen Hbf","type":"S-Bahn","stops":[{"date":"12.06.2015","time":"21:30","delay":null,"cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"447","destination":"Dortmund Hacheney","type":"Bus","stops":[{"date":"12.06.2015","time":"21:34","delay":null,"cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"465","destination":"Dortmund Revierpark","type":"Bus","stops":[{"date":"12.06.2015","time":"21:54","delay":null,"cancel":0,"name":"Dortmund - Universit\u00e4t S","info":""}]},{"line":"462","destination":"Dortmund Huckarde Bushof","type":"Bus","stops":[{"date":"13.06.2015","time":"08:22","delay":null,"cancel":0,"name":"Dortmund - Meitnerweg","info":""},{"date":"13.06.2015","time":"08:23","delay":null,"cancel":0,"name":"Dortmund - Josef-von-Fraunhover Stra\u00dfe","info":""}]},{"line":"462","destination":"Barop","type":"Bus","stops":[{"date":"13.06.2015","time":"08:36","delay":null,"cancel":0,"name":"Dortmund - Meitnerweg","info":""},{"date":"13.06.2015","time":"08:36","delay":null,"cancel":0,"name":"Dortmund - Josef-von-Fraunhover Stra\u00dfe","info":""}]}]} diff --git a/panels/scrollbar/script.js b/panels/scrollbar/script.js new file mode 100755 index 0000000000000000000000000000000000000000..0166f0a8721f907a9339297e4a2c317cdafdd0ea --- /dev/null +++ b/panels/scrollbar/script.js @@ -0,0 +1,64 @@ +this.loaded = function(panel, config) { + console.log("scrollbar: register with config [" + config + "]"); + + $(panel).append('<div data-scrollbar-view></div>'); + + this.scrollbar = { + "config": config, + innerContainer: $(panel).find('[data-scrollbar-view]'), + "panel": panel + } + + var self = { 'me': this }; + + self.u = function() {update.call(self.me)}; + self.r = function() {resize.call(self.me.scrollbar.innerContainer)}; + + +/* var u = function() { + update(panel,config,innerContainer); + };*/ + setInterval(self.u, 300000); + + /*var r = function() { + console.log(panel); + resize(panel, innerContainer); + };*/ + + $(window).resize(self.r); + + self.u(); +} + +var update = function(panel,config,innerContainer) { + console.log("scrollbar: get data [" + this.scrollbar.config + "]"); + var self = this; + $.get("config/panel/scrollbar/oh14.json", function(decodedData) { + var + tplScrl = $(self.scrollbar.panel).find('template[data-scrollbar]').html(), + element = '', + concatText = ''; + console.log("scrollbar: parse texts [" + self.scrollbar.config + "]"); + concatText = '+++ ' + decodedData.texts.join(' +++    +++ ') + ' +++    '; + element = $(tplScrl).clone(); + $(element).html(concatText); + console.log("scrollbar: insert new HTML [" + self.scrollbar.config + "]"); + $(self.scrollbar.innerContainer).empty().append(element); + initMarquee(self.scrollbar.panel); + resize(self.scrollbar.innerContainer); + }); +} + +var resize = function(innerContainer) { + //console.log(panel); + var + scale = $(innerContainer).innerHeight() / 100, + text = $(innerContainer).find('[data-marquee]'), + // setze größen der schriften mit scale * n wobei n in prozent von panelhöhe + textH = scale * 90; // der scrolltext + + // setze info nachricht größe + $(text).css('height', textH + 'px'); + $(text).css('fontSize', (textH-2) + 'px'); + $(text).css('lineHeight', textH + 'px'); +} diff --git a/panels/scrollbar/style.less b/panels/scrollbar/style.less new file mode 100755 index 0000000000000000000000000000000000000000..2986bdbdef505f3b70d87064709dcd689acbd6eb --- /dev/null +++ b/panels/scrollbar/style.less @@ -0,0 +1,37 @@ +[data-scrollbar-view] { + position: relative; + width: 100%; + height: 100%; + background-color: #000000; + border-style: solid; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + overflow: hidden; + font-family: vrr; + + marquee { + background-color: #000000; + color: #FFC000; + } + + [data-css-marquee] { + position: relative; + overflow: hidden; + width: 100%; + height: 100%; + display: inline-block; + background-color: #000000; + + [data-css-marquee-text] { + position: absolute; + display: table-cell; + padding: 0px; + white-space: nowrap; + background-color: #000000; + color: #FFC000; + cursor:default; + } + } + +} \ No newline at end of file diff --git a/panels/scrollbar/template.html b/panels/scrollbar/template.html new file mode 100755 index 0000000000000000000000000000000000000000..9572ec6bb161efa976cf919003dc6fc4aa457e1e --- /dev/null +++ b/panels/scrollbar/template.html @@ -0,0 +1,3 @@ +<template data-scrollbar> + <marquee data-marquee data-speed="60"></marquee> +</template> \ No newline at end of file diff --git a/style.php b/style.php new file mode 100755 index 0000000000000000000000000000000000000000..a758b95732f3f8194c11868c5d72eed642dd9bb7 --- /dev/null +++ b/style.php @@ -0,0 +1,24 @@ +<?php +//header("content-type:text/css;charset=utf8"); + +require "lessc.php"; +$less = new lessc(); +$style = $_GET["style"]; +echo $style; +$less_file = "panels/" . $style . "/style.less"; + + +if ( !file_exists(filemtime($less_file)) ) +{ +$code = + $less->compile( + "[data-template=$style] {" . + file_get_contents( $less_file ) . + "}" +); +} + +file_put_contents("tmp/" . $style . ".css", $code); + +header("Location: tmp/" . $style . ".css" ); +?> diff --git a/tmp/clock.css b/tmp/clock.css new file mode 100755 index 0000000000000000000000000000000000000000..7c0fa9f759bdd1f0dc5eb13afb03828870b56cd1 --- /dev/null +++ b/tmp/clock.css @@ -0,0 +1,150 @@ +[data-template=clock] [data-clock=right], +[data-template=clock] [data-clock=analog] { + float: left; + height: 100%; +} +[data-template=clock] [data-clock=analog] { + display: block; +} +[data-template=clock] [data-clock=analog] img { + width: 200px; + height: 200px; + position: absolute; +} +[data-template=clock] [data-biber] { + opacity: 0.3; +} +[data-template=clock] [data-clock=digital] { + display: -webkit-box; + -webkit-box-pack: justify; + -webkit-box-align: center; + display: -moz-box; + -moz-box-pack: justify; + -moz-box-align: center; + display: -ms-flexbox; + -ms-flex-pack: justify; + -ms-flex-align: center; + display: box; + box-pack: justify; + box-align: center; + height: 100%; +} +[data-template=clock] [data-clock] { + font-family: lcd; +} +@keyframes clock24 { + [data-template=clock] [data-clock=digital] from { + top: 0%; + } + [data-template=clock] [data-clock=digital] to { + top: -2400%; + } +} +@keyframes clock60 { + [data-template=clock] [data-clock=digital] from { + top: 0%; + } + [data-template=clock] [data-clock=digital] to { + top: -6000%; + } +} +@keyframes clockPulse { + [data-template=clock] [data-clock=digital] 0% { + color: #AA0000; + } + [data-template=clock] [data-clock=digital] 50% { + color: #550000; + } + [data-template=clock] [data-clock=digital] 100% { + color: #AA0000; + } +} +[data-template=clock] [data-clock=digital] [data-clock] { + position: relative; + width: 400px; + height: 200px; + overflow: hidden; + padding: 0px; + text-align: center; + background-color: #000000; + color: #550000; + box-sizing: border-box; +} +[data-template=clock] [data-clock=digital] [data-clock] [data-clock-seperator] { + position: relative; + display: inline-table; + top: -20px; + height: 120px; + font-size: 150px; + line-height: 150px; + margin-top: -20px; + width: 5px; + text-align: center; + margin-left: -20px; + margin-right: -20px; +} +[data-template=clock] [data-clock=digital] [data-clock] [data-clock-number] { + margin-top: -10px; +} +[data-template=clock] [data-clock=digital] [data-clock] [data-clock-number=hour], +[data-template=clock] [data-clock=digital] [data-clock] [data-clock-number=minute] { + position: relative; + display: inline-table; + font-size: 150px; + line-height: 150px; + text-align: center; + overflow: hidden; +} +[data-template=clock] [data-clock=digital] [data-clock] [data-clock-number=second] { + position: relative; + display: inline-table; + margin-left: 5px; + font-size: 75px; + line-height: 150px; + text-align: center; + overflow: hidden; +} +[data-template=clock] [data-clock=digital] [data-clock] [data-clock-number] [data-clock-indicator] { + position: absolute; + color: #AA0000; + text-align: center; + top: 0px; +} +[data-template=clock] [data-clock=digital] [data-clock=css] [data-clock-number=hour] [data-clock-indicator] { + animation: clock24 86400s steps(24) infinite; +} +[data-template=clock] [data-clock=digital] [data-clock=css] [data-clock-number=minute] [data-clock-indicator] { + animation: clock60 3600s steps(60) infinite; +} +[data-template=clock] [data-clock=digital] [data-clock=css] [data-clock-number=second] [data-clock-indicator] { + animation: clock60 60s steps(60) infinite; +} +[data-template=clock] [data-clock=digital] [data-clock=css] [data-clock-seperator] { + animation: clockPulse 1s steps(1) infinite; +} +[data-template=clock] [data-clock=digital] [data-clock-date] { + position: relative; + display: inline-table; + height: 75px; + font-size: 75px; + line-height: 75px; + text-align: center; + margin-top: -60px; + margin-left: -20px; + margin-right: -20px; +} +[data-template=clock] [data-clock=digital] [data-clock-date] [data-clock-date-background] { + position: absolute; + display: inline-table; + text-align: center; + top: 0px; + left: 0px; +} +[data-template=clock] [data-clock=digital] [data-clock-date] [data-clock-date-indicator] { + position: absolute; + display: inline-table; + text-align: center; + top: 0px; + left: 0px; + color: #AA0000; +} diff --git a/tmp/departure.css b/tmp/departure.css new file mode 100755 index 0000000000000000000000000000000000000000..31a2dc5094b7bee341e9e70024374f1f3a8c8c5e --- /dev/null +++ b/tmp/departure.css @@ -0,0 +1,171 @@ +[data-template=departure] [data-departure-view] { + position: relative; + width: 100%; + height: 100%; + background-color: #000000; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + overflow: hidden; + font-family: display; +} +[data-template=departure] [data-departure-view] [data-departure] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; +} +[data-template=departure] [data-departure-view] [data-departure] [data-transport] { + position: relative; + display: inline-table; + width: 100%; + white-space: nowrap; +} +[data-template=departure] [data-departure-view] [data-departure] [data-transport] [data-number] { + position: relative; + display: inline-table; + background-color: #FFFFFF; + color: #0000A0; + width: 10%; + height: 100%; + text-align: right; + padding: 0px 5px; +} +[data-template=departure] [data-departure-view] [data-departure] [data-transport] [data-name] { + position: relative; + display: inline-table; + background-color: #0000A0; + color: #FFFFFF; + height: 100%; + padding: 0px 5px; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] { + position: relative; + display: block; + width: 100%; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] { + position: relative; + display: list-item; + list-style: none; + width: 100%; + margin: 1px 0px 0px 0px; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] [data-time] { + position: relative; + max-width: 7.9%; + height: 100%; + float: left; + overflow: hidden; + padding: 0px 5px 0px 0px; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] [data-name] { + position: relative; + max-width: 54.17%; + height: 100%; + float: left; + overflow: hidden; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] [data-info] { + position: absolute; + width: 37.93%; + height: 100%; + right: 0px; + overflow: hidden; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] [data-info] marquee { + background-color: #FFFFFF; + color: #0000A0; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] [data-info] [data-css-marquee] { + position: relative; + overflow: hidden; + width: 100%; + height: 100%; + display: inline-block; +} +[data-template=departure] [data-departure-view] [data-departure] [data-stops] [data-stop] [data-info] [data-css-marquee] [data-css-marquee-text] { + position: absolute; + display: table-cell; + padding: 0px; + white-space: nowrap; + background-color: #FFFFFF; + color: #0000A0; + cursor: default; +} +[data-template=departure] [data-departure-view] [data-information] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + white-space: nowrap; +} +[data-template=departure] [data-departure-view] [data-information] [data-head] { + width: 100%; + background-color: #FFFFFF; + color: #0000A0; + text-align: center; +} +[data-template=departure] [data-departure-view] [data-information] [data-message] { + position: relative; + width: 100%; +} +[data-template=departure] [data-departure-view] [data-error] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + white-space: nowrap; + display: hidden; +} +[data-template=departure] [data-departure-view] [data-error] [data-head] { + width: 100%; + background-color: #FFFFFF; + color: #0000A0; + text-align: center; +} +[data-template=departure] [data-departure-view] [data-error] [data-message] { + width: 100%; +} +[data-template=departure] [data-departure-view] [data-vrrf-error] { + position: relative; + width: 100%; + background-color: #0000A0; + color: #FFFFFF; + border-style: solid; + border-width: 1px; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + white-space: nowrap; + display: hidden; +} +[data-template=departure] [data-departure-view] [data-vrrf-error] [data-head] { + width: 100%; + background-color: #FFFFFF; + color: #0000A0; + text-align: center; +} +[data-template=departure] [data-departure-view] [data-vrrf-error] [data-stop] { + width: 100%; +} +[data-template=departure] [data-departure-view] [data-vrrf-error] [data-message] { + width: 100%; +} diff --git a/tmp/departures.css b/tmp/departures.css new file mode 100755 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/tmp/scrollbar.css b/tmp/scrollbar.css new file mode 100755 index 0000000000000000000000000000000000000000..341afd56810406b8f1f16277f93119dfbb7e2d61 --- /dev/null +++ b/tmp/scrollbar.css @@ -0,0 +1,33 @@ +[data-template=scrollbar] [data-scrollbar-view] { + position: relative; + width: 100%; + height: 100%; + background-color: #000000; + border-style: solid; + border-color: #000000; + padding: 0px; + box-sizing: border-box; + overflow: hidden; + font-family: vrr; +} +[data-template=scrollbar] [data-scrollbar-view] marquee { + background-color: #000000; + color: #FFC000; +} +[data-template=scrollbar] [data-scrollbar-view] [data-css-marquee] { + position: relative; + overflow: hidden; + width: 100%; + height: 100%; + display: inline-block; + background-color: #000000; +} +[data-template=scrollbar] [data-scrollbar-view] [data-css-marquee] [data-css-marquee-text] { + position: absolute; + display: table-cell; + padding: 0px; + white-space: nowrap; + background-color: #000000; + color: #FFC000; + cursor: default; +} diff --git a/tmp/siog.css b/tmp/siog.css new file mode 100755 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391